Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 16:54, Garik66 сказал: Попробуй качнуть это и с помощью него сделать оба скрипта. Показать Сделал. Работает. Очки не уменьшаются. Почитал про "test" Честно говоря понял только то что он производит вычисления значений, но не записывает результат, а сравнивает. Можно если не затруднит показать какой - нибудь пример решения. Но не к данному случаю. Хочу сам понять как обойти этот "test eax,eax" Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 июня, 2017 Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 17:24, Strajder сказал: Хочу сам понять как обойти этот "test eax,eax" Показать Тебе в твоём случае не нужно его обходить, а сделать как я и написал тут. Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 17:26, Garik66 сказал: Тебе в твоём случае не нужно его обходить, а сделать как я и написал тут. Показать Спасибо. Буду пробовать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 (изменено) Изменил Показать контент { Game : Thea.exe Version: Date : 2017-06-14 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(INJECT,1B 8B 43 18 48 89 43 18) // should be unique aobscan(INJECT1,2F 8B 43 18 48 89 43 18) // should be unique alloc(newmem,$1000) alloc(newmem1,$1000) registersymbol(INJECT) registersymbol(INJECT1) label(code) label(code1) label(return) label(return1) newmem: inc [ebx+18] code: mov eax,[ebx+18] dec eax mov [ebx+18],eax jmp return newmem1: inc [ebx+18] code1: mov eax,[ebx+18] dec eax mov [ebx+18],eax jmp return1 INJECT+01: jmp newmem nop nop return: INJECT1+01: jmp newmem1 nop nop return1: [DISABLE] INJECT+01: db 8B 43 18 48 89 43 18 INJECT1+01: db 8B 43 18 48 89 43 18 unregistersymbol(INJECT) unregistersymbol(INJECT1) dealloc(newmem) dealloc(newmem1) { // ORIGINAL CODE - INJECTION POINT: 0737AE89 ""+737AE6F: 8B 05 30 B2 5C 06 - mov eax,[065CB230] ""+737AE75: 51 - push ecx ""+737AE76: 57 - push edi ""+737AE77: FF 75 0C - push [ebp+0C] ""+737AE7A: 50 - push eax ""+737AE7B: 39 00 - cmp [eax],eax ""+737AE7D: E8 46 8D 00 00 - call 07383BC8 ""+737AE82: 83 C4 10 - add esp,10 ""+737AE85: 85 C0 - test eax,eax ""+737AE87: 74 1B - je 0737AEA4 // ---------- INJECTING HERE ---------- ""+737AE89: 8B 43 18 - mov eax,[ebx+18] ""+737AE8C: 48 - dec eax ""+737AE8D: 89 43 18 - mov [ebx+18],eax // ---------- DONE INJECTING ---------- ""+737AE90: 8B 05 30 B2 5C 06 - mov eax,[065CB230] ""+737AE96: 83 EC 0C - sub esp,0C ""+737AE99: 50 - push eax ""+737AE9A: 39 00 - cmp [eax],eax ""+737AE9C: E8 E7 06 00 00 - call 0737B588 ""+737AEA1: 83 C4 10 - add esp,10 ""+737AEA4: 8B 43 18 - mov eax,[ebx+18] ""+737AEA7: 85 C0 - test eax,eax ""+737AEA9: 0F 85 43 00 00 00 - jne 0737AEF2 ""+737AEAF: 83 EC 08 - sub esp,08 } Изменено 13 июня, 2017 пользователем Strajder Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 июня, 2017 Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 17:54, Strajder сказал: но пришлось писать в два адреса. Показать Я же говорил про последнюю проверку: 0777B49C - 8B 43 18 - mov eax,[ebx+18] // попробуй именно здесь написать, может будет нужен один скрипт 0777B49F - 85 C0 - test eax,eax Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 (изменено) В 13.06.2017 в 18:01, Garik66 сказал: Я же говорил про последнюю проверку: 0777B49C - 8B 43 18 - mov eax,[ebx+18] // попробуй именно здесь написать, может будет нужен один скрипт 0777B49F - 85 C0 - test eax,eax Показать Поздно уже) Час ночи. Затупил ... Хотя как ни странно с 1 скриптом не работает.. (Либо 1 либо 2) С двумя да. Теперь понятно почему.) Первый отвечает за левую часть карт. А второй за правую. Изменено 13 июня, 2017 пользователем Strajder Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 июня, 2017 Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 18:04, Strajder сказал: Хотя как ни странно с 1 скриптом не работает.. Показать Ты меня так и не понял: Показать контент 0777B3E6 - FF 75 F0 - push [ebp-10] 0777B3E9 - 57 - push edi 0777B3EA - FF 75 0C - push [ebp+0C] 0777B3ED - 50 - push eax 0777B3EE - 39 00 - cmp [eax],eax 0777B3F0 - E8 23040000 - call 0777B818 0777B3F5 - 83 C4 10 - add esp,10 { 16 } 0777B3F8 - 85 C0 - test eax,eax 0777B3FA - 74 2F - je 0777B42B 0777B3FC - 8B 43 18 - mov eax,[ebx+18] // Я имел ввиду не здесь ///////////////////////////////////////////////////////////////////////////////////////////// 0777B3FF - 48 - dec eax ///////////////////////////////////////////////////////////////////////////////////////////// 0777B400 - 89 43 18 - mov [ebx+18],eax 0777B403 - 8B 05 30B2A006 - mov eax,[06A0B230] { [1F536F00] } 0777B409 - 83 EC 0C - sub esp,0C { 12 } 0777B40C - 50 - push eax 0777B40D - 39 00 - cmp [eax],eax 0777B40F - E8 AC48FFFF - call 0776FCC0 0777B414 - 83 C4 10 - add esp,10 { 16 } 0777B417 - 8B 05 30B2A006 - mov eax,[06A0B230] { [1F536F00] } 0777B41D - 83 EC 0C - sub esp,0C { 12 } 0777B420 - 50 - push eax 0777B421 - 39 00 - cmp [eax],eax 0777B423 - E8 58070000 - call 0777BB80 0777B428 - 83 C4 10 - add esp,10 { 16 } 0777B42B - 89 7D DC - mov [ebp-24],edi 0777B42E - 89 7D E0 - mov [ebp-20],edi 0777B431 - 85 FF - test edi,edi 0777B433 - 74 1D - je 0777B452 0777B435 - 8B 45 DC - mov eax,[ebp-24] 0777B438 - 8B 00 - mov eax,[eax] 0777B43A - 8B 00 - mov eax,[eax] 0777B43C - 8B 40 08 - mov eax,[eax+08] 0777B43F - 8B 40 08 - mov eax,[eax+08] 0777B442 - 33 C9 - xor ecx,ecx 0777B444 - 3D 28BD001C - cmp eax,1C00BD28 { [1C00BD28] } 0777B449 - 8B 45 E0 - mov eax,[ebp-20] 0777B44C - 0F45 C1 - cmovne eax,ecx 0777B44F - 89 45 E0 - mov [ebp-20],eax 0777B452 - 8B 45 E0 - mov eax,[ebp-20] 0777B455 - 89 45 E8 - mov [ebp-18],eax 0777B458 - 83 7D E0 00 - cmp dword ptr [ebp-20],00 { 0 } 0777B45C - 74 3E - je 0777B49C 0777B45E - 8B 45 E8 - mov eax,[ebp-18] 0777B461 - 8B 48 08 - mov ecx,[eax+08] 0777B464 - 89 4D E4 - mov [ebp-1C],ecx 0777B467 - 8B 05 30B2A006 - mov eax,[06A0B230] { [1F536F00] } 0777B46D - 51 - push ecx 0777B46E - 57 - push edi 0777B46F - FF 75 0C - push [ebp+0C] 0777B472 - 50 - push eax 0777B473 - 39 00 - cmp [eax],eax 0777B475 - E8 AEAF0000 - call 07786428 0777B47A - 83 C4 10 - add esp,10 { 16 } 0777B47D - 85 C0 - test eax,eax 0777B47F - 74 1B - je 0777B49C 0777B481 - 8B 43 18 - mov eax,[ebx+18] // и не здесь ///////////////////////////////////////////////////////////////////////////////////////////// 0777B484 - 48 - dec eax ///////////////////////////////////////////////////////////////////////////////////////////// 0777B485 - 89 43 18 - mov [ebx+18],eax 0777B488 - 8B 05 30B2A006 - mov eax,[06A0B230] { [1F536F00] } 0777B48E - 83 EC 0C - sub esp,0C { 12 } 0777B491 - 50 - push eax 0777B492 - 39 00 - cmp [eax],eax 0777B494 - E8 E7060000 - call 0777BB80 0777B499 - 83 C4 10 - add esp,10 { 16 } 0777B49C - 8B 43 18 - mov eax,[ebx+18] // а именно здесь попробовать написать скрипт. 0777B49F - 85 C0 - test eax,eax Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 Ошибку понял, завтра исправлю. Garik66 Спасибо еще раз. Пойду спать. Завтра еще на работе пахать и пахать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 июня, 2017 Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 18:30, Strajder сказал: Завтра еще на работе пахать и пахать. Показать Мну тоже. Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 13 июня, 2017 Автор Поделиться Опубликовано 13 июня, 2017 (изменено) Доделать до конца и идти спать Показать контент { Game : Thea.exe Version: Date : 2017-06-14 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(INJECTq,8B 43 18 85 C0 0F 85 43) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [ebx+18],#1 code: mov eax,[ebx+18] test eax,eax jmp return INJECTq: jmp newmem return: registersymbol(INJECTq) [DISABLE] INJECTq: db 8B 43 18 85 C0 unregistersymbol(INJECTq) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 0737AEA4 ""+737AE87: 74 1B - je 0737AEA4 ""+737AE89: 8B 43 18 - mov eax,[ebx+18] ""+737AE8C: 48 - dec eax ""+737AE8D: 89 43 18 - mov [ebx+18],eax ""+737AE90: 8B 05 30 B2 5C 06 - mov eax,[065CB230] ""+737AE96: 83 EC 0C - sub esp,0C ""+737AE99: 50 - push eax ""+737AE9A: 39 00 - cmp [eax],eax ""+737AE9C: E8 E7 06 00 00 - call 0737B588 ""+737AEA1: 83 C4 10 - add esp,10 // ---------- INJECTING HERE ---------- ""+737AEA4: 8B 43 18 - mov eax,[ebx+18] ""+737AEA7: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+737AEA9: 0F 85 43 00 00 00 - jne 0737AEF2 ""+737AEAF: 83 EC 08 - sub esp,08 ""+737AEB2: 6A 00 - push 00 ""+737AEB4: 53 - push ebx ""+737AEB5: E8 6E 75 FF FF - call 07372428 ""+737AEBA: 83 C4 10 - add esp,10 ""+737AEBD: 85 C0 - test eax,eax ""+737AEBF: 75 14 - jne 0737AED5 ""+737AEC1: 83 EC 08 - sub esp,08 ""+737AEC4: 6A 01 - push 01 } Всем добрых. Изменено 13 июня, 2017 пользователем Strajder 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 июня, 2017 Поделиться Опубликовано 13 июня, 2017 В 13.06.2017 в 18:42, Strajder сказал: Доделать до конца и идти спать Показать Правильный подход. Тоже так предпочитаю делать. А новый скрипт то работает? а то не написал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 14 июня, 2017 Автор Поделиться Опубликовано 14 июня, 2017 (изменено) В 13.06.2017 в 19:03, Garik66 сказал: Правильный подход. Тоже так предпочитаю делать. А новый скрипт то работает? а то не написал. Показать Да скрипт работает. Но записал через mov, ибо через inc или add при выставлении карт идет увеличение значений, что не есть хорошо. Ну и еще 1 нюанс: Скрипт активируется только после того, как выставить одну карту. Видимо код срабатывает и прописывает себя, а до этого нужных сигнатур нет. Ну а дальше все норм. Изменено 14 июня, 2017 пользователем Strajder Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 14 июня, 2017 Автор Поделиться Опубликовано 14 июня, 2017 Ну и пожалуй последний гвоздь в игру Thea: The Awakening Выложу сразу все скрипты, может кому нужно будет, или трейнер кто соберет. Карточные скрипты: Здоровье: Показать контент { Game : Thea.exe Version: Date : 2017-06-12 Author : MrAntiFun This script does blah blah blah } [ENABLE] aobscan(HP,8B C8 39 09 8B 40 0C 50 DB 04 24 D9 1C 24 D9 04 24 83 C4 04 D9 E8) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(HP) newmem: push esi mov esi,[ebp+08] cmp byte ptr [esi+29],01 pop esi jne code mov [eax+0C],0000270F code: cmp [ecx],ecx mov eax,[eax+0C] jmp return HP+02: jmp newmem return: [DISABLE] HP+02: db 8B C8 39 09 8B 40 0C unregistersymbol(HP) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 0EBFDDFF ""+EBFDDE3: 83 EC 18 - sub esp,18 ""+EBFDDE6: 8B 45 08 - mov eax,[ebp+08] ""+EBFDDE9: 8B 40 08 - mov eax,[eax+08] ""+EBFDDEC: 83 EC 08 - sub esp,08 ""+EBFDDEF: 6A 01 - push 01 ""+EBFDDF1: 50 - push eax ""+EBFDDF2: 39 00 - cmp [eax],eax ""+EBFDDF4: E8 4F F0 FF FF - call 0EBFCE48 ""+EBFDDF9: 83 C4 10 - add esp,10 ""+EBFDDFC: 8B 40 0C - mov eax,[eax+0C] ""+EBFDDFF: 8B C8 - mov ecx,eax // ---------- INJECTING HERE ---------- ""+EBFDE01: 39 09 - cmp [ecx],ecx // ---------- DONE INJECTING ---------- ""+EBFDE03: 8B 40 0C - mov eax,[eax+0C] ""+EBFDE06: 50 - push eax ""+EBFDE07: DB 04 24 - fild dword ptr [esp] ""+EBFDE0A: D9 1C 24 - fstp dword ptr [esp] ""+EBFDE0D: D9 04 24 - fld dword ptr [esp] ""+EBFDE10: 83 C4 04 - add esp,04 ""+EBFDE13: D9 E8 - fld1 ""+EBFDE15: 8B 45 08 - mov eax,[ebp+08] ""+EBFDE18: D9 40 20 - fld dword ptr [eax+20] ""+EBFDE1B: DE E9 - fsubp st(1),st(0) ""+EBFDE1D: DE C9 - fmulp st(1),st(0) } Броня: Показать контент { Game : Thea.exe Version: Date : 2017-06-11 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(ARMOR,8B 46 30 85 C0 0F 85 92) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp byte ptr [esi+29],01 jne code mov [esi+30],#99999 code: mov eax,[esi+30] test eax,eax jmp return ARMOR: jmp newmem return: registersymbol(ARMOR) [DISABLE] ARMOR: db 8B 46 30 85 C0 unregistersymbol(ARMOR) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2182FBAE ""+2182FB8A: 39 36 - cmp [esi],esi ""+2182FB8C: E8 27 11 00 00 - call 21830CB8 ""+2182FB91: 83 C4 10 - add esp,10 ""+2182FB94: 83 EC 08 - sub esp,08 ""+2182FB97: 50 - push eax ""+2182FB98: FF B5 D4 FE FF FF - push [ebp-0000012C] ""+2182FB9E: 8B 85 D4 FE FF FF - mov eax,[ebp-0000012C] ""+2182FBA4: 39 00 - cmp [eax],eax ""+2182FBA6: E8 75 4A 2C FD - call 1EAF4620 ""+2182FBAB: 83 C4 10 - add esp,10 // ---------- INJECTING HERE ---------- ""+2182FBAE: 8B 46 30 - mov eax,[esi+30] ""+2182FBB1: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+2182FBB3: 0F 85 92 00 00 00 - jne 2182FC4B ""+2182FBB9: 83 EC 0C - sub esp,0C ""+2182FBBC: 56 - push esi ""+2182FBBD: 39 36 - cmp [esi],esi ""+2182FBBF: E8 1C DB FF FF - call 2182D6E0 ""+2182FBC4: 83 C4 10 - add esp,10 ""+2182FBC7: 89 85 EC FD FF FF - mov [ebp-00000214],eax ""+2182FBCD: 83 EC 0C - sub esp,0C ""+2182FBD0: 56 - push esi ""+2182FBD1: 39 36 - cmp [esi],esi } Урон+100: Показать контент { Game : Thea.exe Version: Date : 2017-06-13 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(ATTACK,8B 4E 2C 03 C1 89 85 1C) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp byte ptr [esi+29],01 jne code mov [esi+2C],#100 code: mov ecx,[esi+2C] add eax,ecx jmp return ATTACK: jmp newmem return: registersymbol(ATTACK) [DISABLE] ATTACK: db 8B 4E 2C 03 C1 unregistersymbol(ATTACK) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 06F627D5 ""+6F627B1: FF B5 E0 FE FF FF - push [ebp-00000120] ""+6F627B7: 8B 85 E0 FE FF FF - mov eax,[ebp-00000120] ""+6F627BD: 39 00 - cmp [eax],eax ""+6F627BF: E8 1C 1C 95 0E - call 158B43E0 ""+6F627C4: 83 C4 10 - add esp,10 ""+6F627C7: 83 EC 0C - sub esp,0C ""+6F627CA: 56 - push esi ""+6F627CB: 39 36 - cmp [esi],esi ""+6F627CD: E8 DE 15 00 00 - call 06F63DB0 ""+6F627D2: 83 C4 10 - add esp,10 // ---------- INJECTING HERE ---------- ""+6F627D5: 8B 4E 2C - mov ecx,[esi+2C] ""+6F627D8: 03 C1 - add eax,ecx // ---------- DONE INJECTING ---------- ""+6F627DA: 89 85 1C FE FF FF - mov [ebp-000001E4],eax ""+6F627E0: 8D 85 1C FE FF FF - lea eax,[ebp-000001E4] ""+6F627E6: 83 EC 0C - sub esp,0C ""+6F627E9: 50 - push eax ""+6F627EA: E8 E9 74 8E FF - call 06849CD8 ""+6F627EF: 83 C4 10 - add esp,10 ""+6F627F2: 83 EC 08 - sub esp,08 ""+6F627F5: 50 - push eax ""+6F627F6: FF B5 DC FE FF FF - push [ebp-00000124] ""+6F627FC: 8B 85 DC FE FF FF - mov eax,[ebp-00000124] } Выставление карт за ход (Активируется после установки первой карты): Показать контент { Game : Thea.exe Version: Date : 2017-06-14 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(INJECTq,8B 43 18 85 C0 0F 85 43) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [ebx+18],#1 code: mov eax,[ebx+18] test eax,eax jmp return INJECTq: jmp newmem return: registersymbol(INJECTq) [DISABLE] INJECTq: db 8B 43 18 85 C0 unregistersymbol(INJECTq) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 0737AEA4 ""+737AE87: 74 1B - je 0737AEA4 ""+737AE89: 8B 43 18 - mov eax,[ebx+18] ""+737AE8C: 48 - dec eax ""+737AE8D: 89 43 18 - mov [ebx+18],eax ""+737AE90: 8B 05 30 B2 5C 06 - mov eax,[065CB230] ""+737AE96: 83 EC 0C - sub esp,0C ""+737AE99: 50 - push eax ""+737AE9A: 39 00 - cmp [eax],eax ""+737AE9C: E8 E7 06 00 00 - call 0737B588 ""+737AEA1: 83 C4 10 - add esp,10 // ---------- INJECTING HERE ---------- ""+737AEA4: 8B 43 18 - mov eax,[ebx+18] ""+737AEA7: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+737AEA9: 0F 85 43 00 00 00 - jne 0737AEF2 ""+737AEAF: 83 EC 08 - sub esp,08 ""+737AEB2: 6A 00 - push 00 ""+737AEB4: 53 - push ebx ""+737AEB5: E8 6E 75 FF FF - call 07372428 ""+737AEBA: 83 C4 10 - add esp,10 ""+737AEBD: 85 C0 - test eax,eax ""+737AEBF: 75 14 - jne 0737AED5 ""+737AEC1: 83 EC 08 - sub esp,08 ""+737AEC4: 6A 01 - push 01 } Общие - Игровые скрипты: Все ресурсы на 100, - лимит веса, - лимит обмундирования: Показать контент { Game : Thea.exe Version: Date : 2017-06-11 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(WSE,8B 40 5C 8B 4E 0C) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [eax+5C],#0 mov [esi+0C],#100 code: mov eax,[eax+5C] mov ecx,[esi+0C] jmp return WSE: jmp newmem nop return: registersymbol(WSE) [DISABLE] WSE: db 8B 40 5C 8B 4E 0C unregistersymbol(WSE) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 30E00D0C ""+30E00CEC: 8B 45 A4 - mov eax,[ebp-5C] ""+30E00CEF: 8B 00 - mov eax,[eax] ""+30E00CF1: 8B 00 - mov eax,[eax] ""+30E00CF3: 8B 40 08 - mov eax,[eax+08] ""+30E00CF6: 8B 40 10 - mov eax,[eax+10] ""+30E00CF9: 3D 00 1D C5 10 - cmp eax,10C51D00 ""+30E00CFE: 74 09 - je 30E00D09 ""+30E00D00: C7 45 A0 00 00 00 00 - mov [ebp-60],00000000 ""+30E00D07: EB 00 - jmp 30E00D09 ""+30E00D09: 8B 45 A0 - mov eax,[ebp-60] // ---------- INJECTING HERE ---------- ""+30E00D0C: 8B 40 5C - mov eax,[eax+5C] ""+30E00D0F: 8B 4E 0C - mov ecx,[esi+0C] // ---------- DONE INJECTING ---------- ""+30E00D12: 0F AF C1 - imul eax,ecx ""+30E00D15: 50 - push eax ""+30E00D16: DB 04 24 - fild dword ptr [esp] ""+30E00D19: D9 1C 24 - fstp dword ptr [esp] ""+30E00D1C: D9 04 24 - fld dword ptr [esp] ""+30E00D1F: 83 C4 04 - add esp,04 ""+30E00D22: DD 45 A8 - fld qword ptr [ebp-58] ""+30E00D25: D9 C9 - fxch st(1) ""+30E00D27: DE C1 - faddp ""+30E00D29: D9 5D B0 - fstp dword ptr [ebp-50] } Очки исследования: Показать контент { Game : Thea.exe Version: Date : 2017-06-11 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(UPGRADE,8B 40 44 89 45 94) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [eax+44],100 code: mov eax,[eax+44] mov [ebp-6C],eax jmp return UPGRADE: jmp newmem nop return: registersymbol(UPGRADE) [DISABLE] UPGRADE: db 8B 40 44 89 45 94 unregistersymbol(UPGRADE) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 34D07AFE ""+34D07ACD: 56 - push esi ""+34D07ACE: 83 EC 7C - sub esp,7C ""+34D07AD1: C7 45 A0 00 00 00 00 - mov [ebp-60],00000000 ""+34D07AD8: C7 45 A4 00 00 00 00 - mov [ebp-5C],00000000 ""+34D07ADF: C7 45 A8 00 00 00 00 - mov [ebp-58],00000000 ""+34D07AE6: C7 45 AC 00 00 00 00 - mov [ebp-54],00000000 ""+34D07AED: C7 45 B0 00 00 00 00 - mov [ebp-50],00000000 ""+34D07AF4: D9 EE - fldz ""+34D07AF6: D9 5D E4 - fstp dword ptr [ebp-1C] ""+34D07AF9: E8 BA C7 20 E9 - call 1DF142B8 // ---------- INJECTING HERE ---------- ""+34D07AFE: 8B 40 44 - mov eax,[eax+44] ""+34D07B01: 89 45 94 - mov [ebp-6C],eax // ---------- DONE INJECTING ---------- ""+34D07B04: 83 EC 0C - sub esp,0C ""+34D07B07: 68 90 34 21 1B - push 1B213490 ""+34D07B0C: E8 97 90 86 D1 - call 06570BA8 ""+34D07B11: 83 C4 10 - add esp,10 ""+34D07B14: 8B F8 - mov edi,eax ""+34D07B16: 8B 45 08 - mov eax,[ebp+08] ""+34D07B19: 8B 40 24 - mov eax,[eax+24] ""+34D07B1C: 8D 4D A0 - lea ecx,[ebp-60] ""+34D07B1F: 83 EC 08 - sub esp,08 ""+34D07B22: 50 - push eax } Бесконечные ходы отряда: Показать контент { Game : Thea.exe Version: Date : 2017-06-09 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(HODE,8B 40 54 85 C0 7C) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [eax+54],#5 code: mov eax,[eax+54] test eax,eax jmp return HODE: jmp newmem return: registersymbol(HODE) [DISABLE] HODE: db 8B 40 54 85 C0 unregistersymbol(HODE) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 15C9C02A ""+15C9C016: 0E - push cs ""+15C9C017: 40 - inc eax ""+15C9C018: C0 F0 00 - rol al,00 ""+15C9C01B: 00 00 - add [eax],al ""+15C9C01D: 00 00 - add [eax],al ""+15C9C01F: 00 55 8B - add [ebp-75],dl ""+15C9C022: EC - in al,dx ""+15C9C023: 56 - push esi ""+15C9C024: 83 EC 04 - sub esp,04 ""+15C9C027: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+15C9C02A: 8B 40 54 - mov eax,[eax+54] ""+15C9C02D: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+15C9C02F: 7C 12 - jl 15C9C043 ""+15C9C031: 83 EC 0C - sub esp,0C ""+15C9C034: FF 75 08 - push [ebp+08] ""+15C9C037: E8 2C 00 00 00 - call 15C9C068 ""+15C9C03C: 83 C4 10 - add esp,10 ""+15C9C03F: 85 C0 - test eax,eax ""+15C9C041: 74 08 - je 15C9C04B ""+15C9C043: 8B 45 08 - mov eax,[ebp+08] ""+15C9C046: 8B 70 54 - mov esi,[eax+54] ""+15C9C049: EB 02 - jmp 15C9C04D } Опыт - Максимальный опыт божества: Показать контент { Game : Thea.exe Version: Date : 2017-06-14 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(INJECTff,8B 40 54 89 85 14 FF FF FF) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp [eax+54],#10000 JGE code mov [eax+54],#10000 code: mov eax,[eax+54] mov [ebp-000000EC],eax jmp return INJECTff: jmp newmem nop nop nop nop return: registersymbol(INJECTff) [DISABLE] INJECTff: db 8B 40 54 89 85 14 FF FF FF unregistersymbol(INJECTff) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 06B2E3ED ""+6B2E3BE: FF B5 F4 FE FF FF - push [ebp-0000010C] ""+6B2E3C4: 8B 85 F4 FE FF FF - mov eax,[ebp-0000010C] ""+6B2E3CA: 39 00 - cmp [eax],eax ""+6B2E3CC: E8 BF A1 80 FF - call 06338590 ""+6B2E3D1: 83 C4 10 - add esp,10 ""+6B2E3D4: 8B 85 1C FF FF FF - mov eax,[ebp-000000E4] ""+6B2E3DA: 8B 8D 18 FF FF FF - mov ecx,[ebp-000000E8] ""+6B2E3E0: 03 C1 - add eax,ecx ""+6B2E3E2: 89 85 1C FF FF FF - mov [ebp-000000E4],eax ""+6B2E3E8: E8 1B 68 BE 0E - call 15714C08 // ---------- INJECTING HERE ---------- ""+6B2E3ED: 8B 40 54 - mov eax,[eax+54] ""+6B2E3F0: 89 85 14 FF FF FF - mov [ebp-000000EC],eax // ---------- DONE INJECTING ---------- ""+6B2E3F6: B9 32 00 00 00 - mov ecx,00000032 ""+6B2E3FB: 99 - cdq ""+6B2E3FC: F7 F9 - idiv ecx ""+6B2E3FE: 8D 04 80 - lea eax,[eax+eax*4] ""+6B2E401: 03 C0 - add eax,eax ""+6B2E403: 89 85 18 FF FF FF - mov [ebp-000000E8],eax ""+6B2E409: 8D 85 14 FF FF FF - lea eax,[ebp-000000EC] ""+6B2E40F: 83 EC 0C - sub esp,0C ""+6B2E412: 50 - push eax ""+6B2E413: E8 C0 B8 88 FF - call 063B9CD8 } Все скрипты сделаны для версии Thea: The Awakening 1.20.2516.0 Огромная благодарность всем кто помогал. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения