MasterGH Опубликовано 7 февраля, 2016 Автор Поделиться Опубликовано 7 февраля, 2016 9 часов назад, Garik66 сказал: ты сам то не любитель записывать видео, хотя просил тебя несколько раз А что ты хотел на видео? Я уже ничего не помню Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 7 февраля, 2016 Поделиться Опубликовано 7 февраля, 2016 35 минуты назад, MasterGH сказал: А что ты хотел на видео? Я уже ничего не помню Ну несколько раз спрашивал точно, но тоже точно не помню где и что. Точно помню что, когда я решал проблему с телепортом для героев 6, ты сделал трейнми с дорожкой, его никто тогда не решил и ты выложил решение (сказав что с тобой не интересно, потому что сразу выкладываешь решение) описав его устно с картинками, там точно просил снять видео, но теперь почему-то в топике твоего трейми всего одно сообщение, хотя было много постов. А сейчас искать на форуме тяжеловато из-за поехавших ссылок и спойлеров. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 7 февраля, 2016 Поделиться Опубликовано 7 февраля, 2016 11 hours ago, Garik66 said: Error in line 4 stealth editex (00000000,00000000,1) This statement can not be compiled Garik66- You must have the Stealthedit plugin installed and enabled under settings. Here is the latest version: Spoiler Stealthedit 2.4 (64-bit support) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 7 февраля, 2016 Поделиться Опубликовано 7 февраля, 2016 1 минуту назад, METHOS сказал: You must have the Stealthedit plugin installed and enabled under settings. Here is the latest version: Thank you. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 17 февраля, 2016 Поделиться Опубликовано 17 февраля, 2016 METHOS сегодня обнаружил ошибку, при попытке написать скрипт для игры GUN. today encountered an error when trying to write a script for the game GUN. Скрытый текст 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 17 февраля, 2016 Поделиться Опубликовано 17 февраля, 2016 Yes, some of these issues have been discussed with MasterGH and others over at Cheat Engine forum. There are still some existing bugs that need to be resolved that go beyond my current skill level. Unfortunately, some of the injection issues seem to appear at random. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 февраля, 2016 Поделиться Опубликовано 18 февраля, 2016 10 час назад, METHOS сказал: Yes, some of these issues have been discussed with MasterGH and others over at Cheat Engine forum. METHOS всё равно спасибо. Попрошу у MasterGH ссылку на топик на форуме Cheat Engine. Nevertheless thank you. I ask to have MasterGH link to a topic in the forum Cheat Engine. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 18 февраля, 2016 Поделиться Опубликовано 18 февраля, 2016 The aamaker.lua file contains the support links for Cheat Engine and Game Hack Lab: [EN] Technical support : http://forum.cheatengine.org/viewtopic.php?p=5645967 [RU] Техническая поддержка: http://forum.gamehacklab.ru/topic/1415-plugin-aa-maker-sozdanie-aa-skriptov The link for Game Hack Lab has since changed, however, so it needs to be updated. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 февраля, 2016 Поделиться Опубликовано 18 февраля, 2016 11 минуту назад, METHOS сказал: Technical support : Спасибо. Почитаю, надеюсь что-нибудь пойму с помощью Гугл-переводчика. Thank you. I read hopefully understand something via Google translator. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 19 февраля, 2016 Автор Поделиться Опубликовано 19 февраля, 2016 Bugs: 1. We know nothing about AOBScanModule function. AOBScanModule is null. 2. Every time, over and over again compare (result == nil) result = AOBScanModule(str.._str, '+X-C-W') if result == nil then print(' ' ..'Sorry. Not find signature with AOBScanModule! :(') break end -------------------- alloc(someMem, 1000) registersymbol(someMem) someMem: mov edx,[eax+0C] // go to point here and call Aobscan from aamaker mov [esi+08],edx pop esi ret mov cl,[esi+01] and cl,01 or cl,1A DebugCode 2 Every time, over and over again 1. print('some label') 2. compare (result == nil) Скрытый текст function getFullSignature(startAddress, stopAddress) local addr = startAddress local stop = stopAddress local str = '' local _str = '' local count = -1 local result = '' local num = 2 local minNum = 4 if testBytes then num = 8 minNum = 12 end str,addr = getBytesForAOB(addr, stop, stop) print(str) print(addr) print('n1') if #str > minNum then result = AOBScan(str, '+X-C-W') if result == nil then print(' ' ..'Sorry. Not find signature with AOBScan! :(') else count = strings_getCount(result) object_destroy(result) end end print('n2') while count ~= 1 do str = str.._str print('g1') _str,addr = getBytesForAOB(addr, num) print('g2') result = AOBScan(str.._str, '+X-C-W') if result == nil then print(' ' ..'Sorry. Not find signature with AOBScan! :(') break end print('g3') count = strings_getCount(result) print('g4') object_destroy(result) print('g5') end print('n3') while count ~= 1 do print('m1') str = str.._str print('m2') _str,addr = getBytesForAOB(addr, num) print('m3') result = AOBScanModule(str.._str, '+X-C-W') if result == nil then print(' ' ..'Sorry. Not find signature with AOBScanModule! :(') break end print('m4') count = strings_getCount(result) print('m5') object_destroy(result) end print('n4') while count ~= 1 do str = str.._str _str,addr = getBytesForAOB(addr, num) result = AOBScanModule(str.._str, '+X-C-W') if result == nil then print(' ' ..'Sorry. Not find signature with AOBScanModule! :(') break end count = strings_getCount(result) object_destroy(result) end print('n5') if result == nil then return '' end local numOflast = #string.gsub(_str,'x','')/2 while (numOflast > 1) do local nL = math.floor(numOflast/2) local nR = numOflast - nL local _strL, _strR if testBytes then _strL = string.match(_str,string.rep('x*%x+x+',nL)) _strR = string.match(_str,string.rep('%x+x*',nR),#_strL) else _strL = string.sub(_str,1,2*nL) _strR = string.sub(_str,2*nL+1) end if strings_getCount(AOBScan(str.._strL, '+X-C-W')) == 1 then _str = _strL numOflast = nL else str = str.._strL _str = _strR numOflast = nR end end print('n6') str = str.._str if testBytes then str = string.lower(str) else str = str:gsub('(.)(.)', '%1%2 ') end str = str:gsub('x*%s*$','') return str end Log: Скрытый текст Цитата A1 A2 A3 8Bxxxx 2359299 n1 n2 g1 g2 Sorry. Not find signature with AOBScan! n3 m1 m2 m3 Error:C:\Program Files (x86)\Cheat Engine 6.5\autorun\aamaker.lua:396: attempt to call a nil value (global 'AOBScanModule') Error:[string "AOBScanModule("8B 50 0C 89 56 08 5E C3 8A 4E ..."]:1: attempt to call a nil value (global 'AOBScanModule') Maybe I'll fix it soon enough 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 19 февраля, 2016 Поделиться Опубликовано 19 февраля, 2016 Thanks, MasterGH. Good work! The AOBScanModule is beneficial because it allows you to scan ONLY the process that you specify. Because of this, the injection times are much, much faster than with AOBScan. Also, it allows for smaller AOB signatures, since all of the other modules are ignored. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 20 февраля, 2016 Поделиться Опубликовано 20 февраля, 2016 (изменено) 11 час назад, MasterGH сказал: Maybe I'll fix it soon enough MasterGH ждёмс исправления. Надеюсь, как поправишь, напишешь и по русски тоже. Изменено 20 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 22 февраля, 2016 Автор Поделиться Опубликовано 22 февраля, 2016 Обновление: 2.4.2 Скачать: перейти Репозиторий: перейти Описание: 1. Исправления ошибок 2. Изменены шаблоны, старый aobscan удален. 3. Изменен формат директив в шаблоны. Добавлены новые директивы. Привожу вместе со старыми {$AddressInjection} {$OriginalCode} {$CheatCode} {$Nops} {$ArrayOfbyte} {$ProcessName} {$Date} {$PrintLog} Посмотрите шаблон, разберетесь что к чему. 4. Шаблоны теперь похожи на те, что генерит последняя версия CE Скрытый текст SimpleCodeTemplate = [[ { Game : {$ProcessName} Version: 1.0 Date : {$Date} Author : [edit aamaker.lua and pastle Author] This script does blah blah blah Make by aamaker Lua plagin ;) } [ENABLE] {$AddressInjection}: {$CheatCode} [DISABLE] {$AddressInjection}: {$OriginalCode} {$PrintLog} ]] AACodeTemplate = [[ { Game : {$ProcessName} Version: 1.0 Date : {$Date} Author : [open aamaker.lua and pastle Author] This script does blah blah blah Make by aamaker Lua plagin ;) } [ENABLE] alloc(newMem, 2048) label(returnHere) newMem: {$CheatCode} ]]..stringSpaceBeforeinstruction..[[jmp returnHere {$AddressInjection}: ]]..stringSpaceBeforeinstruction..[[jmp newMem {$Nops} returnHere: [DISABLE] {$AddressInjection}: {$OriginalCode} dealloc(newMem) {$PrintLog} ]] AOBSCANModuleCodeTemplate = [[ { Game : {$ProcessName} Version: 1.0 Date : {$Date} Author : [open aamaker.lua and pastle Author] This script does blah blah blah Make by aamaker Lua plagin ;) } [ENABLE] aobscanmodule(INJECT,{$AddressInjection},{$ArrayOfbyte}) alloc(newmem,$1000) label(code) label(return) registersymbol(INJECT) newmem: code: {$CheatCode} ]]..stringSpaceBeforeinstruction..[[jmp return INJECT: ]]..stringSpaceBeforeinstruction..[[jmp code {$Nops} return: [DISABLE] INJECT: {$OriginalCode} unregistersymbol(INJECT) dealloc(newmem) {$PrintLog} ]] AOBSCANModuleStealthCodeTemplate = [[ { Game : {$ProcessName} Version: 1.0 Date : {$Date} Author : [open aamaker.lua and pastle Author] This script does blah blah blah Make by aamaker Lua plagin ;) Download stealthedit: http://www.cheatengine.org/temp/stealthedit2.4.zip } [ENABLE] aobscanmodule(INJECT,{$AddressInjection},{$ArrayOfbyte}) alloc(newmem,2048,{$AddressInjection}) stealtheditex(stealth,INJECT,1) label(originalcode) label(returnhere) label(stealthedit) registersymbol(stealthedit) //====================================================== newmem: {$CheatCode} originalcode: ]]..stringSpaceBeforeinstruction..[[jmp returnhere //enable: //db 0 //====================================================== stealth: stealthedit: ]]..stringSpaceBeforeinstruction..[[jmp newmem {$Nops} returnhere: [DISABLE] stealthedit: {$OriginalCode} unregistersymbol(stealthedit) dealloc(newmem) {$PrintLog} ]] 5. Наконец штука, которая не работала - отступы перед дизассемблерным кодом под метками. stringSpaceBeforeinstruction . Поставьте столько отступов сколько хотим и код в шаблоне будет смещен на эти отступы. Другие отступы правятся в шаблонах. Неудобно то, что свои шаблоны придется вручную вставлять в новые версии файла плагина. Точно не знаю, все ли правильно работает )) 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 MasterGH- Many thanks! I will start testing it. Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 (изменено) The AOB signatures are different when comparing Cheat Engine signatures and AAmaker signatures. Sometimes, the signatures are longer, and sometimes the signatures are shorter: (example #1): Spoiler AAmaker: aobscanmodule(aob_test,firefox.exe+257F,8B 41 04 89 46 04 8B C6 5E 5D C2 04 00 55 8B EC 56) Cheat Engine: aobscanmodule(INJECT,firefox.exe,8B 41 04 89 46 04) (example #2): Spoiler AAmaker: aobscanmodule(aob_test,firefox.exe+2544,8B 46 04 5F 3B 05 04) Cheat Engine: aobscanmodule(INJECT,firefox.exe,8B 46 04 5F 3B 05 04 B7 14 01) Thanks! EDIT : By the way, I added the 'cheatname' feature back in to the templates and changed a few things, if anyone is interested (note: I removed the 'cheatcode' feature, but you can add that back in, if you like): AOBScanModule: Spoiler //Target: firefox.exe //Author: ++METHOS [ENABLE] aobscanmodule(aob_ammo,firefox.exe+250A,8B 4D 08 C6 46 0C 00 85 C9 75 66 57 E8 CB) alloc(newmem_ammo,$1000) label(originalcode_ammo) label(return_ammo) registersymbol(aob_ammo) //================================================== newmem_ammo: originalcode_ammo: mov ecx,[ebp+08] mov byte ptr [esi+0C],00 jmp return_ammo //================================================== aob_ammo: jmp newmem_ammo nop nop return_ammo: [DISABLE] dealloc(newmem_ammo) aob_ammo: mov ecx,[ebp+08] mov byte ptr [esi+0C],00 unregistersymbol(aob_ammo) AOBScanModuleStealth: Spoiler //Target: firefox.exe //Author: ++METHOS [ENABLE] aobscanmodule(aob_health,firefox.exe+250A,8B 4D 08 C6 46 0C 00 85 C9 75 66 57 E8 CB) alloc(newmem_health,$1000) stealtheditex(stealth_health,aob_health,1) label(originalcode_health) label(returnhere_health) label(stealthedit_health) registersymbol(stealthedit_health) //====================================================== newmem_health: originalcode_health: mov ecx,[ebp+08] mov byte ptr [esi+0C],00 jmp returnhere_health //====================================================== stealth_health: stealthedit_health: jmp newmem_health nop nop returnhere_health: [DISABLE] dealloc(newmem_health) stealthedit_health: mov ecx,[ebp+08] mov byte ptr [esi+0C],00 unregistersymbol(stealthedit_health) Download: Spoiler http://forum.cheatengine.org/download.php?id=115889 Изменено 22 февраля, 2016 пользователем METHOS 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 8 часов назад, MasterGH сказал: Описание: MasterGH, круто!!! И это всё за один вечер - круто!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 Same as above...signatures are different...but AAMaker also does not support inject+offset. If 'Testing bytes' is not selected, the AOB signature should be the same as Cheat Engine's signature, I think: Cheat Engine: Spoiler aobscanmodule(INJECT,minesweeper.exe,F9 FF FF 48 8B C7 48 8B 5C 24 30) //code INJECT+06: jmp code return: registersymbol(INJECT) AAMaker: Spoiler aobscanmodule(aob_test,minesweeper.exe+8F659,48 8B 5C 24 30 48 83 C4 20 5F C3 CC CC CC CC CC CC FF 25 18) //code aob_test: jmp newmem_test return_test: Thanks! Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 4 минуты назад, METHOS сказал: AOB signature should be the same as Cheat Engine's signature METHOS Главное, чтобы сигнатура находила адрес инструкции. А похожа ли она на сигнатуру СЕ не важно мне кажется. The main thing is to find the addresses of the signature statement. And if it looks like on the CE signature it is not important I think. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 (изменено) 8 часов назад, MasterGH сказал: Описание: MasterGH Пока заметил одно неудобство в новой версии Плагина. Вот допустим я создал новый скрипт: Скрытый текст { Game : Tutorial-i386.exe Version: 1.0 Date : 02-22-16 Author : [open aamaker.lua and pastle Author] This script does blah blah blah Make by aamaker Lua plagin ;) } [ENABLE] aobscanmodule(INJECT,Tutorial-i386.exe+23920,89xxxxxxxxxx8dxxxxe8xxxxxxxx8bxxxx8bxxxxxxxxxxe8xxxxxxxx83) alloc(newmem,$1000) label(code) label(return) registersymbol(INJECT) newmem: code: mov [ebx+00000480],#100 jmp return INJECT: jmp code nop return: [DISABLE] INJECT: db 89 83 80 04 00 00 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Tutorial-i386.exe+23920 Tutorial-i386.exe+238FC: E8 0F9BFEFF - call 0040D410 Tutorial-i386.exe+23901: E8 1AB6FEFF - call 0040EF20 Tutorial-i386.exe+23906: 50 - push eax Tutorial-i386.exe+23907: 85 C0 - test eax,eax Tutorial-i386.exe+23909: 75 65 - jne 00423970 Tutorial-i386.exe+2390B: B8 05000000 - mov eax,00000005 Tutorial-i386.exe+23910: E8 5BADFEFF - call 0040E670 Tutorial-i386.exe+23915: 8D 50 01 - lea edx,[eax+01] Tutorial-i386.exe+23918: 8B 83 80040000 - mov eax,[ebx+00000480] Tutorial-i386.exe+2391E: 29 D0 - sub eax,edx // ---------- INJECTING HERE ---------- Tutorial-i386.exe+23920: 89 83 80040000 - mov [ebx+00000480],eax // ---------- DONE INJECTING ---------- Tutorial-i386.exe+23926: 8D 55 D4 - lea edx,[ebp-2C] Tutorial-i386.exe+23929: E8 52680100 - call 0043A180 Tutorial-i386.exe+2392E: 8B 55 D4 - mov edx,[ebp-2C] Tutorial-i386.exe+23931: 8B 83 6C040000 - mov eax,[ebx+0000046C] Tutorial-i386.exe+23937: E8 D4DA0600 - call 00491410 Tutorial-i386.exe+2393C: 83 BB 80040000 00 - cmp dword ptr [ebx+00000480],00 Tutorial-i386.exe+23943: 7D 2B - jnl 00423970 Tutorial-i386.exe+23945: A1 C4F15400 - mov eax,[0054F1C4] Tutorial-i386.exe+2394A: E8 A1290F00 - call 005162F0 Tutorial-i386.exe+2394F: B8 64000000 - mov eax,00000064 } Потом мне нужно создать ещё несколько, но везде название INJECT остаётся тем же, т.е. придётся вручную исправлять. В версия до 2.4.2 какое название мы вставляли в окошко "CheatName" так и назывался адрес инъекции. Я новую версию записал прямо поверх старой, теперь не могу посмотреть как это можно вернуть. Что мне нужно вставить в строчку: aobscanmodule(INJECT,{$AddressInjection},{$ArrayOfbyte}) вместо INJECT. Гугл-переводчик опять чудит: "open aamaker.lua and pastle Author" -> "открыт aamaker.lua и пестик Автор" Пестик - круто!!! Изменено 22 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 17 minutes ago, Garik66 said: METHOS Главное, чтобы сигнатура находила адрес инструкции. А похожа ли она на сигнатуру СЕ не важно мне кажется. The main thing is to find the addresses of the signature statement. And if it looks like on the CE signature it is not important I think. I agree. It's not important - usually. But it is important if / when the signature fails. 4 minutes ago, Garik66 said: Потом мне нужно создать ещё несколько, но везде название INJECT остаётся тем же, т.е. придётся вручную исправлять. В версия до 2.4.2 какое название мы вставляли в окошко "CheatName" так и назывался адрес инъекции. Я новую версию записал прямо поверх старой, теперь не могу посмотреть как это можно вернуть. See my previous post. I provided a new plugin that includes this feature. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 (изменено) 13 минуты назад, METHOS сказал: See my previous post. I provided a new plugin that includes this feature Я обнаружил у Вас ошибки, и визуально, как выглядит скрипт у MasterGH мне больше понравилось. Мне нужно из вашего плагина только строчка: aobscanmodule(INJECT,{$AddressInjection},{$ArrayOfbyte}) Да кстати сейчас её посмотрю. Всё нашёл - {$cheatName} вместо INJECT. I found you have mistakes, and visually looks like a script from MasterGH I liked. I need out of your plug-in line only: aobscanmodule (INJECT, {$ AddressInjection}, {$ ArrayOfbyte}) By the way I'll see her. All found - {$ cheatName} instead INJECT. Изменено 22 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
METHOS Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 Please see below. You can change it however you like. Spoiler https://www.sendspace.com/file/mdtg3x 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 (изменено) 2 часа назад, METHOS сказал: Please see below. You can change it however you like. Cпасибо!!! Я уже сделал под себя. Thank you!!! I have already done for themselves. Пример ( Example): Скрытый текст { Game : Tutorial-i386.exe Version: 1.0 Date : 02-22-16 Author : Garik66 This script does blah blah blah Make by aamaker Lua plagin :) Link - http://forum.gamehacklab.ru/index.php?/files/file/329-ce-plugin-aa-maker/ } [ENABLE] aobscanmodule(TestPlagin_v_2_4_2,Tutorial-i386.exe+23920,89xxxxxxxxxx8dxxxxe8xxxxxxxx8bxxxx8bxxxxxxxxxxe8xxxxxxxx83) alloc(newmem,$1000) label(code) label(return) registersymbol(TestPlagin_v_2_4_2) newmem: code: mov [ebx+00000480],#100 jmp return TestPlagin_v_2_4_2: jmp newmem nop return: [DISABLE] TestPlagin_v_2_4_2: db 89 83 80 04 00 00 unregistersymbol(TestPlagin_v_2_4_2) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Tutorial-i386.exe+23920 Tutorial-i386.exe+238FC: E8 0F9BFEFF - call 0040D410 Tutorial-i386.exe+23901: E8 1AB6FEFF - call 0040EF20 Tutorial-i386.exe+23906: 50 - push eax Tutorial-i386.exe+23907: 85 C0 - test eax,eax Tutorial-i386.exe+23909: 75 65 - jne 00423970 Tutorial-i386.exe+2390B: B8 05000000 - mov eax,00000005 Tutorial-i386.exe+23910: E8 5BADFEFF - call 0040E670 Tutorial-i386.exe+23915: 8D 50 01 - lea edx,[eax+01] Tutorial-i386.exe+23918: 8B 83 80040000 - mov eax,[ebx+00000480] Tutorial-i386.exe+2391E: 29 D0 - sub eax,edx // ---------- INJECTING HERE ---------- Tutorial-i386.exe+23920: 89 83 80040000 - mov [ebx+00000480],eax // ---------- DONE INJECTING ---------- Tutorial-i386.exe+23926: 8D 55 D4 - lea edx,[ebp-2C] Tutorial-i386.exe+23929: E8 52680100 - call 0043A180 Tutorial-i386.exe+2392E: 8B 55 D4 - mov edx,[ebp-2C] Tutorial-i386.exe+23931: 8B 83 6C040000 - mov eax,[ebx+0000046C] Tutorial-i386.exe+23937: E8 D4DA0600 - call 00491410 Tutorial-i386.exe+2393C: 83 BB 80040000 00 - cmp dword ptr [ebx+00000480],00 Tutorial-i386.exe+23943: 7D 2B - jnl 00423970 Tutorial-i386.exe+23945: A1 C4F15400 - mov eax,[0054F1C4] Tutorial-i386.exe+2394A: E8 A1290F00 - call 005162F0 Tutorial-i386.exe+2394F: B8 64000000 - mov eax,00000064 } Изменено 22 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 февраля, 2016 Поделиться Опубликовано 22 февраля, 2016 MasterGH вопрос: вот участок кода в плагине: Скрытый текст if script ~= '' then script = string.gsub(script,"{$ArrayOfbyte}", strSignature) script = string.gsub(script,"{$AddressInjection}", getNameFromAddress(address)) script = string.gsub(script,"{$CheatCode}", cheatCode) script = string.gsub(script,"{$NscriptCount}", scriptCount) script = string.gsub(script,"{$cheatName}", cheatName) if origCodeType == true then script = string.gsub(script,"{$OriginalCode}", originalBytes) else script = string.gsub(script,"{$OriginalCode}", originalCode) end if nops ~= '' then script = string.gsub(script,"{$Nops}", nops) else script = string.gsub(script,'\n?{$Nops}', '') end if cheatName ~= '' then scriptName = cheatName if string.find(cheatName, '^%d') ~= nil then cheatName = '_'..cheatName end else scriptName = 'New Script '..scriptCount cheatName = 'address'..scriptCount scriptCount = scriptCount + 1 end script = string.gsub(script,'{$Date}', string.gsub(os.date('%x'),'/','-')) script = string.gsub(script,'{$ProcessName}', process) script = string.gsub(script,'{$PrintLog}', GetLog(getNameFromAddress(address), getNameFromAddress(length + address))) local newTableEntry = AddAARecord(script,scriptName) OpenAAEditor(newTableEntry) end Но почему то вот эта строчка: cheatName = 'address'..scriptCount не срабатывает. Может я ошибаюсь и не там смотрю. Объясню допустим я хочу написать скрипт, но не написал в окошке cheatName ничего, я хотел сделать, чтобы в этом случае по умолчанию было бы как в CE, т.е. подставлялось INJECT, но пока у меня не получилось этого сделать, а скрипт получается в этом случае у меня такой: Скрытый текст { Game : Tutorial-i386.exe Version: 1.0 Date : 02-22-16 Author : Garik66 This script does blah blah blah Make by aamaker Lua plagin :) Link - http://forum.gamehacklab.ru/index.php?/files/file/329-ce-plugin-aa-maker/ } [ENABLE] aobscanmodule(,Tutorial-i386.exe+23920,89xxxxxxxxxx8dxxxxe8xxxxxxxx8bxxxx8bxxxxxxxxxxe8xxxxxxxx83) alloc(newmem,$1000) label(code) label(return) registersymbol() newmem: code: mov [ebx+00000480],#100 jmp return : jmp newmem nop return: [DISABLE] : db 89 83 80 04 00 00 unregistersymbol() dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Tutorial-i386.exe+23920 Tutorial-i386.exe+238FC: E8 0F9BFEFF - call 0040D410 Tutorial-i386.exe+23901: E8 1AB6FEFF - call 0040EF20 Tutorial-i386.exe+23906: 50 - push eax Tutorial-i386.exe+23907: 85 C0 - test eax,eax Tutorial-i386.exe+23909: 75 65 - jne 00423970 Tutorial-i386.exe+2390B: B8 05000000 - mov eax,00000005 Tutorial-i386.exe+23910: E8 5BADFEFF - call 0040E670 Tutorial-i386.exe+23915: 8D 50 01 - lea edx,[eax+01] Tutorial-i386.exe+23918: 8B 83 80040000 - mov eax,[ebx+00000480] Tutorial-i386.exe+2391E: 29 D0 - sub eax,edx // ---------- INJECTING HERE ---------- Tutorial-i386.exe+23920: 89 83 80040000 - mov [ebx+00000480],eax // ---------- DONE INJECTING ---------- Tutorial-i386.exe+23926: 8D 55 D4 - lea edx,[ebp-2C] Tutorial-i386.exe+23929: E8 52680100 - call 0043A180 Tutorial-i386.exe+2392E: 8B 55 D4 - mov edx,[ebp-2C] Tutorial-i386.exe+23931: 8B 83 6C040000 - mov eax,[ebx+0000046C] Tutorial-i386.exe+23937: E8 D4DA0600 - call 00491410 Tutorial-i386.exe+2393C: 83 BB 80040000 00 - cmp dword ptr [ebx+00000480],00 Tutorial-i386.exe+23943: 7D 2B - jnl 00423970 Tutorial-i386.exe+23945: A1 C4F15400 - mov eax,[0054F1C4] Tutorial-i386.exe+2394A: E8 A1290F00 - call 005162F0 Tutorial-i386.exe+2394F: B8 64000000 - mov eax,00000064 } Помоги пожалуйста сделать. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 22 февраля, 2016 Автор Поделиться Опубликовано 22 февраля, 2016 Ребята, обновление будет на следующей недели, если не поменяются планы. Все пожелания учту. По вопросам сейчас не могу помочь. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения