-
Постов
5 750 -
Зарегистрирован
-
Победитель дней
292
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Garik66
-
Так как потом меняет значение по адресу. Попробуй так:aobscanmodule(ASDF,RavensCry.exe,39 86 20 11 00 00) // should be unique alloc(newmem,$1000) registersymbol(ASDF) label(return) newmem: xor [esi+00001120],5a63cd29 mov [esi+00001120],#99 xor [esi+00001120],5a63cd29 mov eax,[esi+00001120] cmp [esi+00001120],eax jmp return ASDF: jmp newmem nop return: [DISABLE] ASDF: db 39 86 20 11 00 00 unregistersymbol(ASDF) dealloc(newmem) Установлена версия 1.1
-
xor [esi+00001120],5a63cd29mov [esi+00001120],#99xor [esi+00001120],5a63cd29Нужно добавить вот это. aobscanmodule(ASDF,RavensCry.exe,39 86 20 11 00 00) // should be uniquealloc(newmem,$1000)registersymbol(ASDF)label(return)newmem: xor [esi+00001120],5a63cd29 mov [esi+00001120],#99 xor [esi+00001120],5a63cd29 cmp [esi+00001120],eax jmp returnASDF: jmp newmem nopreturn:[DISABLE]ASDF: db 39 86 20 11 00 00unregistersymbol(ASDF)dealloc(newmem)
-
Попробуй так: aobscanmodule(ASDF,RavensCry.exe,39 86 20 11 00 00) // should be uniquealloc(newmem,$1000)registersymbol(ASDF)label(return)newmem: mov [esi+00001120],#99 cmp [esi+00001120],eax jmp returnASDF: jmp newmem nopreturn:[DISABLE]ASDF: db 39 86 20 11 00 00unregistersymbol(ASDF)dealloc(newmem)
-
Dison, xor ebp,ebp это не шифрование, а обнуление регистра.
-
У меня версия v. 1.1. Другую качать не хочется. А как ты с одной версии, на другую версию находишь адреса?
-
Не заметил, наверное объединилась с таблицей, которую давал LIRW. Перезалил.
-
Отлично раздел смотрится.
-
Тебе тоже спасибо. А для ленивых, вот таблица с 4 опциями для игры версии 1.01 ravenscry_v1.CT
-
[ENABLE]alloc(newMem, 64)label(returnHere)newMem:xor [ecx+12],6a39 // Расшифровываем кол-во скил-поинтов, 6a39 - константаadd [ecx+12],#10 // Прибавляем 10xor [ecx+12],6a39 // И опять зашифровываем.movsx ebp,word ptr [ecx+12]lea edi,[ebx+00000590]jmp returnHereravenscry.exe+4FD883:jmp newMemdb 90 90 90 90 90returnHere:[DISABLE]ravenscry.exe+4FD883:movsx ebp,word ptr [ecx+12]//В [ecx+12] лежат количество скил-поинтов.lea edi,[ebx+00000590]dealloc(newMem)
-
Я же тебе говорил, посмотри мои два видео, там довольно подробно и прочитай комментарии в скриптах.
-
Заметил очепятку, если на млн., то нужно 0 дописать сюда: mov eax,#100000 // сюдаЭто для новичков, а то потом будут искать: "Говорили же мильон..... " MasterGH, тоже позволил себе, подправить твой скрипт (в таблице СЕ не красиво смотрится очень большая цифра при включённом скрипте, не похожая на 100000.)
-
В свете обсуждения здесь, переделал скрипты (отсюда.). Исправления: GodMod: 1. Для такелажа (жёлтая полоска) и экипажа (зелёная полоска) записываются максимальные значения. 2. Для корпуса (красная полоска), т.к. максимального значения не нашёл, оставил прежним. OneHitKill: 1. Для такелажа (жёлтая полоска) и экипажа (зелёная полоска) записывается 0 сразу, после включения скрипта, соответственно вражеский корабль не уплывает и ни кто не стреляет, так что спокойно подплываем к кораблю. 2. Для корпуса (красная полоска) 0 с одного выстрела. Сannon: 1. Подправил скрипт скорострельности, теперь скрипт используют именно игровые значения. Скрипты для версии игры 1.01 Отлично. можно дальше не ломать. [ENABLE]alloc(newMem, 64)alloc(newMem1, 64)alloc(newMem2, 64)label(returnHere)label(returnHere1)label(returnHere2)label(OK1)label(OK2)newMem:cmp edx,0 // У врага 0jne @f // Если наш, то не записываем новое значение жизни (xmm2)mov [esi+000002DC],0 // Если враг, то обнуляем ему жизнь.@@:jmp returnHerenewMem1:cmp ebx,0jne @ffild dword ptr [eax+18]fstp dword ptr [eax+14]jmp OK1@@:mov [eax+14],0OK1:movss xmm0,[eax+14]jmp returnHere1newMem2:cmp ebx,0jne @ffild dword ptr [ecx+000002B0]fstp dword ptr [ecx+000002B4]jmp OK2@@:mov dword ptr [ecx+000002B4],(float)0OK2:fld dword ptr [ecx+000002B4]jmp returnHere2ravenscry.exe+4CEA21:jmp newMemdb 90 90 90returnHere:ravenscry.exe+57FFF5:jmp newMem1returnHere1:ravenscry.exe+57F060:jmp newMem2nopreturnHere2:[DISABLE]ravenscry.exe+4CEA21:movss [esi+000002DC],xmm2 // Корпус (красная полоска)ravenscry.exe+57FFF5:movss xmm0,[eax+14] // Экипаж (зелёная полоска)ravenscry.exe+57F060:fld dword ptr [ecx+000002B4] // Такелаж (жёлтая полоска)dealloc(newMem)dealloc(newMem1)dealloc(newMem2) [ENABLE]alloc(newMem3, 64)alloc(newMem4, 64)label(returnHere3)label(returnHere4)newMem3:sub [ecx+2C],0jmp ravenscry.exe+2D621Ajmp returnHere3newMem4:fld [ecx+00000328] // Левыйfstp [ecx+0000032c] // бортfld [ecx+00000348] // Правыйfstp [ecx+0000034c] // бортmovss xmm0,[ecx+eax*8+0000031C]jmp returnHere4ravenscry.exe+2D620C:jmp newMem3returnHere3:ravenscry.exe+4C333C:jmp newMem4db 90 90 90 90returnHere4:[DISABLE]ravenscry.exe+2D620C: // Снарядыsub [ecx+2C],eaxjmp ravenscry.exe+2D621Aravenscry.exe+4C333C:movss xmm0,[ecx+eax*8+0000031C] // Скорострельностьdealloc(newMem3)dealloc(newMem4)
-
Значит, не правильно используешь константу, пересмотри мои два видео. Там нужно примерно так. 1. Загружаем в регистр константу (с помощью которой разрабы XORируют значение). Пункт 1. не нужен, если константа не меняется. 2. В адресе зашифрованного значения раскодируем это значение с помощью регистра (или константы). 3. Прибавляем сколько нам нужно. 4. Кодируем назад.
-
Собственно вопрос в названии темы. 1. Могу я допустим записать просто так: i: dd 0mov i, dword ptr [eax+08] // Допустим в [eax+08] лежит integer значениеmov [eax+04],(float)i // А в [eax+04] нужно записать это значение во float.2. Если нет, то как правильно? 3. Если да, то могу ли я использовать вместо i регистр? Допустим так: push ebxmov ebx, dword ptr [eax+08] // Допустим в [eax+08] лежит integer значениеmov [eax+04],(float)ebx // А в [eax+04] нужно записать это значение во float.pop ebx4. Если да, то может есть всё-таки короче запись.
-
Привет Baracuda, я же написал: И во-вторых, чтобы мне взломать опыт, мне нужно его получить, а чтобы начать получать опыт - мне нужно выжить (и ещё изучить интерфейс игры и управление), так что мне всё равно придётся взламывать почти всё. Нет MasterGH, опыт там точно закодирован.
-
Baracuda, без знания английского мне всё равно сложно. Не понятно, что делать пришлось не много посмотреть видео-прохождение. Не понятно на какие кнопки жать. Вот пока написал скрипт на жизнь корабля и потопление вражеского корабля с одного попадания. Я знаю, что и ты и LIRW уже написали такие скрипты, но пусть будет на выбор: [ENABLE]alloc(newMem, 64)alloc(newMem1, 64)alloc(newMem2, 64)label(returnHere)label(returnHere1)label(returnHere2)label(OK2)newMem:cmp edx,0 // У врага 0jne @f // Если наш, то не записываем новое значение жизни (xmm2)mov [esi+000002DC],0 // Если враг, то обнуляем ему жизнь.@@:jmp returnHerenewMem1:cmp [ecx+8],#18je @fmov [ecx+14],0@@:jmp returnHere1newMem2:cmp ebx,0jne @fmov dword ptr [ecx+000002B4],(float)20jmp OK2@@:mov dword ptr [ecx+000002B4],(float)0OK2:fld dword ptr [ecx+000002B4]jmp returnHere2ravenscry.exe+4CEA21:jmp newMemdb 90 90 90returnHere:ravenscry.exe+2D3E31:jmp newMem1returnHere1:ravenscry.exe+57F060:jmp newMem2nopreturnHere2:[DISABLE]ravenscry.exe+4CEA21:movss [esi+000002DC],xmm2 // Корпус (красная полоска)ravenscry.exe+2D3E31:movss [ecx+14],xmm0 // Экипаж (зелёная полоска)ravenscry.exe+57F060:fld dword ptr [ecx+000002B4] // Такелаж (жёлтая полоска)dealloc(newMem)dealloc(newMem1)dealloc(newMem2) [ENABLE]alloc(newMem3, 64)alloc(newMem4, 64)label(returnHere3)label(returnHere4)newMem3:sub [ecx+2C],0jmp ravenscry.exe+2D621Ajmp returnHere3newMem4:mov [ecx+eax*8+0000031C],(float)100movss xmm0,[ecx+eax*8+0000031C]jmp returnHere4ravenscry.exe+2D620C:jmp newMem3returnHere3:ravenscry.exe+4C333C:jmp newMem4db 90 90 90 90returnHere4:[DISABLE]ravenscry.exe+2D620C: // Снарядыsub [ecx+2C],eaxjmp ravenscry.exe+2D621Aravenscry.exe+4C333C:movss xmm0,[ecx+eax*8+0000031C] // Скорострельностьdealloc(newMem3)dealloc(newMem4)
-
Не буду ждать проверки. LIRW, плюс за скорость .
-
Ок! Пусть посмотрит сперва первое видео, если нужно будет снимешь и второе.
-
Так это и есть через торрент. Если взломал опыт, может я тогда не буду качать? Зачем два урока на одну тему?
-
Что-то Акадо сегодня не радует - скорость закачки ну очень маленькая, а может раздающих ещё мало. MediGet (с помощью чего качаю) пишет 5 с половиной часов.
-