Tzeentch Опубликовано 6 марта, 2021 Поделиться Опубликовано 6 марта, 2021 Поскольку скриптов на эту игру нарыть сложно. Выкладываю здесь. Написал два: на ХП и патроны. (Расходники ломануть не получилось. Там какая то проверка на них стоит. Скрипт правильный, но вылетает.) ХП не тратится - хоть с крыши прыгай. Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-05 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(Health1,Core.dll,8B 03 2B C2 5E) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: mov eax,[ebx] sub eax,edx pop esi cmp [ebx+B],#1282 ///Статичное значение для смещения jne return ///прыгаем если не равно add eax,edx ///возвращаем обратно ///mov eax,#200 ///Заносим максимальное значение - альтернатива jmp return Health1: jmp newmem return: registersymbol(Health1) [DISABLE] Health1: db 8B 03 2B C2 5E unregistersymbol(Health1) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Core.dll+39328 Core.dll+3930C: 89 56 0C - mov [esi+0C],edx Core.dll+3930F: 80 38 42 - cmp byte ptr [eax],42 Core.dll+39312: 75 10 - jne Core.dll+39324 Core.dll+39314: 8B 4E 08 - mov ecx,[esi+08] Core.dll+39317: 40 - inc eax Core.dll+39318: 6A 00 - push 00 Core.dll+3931A: 56 - push esi Core.dll+3931B: 89 46 0C - mov [esi+0C],eax Core.dll+3931E: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+39324: 8B 54 24 10 - mov edx,[esp+10] // ---------- INJECTING HERE ---------- Core.dll+39328: 8B 03 - mov eax,[ebx] // ---------- DONE INJECTING ---------- Core.dll+3932A: 2B C2 - sub eax,edx Core.dll+3932C: 5E - pop esi Core.dll+3932D: 89 03 - mov [ebx],eax Core.dll+3932F: 8B D8 - mov ebx,eax Core.dll+39331: 8B 44 24 10 - mov eax,[esp+10] Core.dll+39335: 89 18 - mov [eax],ebx Core.dll+39337: 5B - pop ebx Core.dll+39338: 59 - pop ecx Core.dll+39339: C2 08 00 - ret 0008 Core.dll+3933C: 90 - nop } Патроны не тратятся на пистолет и автомат. Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-05 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(Ammo,Core.dll,8B 07 48 89 07) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: mov eax,[edi] dec eax ///отнимает при выстреле mov [edi],eax cmp [edi+4],#60 ///максимально значение патронов jne return ///прыгаем если не равно inc [edi] ///прибавляем назад ///mov [edi],#60 ///заносим значение в карман - альтернатива jmp return Ammo: jmp newmem return: registersymbol(Ammo) [DISABLE] Ammo: db 8B 07 48 89 07 unregistersymbol(Ammo) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Core.dll+397B9 Core.dll+3979F: 75 10 - jne Core.dll+397B1 Core.dll+397A1: 8B 4E 08 - mov ecx,[esi+08] Core.dll+397A4: 40 - inc eax Core.dll+397A5: 6A 00 - push 00 Core.dll+397A7: 56 - push esi Core.dll+397A8: 89 46 0C - mov [esi+0C],eax Core.dll+397AB: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+397B1: 8B 54 24 14 - mov edx,[esp+14] Core.dll+397B5: 8B 0F - mov ecx,[edi] Core.dll+397B7: 89 0A - mov [edx],ecx // ---------- INJECTING HERE ---------- Core.dll+397B9: 8B 07 - mov eax,[edi] // ---------- DONE INJECTING ---------- Core.dll+397BB: 48 - dec eax Core.dll+397BC: 89 07 - mov [edi],eax Core.dll+397BE: 5F - pop edi Core.dll+397BF: 5E - pop esi Core.dll+397C0: 59 - pop ecx Core.dll+397C1: C2 08 00 - ret 0008 Core.dll+397C4: 90 - nop Core.dll+397C5: 90 - nop Core.dll+397C6: 90 - nop Core.dll+397C7: 90 - nop } P.S. Прошу перенести в архив скриптов CE. На эту игру читов мало в таком виде. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 марта, 2021 Поделиться Опубликовано 6 марта, 2021 1 час назад, Tzeentch сказал: ХП не тратится Если сделать так Спойлер code: mov eax,[ebx] cmp [ebx+B],#1282 ///Статичное значение для смещения jne @f ///прыгаем если не равно add eax,edx ///возвращаем обратно @@: sub eax,edx pop esi jmp return или так Спойлер code: mov eax,[ebx] cmp [ebx+B],#1282 ///Статичное значение для смещения jne @f ///прыгаем если не равно pop esi jmp return @@: sub eax,edx pop esi jmp return или так Спойлер Спойлер code: mov eax,[ebx] cmp [ebx+B],#1282 ///Статичное значение для смещения jne @f ///прыгаем если не равно хоr edx,edx ///обнуляем урон @@: sub eax,edx pop esi jmp return то это будет Gode 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Tzeentch Опубликовано 12 марта, 2021 Автор Поделиться Опубликовано 12 марта, 2021 Нашел прицел. Там за него отвечает одна инструкция. SuperAccuracy: Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-12 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(SuperAccuracy,Echelon.DLL,89 8E 74 04 00 00 E9) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: mov ecx,(float)0.0 ///делаем точный прицел mov [esi+00000474],ecx jmp return SuperAccuracy: jmp newmem nop return: registersymbol(SuperAccuracy) [DISABLE] SuperAccuracy: db 89 8E 74 04 00 00 unregistersymbol(SuperAccuracy) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Echelon.DLL+362B2 Echelon.DLL+36288: 8B 81 AC 02 00 00 - mov eax,[ecx+000002AC] Echelon.DLL+3628E: C1 E8 02 - shr eax,02 Echelon.DLL+36291: 83 E0 01 - and eax,01 Echelon.DLL+36294: A3 14 F7 C0 07 - mov [Echelon.AEGameplayObject::PrivateStaticClass+4C4],eax Echelon.DLL+36299: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+3629F: D8 9E 70 04 00 00 - fcomp dword ptr [esi+00000470] Echelon.DLL+362A5: DF E0 - fnstsw ax Echelon.DLL+362A7: F6 C4 05 - test ah,05 Echelon.DLL+362AA: 7A 11 - jp Echelon.DLL+362BD Echelon.DLL+362AC: 8B 8E 70 04 00 00 - mov ecx,[esi+00000470] // ---------- INJECTING HERE ---------- Echelon.DLL+362B2: 89 8E 74 04 00 00 - mov [esi+00000474],ecx // ---------- DONE INJECTING ---------- Echelon.DLL+362B8: E9 88 00 00 00 - jmp Echelon.DLL+36345 Echelon.DLL+362BD: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+362C3: D8 9E 70 04 00 00 - fcomp dword ptr [esi+00000470] Echelon.DLL+362C9: DF E0 - fnstsw ax Echelon.DLL+362CB: F6 C4 44 - test ah,44 Echelon.DLL+362CE: 7B 75 - jnp Echelon.DLL+36345 Echelon.DLL+362D0: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+362D6: D8 64 24 1C - fsub dword ptr [esp+1C] Echelon.DLL+362DA: D9 86 64 04 00 00 - fld dword ptr [esi+00000464] Echelon.DLL+362E0: D8 64 24 1C - fsub dword ptr [esp+1C] } 1 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 12 марта, 2021 Поделиться Опубликовано 12 марта, 2021 3 часа назад, Tzeentch сказал: ///делаем точный прицел там можно было и патч... Echelon.DLL+362AC: 8B 8E 70 04 00 00 - mov ecx,[esi+00000470] xor ecx,ecx 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Tzeentch Опубликовано 14 марта, 2021 Автор Поделиться Опубликовано 14 марта, 2021 (изменено) Отредактировал скрипты. Исходя из нового опыта. Infinite Health: Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-05 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(InfHealth,Core.dll,8B 03 2B C2 5E) // should be unique alloc(newmem,$1000) label(code) label(return) label(orig_code) newmem: code: mov eax,[ebx] ///my code cmp [ebx+B],#1282 ///Статичное значение для смещения jne orig_code ///прыгаем если не равно xor edx,edx ///обнуляем урон ///my code orig_code: sub eax,edx pop esi jmp return InfHealth: jmp newmem return: registersymbol(InfHealth) [DISABLE] InfHealth: db 8B 03 2B C2 5E unregistersymbol(InfHealth) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Core.dll+39328 Core.dll+3930C: 89 56 0C - mov [esi+0C],edx Core.dll+3930F: 80 38 42 - cmp byte ptr [eax],42 Core.dll+39312: 75 10 - jne Core.dll+39324 Core.dll+39314: 8B 4E 08 - mov ecx,[esi+08] Core.dll+39317: 40 - inc eax Core.dll+39318: 6A 00 - push 00 Core.dll+3931A: 56 - push esi Core.dll+3931B: 89 46 0C - mov [esi+0C],eax Core.dll+3931E: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+39324: 8B 54 24 10 - mov edx,[esp+10] // ---------- INJECTING HERE ---------- Core.dll+39328: 8B 03 - mov eax,[ebx] // ---------- DONE INJECTING ---------- Core.dll+3932A: 2B C2 - sub eax,edx Core.dll+3932C: 5E - pop esi Core.dll+3932D: 89 03 - mov [ebx],eax Core.dll+3932F: 8B D8 - mov ebx,eax Core.dll+39331: 8B 44 24 10 - mov eax,[esp+10] Core.dll+39335: 89 18 - mov [eax],ebx Core.dll+39337: 5B - pop ebx Core.dll+39338: 59 - pop ecx Core.dll+39339: C2 08 00 - ret 0008 Core.dll+3933C: 90 - nop } Infinite Ammo: Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-05 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(Ammo,Core.dll,8B 07 48 89 07) // should be unique alloc(newmem,$1000) label(code) label(return) label(next_code) newmem: code: mov eax,[edi] ///my code ///пистолет cmp [edi+C],#20 ///макс патронов в магазине je next_code ///прыгаем если пистолет ///автомат cmp [edi+C],#30 ///макс патронов в магазине je next_code ///прыгаем если автомат ///my code dec eax ///тут отнимает всё остальное next_code: mov [edi],eax jmp return Ammo: jmp newmem return: registersymbol(Ammo) [DISABLE] Ammo: db 8B 07 48 89 07 unregistersymbol(Ammo) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Core.dll+397B9 Core.dll+3979F: 75 10 - jne Core.dll+397B1 Core.dll+397A1: 8B 4E 08 - mov ecx,[esi+08] Core.dll+397A4: 40 - inc eax Core.dll+397A5: 6A 00 - push 00 Core.dll+397A7: 56 - push esi Core.dll+397A8: 89 46 0C - mov [esi+0C],eax Core.dll+397AB: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+397B1: 8B 54 24 14 - mov edx,[esp+14] Core.dll+397B5: 8B 0F - mov ecx,[edi] Core.dll+397B7: 89 0A - mov [edx],ecx // ---------- INJECTING HERE ---------- Core.dll+397B9: 8B 07 - mov eax,[edi] // ---------- DONE INJECTING ---------- Core.dll+397BB: 48 - dec eax Core.dll+397BC: 89 07 - mov [edi],eax Core.dll+397BE: 5F - pop edi Core.dll+397BF: 5E - pop esi Core.dll+397C0: 59 - pop ecx Core.dll+397C1: C2 08 00 - ret 0008 Core.dll+397C4: 90 - nop Core.dll+397C5: 90 - nop Core.dll+397C6: 90 - nop Core.dll+397C7: 90 - nop } NoReload: Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-05 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(AmmoNoReload,Core.dll,8B 07 48 89 07) // should be unique alloc(newmem,$1000) label(code) label(return) label(part_2) newmem: code: mov eax,[edi] dec eax ///тут отнимает mov [edi],eax ///my code ///пистолет cmp [edi+C],#20 ///макс патронов в магазине jne part_2 ///прыгаем если не пистолет inc [edi] ///возвращаем в сумку inc [edi+8] ///возвращаем в обойму part_2:///автомат cmp [edi+C],#30 ///макс патронов в магазине jne return ///прыгаем если не автомат inc [edi] ///возвращаем в сумку inc [edi+8] ///возвращаем в обойму ///my code jmp return AmmoNoReload: jmp newmem return: registersymbol(AmmoNoReload) [DISABLE] AmmoNoReload: db 8B 07 48 89 07 unregistersymbol(AmmoNoReload) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Core.dll+397B9 Core.dll+3979F: 75 10 - jne Core.dll+397B1 Core.dll+397A1: 8B 4E 08 - mov ecx,[esi+08] Core.dll+397A4: 40 - inc eax Core.dll+397A5: 6A 00 - push 00 Core.dll+397A7: 56 - push esi Core.dll+397A8: 89 46 0C - mov [esi+0C],eax Core.dll+397AB: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+397B1: 8B 54 24 14 - mov edx,[esp+14] Core.dll+397B5: 8B 0F - mov ecx,[edi] Core.dll+397B7: 89 0A - mov [edx],ecx // ---------- INJECTING HERE ---------- Core.dll+397B9: 8B 07 - mov eax,[edi] // ---------- DONE INJECTING ---------- Core.dll+397BB: 48 - dec eax Core.dll+397BC: 89 07 - mov [edi],eax Core.dll+397BE: 5F - pop edi Core.dll+397BF: 5E - pop esi Core.dll+397C0: 59 - pop ecx Core.dll+397C1: C2 08 00 - ret 0008 Core.dll+397C4: 90 - nop Core.dll+397C5: 90 - nop Core.dll+397C6: 90 - nop Core.dll+397C7: 90 - nop } SuperAccuracy: Спойлер { Game : SplinterCell.exe Version: Date : 2021-03-12 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(SuperAccuracy,Echelon.DLL,89 8E 74 04 00 00 E9) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: xor ecx,ecx ///обнуляем прицел mov [esi+00000474],ecx jmp return SuperAccuracy: jmp newmem nop return: registersymbol(SuperAccuracy) [DISABLE] SuperAccuracy: db 89 8E 74 04 00 00 unregistersymbol(SuperAccuracy) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Echelon.DLL+362B2 Echelon.DLL+36288: 8B 81 AC 02 00 00 - mov eax,[ecx+000002AC] Echelon.DLL+3628E: C1 E8 02 - shr eax,02 Echelon.DLL+36291: 83 E0 01 - and eax,01 Echelon.DLL+36294: A3 14 F7 C0 07 - mov [Echelon.AEGameplayObject::PrivateStaticClass+4C4],eax Echelon.DLL+36299: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+3629F: D8 9E 70 04 00 00 - fcomp dword ptr [esi+00000470] Echelon.DLL+362A5: DF E0 - fnstsw ax Echelon.DLL+362A7: F6 C4 05 - test ah,05 Echelon.DLL+362AA: 7A 11 - jp Echelon.DLL+362BD Echelon.DLL+362AC: 8B 8E 70 04 00 00 - mov ecx,[esi+00000470] // ---------- INJECTING HERE ---------- Echelon.DLL+362B2: 89 8E 74 04 00 00 - mov [esi+00000474],ecx // ---------- DONE INJECTING ---------- Echelon.DLL+362B8: E9 88 00 00 00 - jmp Echelon.DLL+36345 Echelon.DLL+362BD: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+362C3: D8 9E 70 04 00 00 - fcomp dword ptr [esi+00000470] Echelon.DLL+362C9: DF E0 - fnstsw ax Echelon.DLL+362CB: F6 C4 44 - test ah,44 Echelon.DLL+362CE: 7B 75 - jnp Echelon.DLL+36345 Echelon.DLL+362D0: D9 86 74 04 00 00 - fld dword ptr [esi+00000474] Echelon.DLL+362D6: D8 64 24 1C - fsub dword ptr [esp+1C] Echelon.DLL+362DA: D9 86 64 04 00 00 - fld dword ptr [esi+00000464] Echelon.DLL+362E0: D8 64 24 1C - fsub dword ptr [esp+1C] } P.S. Добавьте в шапку, пожалуйста. Изменено 14 марта, 2021 пользователем Tzeentch 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Tzeentch Опубликовано 20 февраля, 2022 Автор Поделиться Опубликовано 20 февраля, 2022 (изменено) Сделал ещё пару функций. Как SerVick сделал на Pandora Tomorrow. Невидимость: Спойлер { Game : SplinterCell.exe Version: Date : 2022-02-20 Author : Templar This script does blah blah blah Если подойти близко - то всё равно заметят. } [ENABLE] aobscanmodule(Invisible_1,Echelon.DLL,D9 86 50 02 00 00 5E 5B) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp [esi+00000250+94],(float)500 ///сравниваем с статичным смещением jne code ///прыгаем если не равно mov [esi+00000250],(float)0 ///обнуляем видимость code: fld dword ptr [esi+00000250] jmp return Invisible_1: jmp newmem nop return: registersymbol(Invisible_1) [DISABLE] Invisible_1: db D9 86 50 02 00 00 unregistersymbol(Invisible_1) dealloc(newmem) { Address of signature = Echelon.DLL + 0x00045A6C "\xD9\x86\x00\x00\x00\x00\x5E\x5B", "xx????xx" "D9 86 ? ? ? ? 5E 5B" // ORIGINAL CODE - INJECTION POINT: Echelon.DLL+45A6C Echelon.DLL+45A4E: 89 86 F4 06 00 00 - mov [esi+000006F4],eax Echelon.DLL+45A54: 5E - pop esi Echelon.DLL+45A55: 5B - pop ebx Echelon.DLL+45A56: C2 08 00 - ret 0008 Echelon.DLL+45A59: D9 86 50 02 00 00 - fld dword ptr [esi+00000250] Echelon.DLL+45A5F: 89 9E F4 06 00 00 - mov [esi+000006F4],ebx Echelon.DLL+45A65: 5E - pop esi Echelon.DLL+45A66: 5B - pop ebx Echelon.DLL+45A67: C2 08 00 - ret 0008 Echelon.DLL+45A6A: DD D8 - fstp st(0) // ---------- INJECTING HERE ---------- Echelon.DLL+45A6C: D9 86 50 02 00 00 - fld dword ptr [esi+00000250] // ---------- DONE INJECTING ---------- Echelon.DLL+45A72: 5E - pop esi Echelon.DLL+45A73: 5B - pop ebx Echelon.DLL+45A74: C2 08 00 - ret 0008 Echelon.DLL+45A77: 90 - nop Echelon.DLL+45A78: 90 - nop Echelon.DLL+45A79: 90 - nop Echelon.DLL+45A7A: 90 - nop Echelon.DLL+45A7B: 90 - nop Echelon.DLL+45A7C: 90 - nop Echelon.DLL+45A7D: 90 - nop } Скорость игрока: Спойлер { Game : SplinterCell.exe Version: Date : 2022-02-20 Author : Templar This script does blah blah blah Можно выставить любое значение по желанию. Инструкция работает с одним адресом. } [ENABLE] aobscanmodule(HeroSpeed,Echelon.DLL,D9 80 F4 02 00 00 DC) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [eax+000002F4],(float)3 code: fld dword ptr [eax+000002F4] jmp return HeroSpeed: jmp newmem nop return: registersymbol(HeroSpeed) [DISABLE] HeroSpeed: db D9 80 F4 02 00 00 unregistersymbol(HeroSpeed) dealloc(newmem) { Address of signature = Echelon.DLL + 0x00062D62 "\xD9\x80\x00\x00\x00\x00\xDC\x2D", "xx????xx" "D9 80 ? ? ? ? DC 2D" // ORIGINAL CODE - INJECTION POINT: Echelon.DLL+62D62 Echelon.DLL+62D2E: 52 - push edx Echelon.DLL+62D2F: FF 15 BC BB 2C 09 - call dword ptr [Echelon.DLL+CBBBC] Echelon.DLL+62D35: 8B 86 54 04 00 00 - mov eax,[esi+00000454] Echelon.DLL+62D3B: 83 C4 10 - add esp,10 Echelon.DLL+62D3E: D9 96 04 05 00 00 - fst dword ptr [esi+00000504] Echelon.DLL+62D44: D9 98 F4 02 00 00 - fstp dword ptr [eax+000002F4] Echelon.DLL+62D4A: 8B 8E 54 04 00 00 - mov ecx,[esi+00000454] Echelon.DLL+62D50: 8B 96 04 05 00 00 - mov edx,[esi+00000504] Echelon.DLL+62D56: 89 91 F8 02 00 00 - mov [ecx+000002F8],edx Echelon.DLL+62D5C: 8B 86 54 04 00 00 - mov eax,[esi+00000454] // ---------- INJECTING HERE ---------- Echelon.DLL+62D62: D9 80 F4 02 00 00 - fld dword ptr [eax+000002F4] // ---------- DONE INJECTING ---------- Echelon.DLL+62D68: DC 2D 58 A0 29 09 - fsubr qword ptr [Echelon.DLL+9A058] Echelon.DLL+62D6E: F6 80 AC 02 00 00 04 - test byte ptr [eax+000002AC],04 Echelon.DLL+62D75: 74 1E - je Echelon.DLL+62D95 Echelon.DLL+62D77: D8 8E CC 05 00 00 - fmul dword ptr [esi+000005CC] Echelon.DLL+62D7D: D9 86 C4 05 00 00 - fld dword ptr [esi+000005C4] Echelon.DLL+62D83: D8 88 F4 02 00 00 - fmul dword ptr [eax+000002F4] Echelon.DLL+62D89: 5E - pop esi Echelon.DLL+62D8A: DE C1 - faddp Echelon.DLL+62D8C: D9 98 D8 02 00 00 - fstp dword ptr [eax+000002D8] Echelon.DLL+62D92: C2 08 00 - ret 0008 } Изменено 20 февраля, 2022 пользователем Tzeentch Заменил цитату на спойлер. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Tzeentch Опубликовано 23 февраля, 2022 Автор Поделиться Опубликовано 23 февраля, 2022 Сделал бесконечный таймер. Нужно редко. Спойлер { Game : SplinterCell.exe Version: Date : 2022-02-23 Author : Templar This script does blah blah blah } [ENABLE] aobscanmodule(InfTimer,Core.dll,D9 17 D9 1A 5F 5E 59 C2 ? ? 90 90 90 90 90 90 90 90 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC 8B 0D ? ? ? ? 33 D2 3B CA B8 ? ? ? ? 75 ? 57 B9 ? ? ? ? BF ? ? ? ? C7 05 F4 9C 1E 10 ? ? ? ? F3 ? 5F 8B 0D ? ? ? ? 88 15 ? ? ? ? 3B C8 74 ? A1 ? ? ? ? ? ? ? ? 1E 10 B9) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: fst dword ptr [edi] ///my code cmp [edi-44],(float)100 ///сравниваем с статичным смещением jne code ///прыгаем если не равно mov [edi],(float)999 ///my code code: fstp dword ptr [edx] pop edi jmp return InfTimer: jmp newmem return: registersymbol(InfTimer) [DISABLE] InfTimer: db D9 17 D9 1A 5F unregistersymbol(InfTimer) dealloc(newmem) { Address of signature = Core.dll + 0x0003B37E "\xD9\x17\xD9\x1A\x5F\x5E\x59\xC2\x00\x00\x90\x90\x90\x90\x90\x90\x90\x90\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x8B\x0D\x00\x00\x00\x00\x33\xD2\x3B\xCA\xB8\x00\x00\x00\x00\x75\x00\x57\xB9\x00\x00\x00\x00\xBF\x00\x00\x00\x00\xC7\x05\xF4\x9C\x1E\x10\x00\x00\x00\x00\xF3\x00\x5F\x8B\x0D\x00\x00\x00\x00\x88\x15\x00\x00\x00\x00\x3B\xC8\x74\x00\xA1\x00\x00\x00\x00\x00\x00\x00\x00\x1E\x10\xB9", "xxxxxxxx??xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xxxxx????x?xx????x????xxxxxx????x?xxx????xx????xxx?x????????xxx" "D9 17 D9 1A 5F 5E 59 C2 ? ? 90 90 90 90 90 90 90 90 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC 8B 0D ? ? ? ? 33 D2 3B CA B8 ? ? ? ? 75 ? 57 B9 ? ? ? ? BF ? ? ? ? C7 05 F4 9C 1E 10 ? ? ? ? F3 ? 5F 8B 0D ? ? ? ? 88 15 ? ? ? ? 3B C8 74 ? A1 ? ? ? ? ? ? ? ? 1E 10 B9" // ORIGINAL CODE - INJECTION POINT: Core.dll+3B37E Core.dll+3B362: 75 10 - jne Core.dll+3B374 Core.dll+3B364: 8B 4E 08 - mov ecx,[esi+08] Core.dll+3B367: 40 - inc eax Core.dll+3B368: 6A 00 - push 00 Core.dll+3B36A: 56 - push esi Core.dll+3B36B: 89 46 0C - mov [esi+0C],eax Core.dll+3B36E: FF 15 C8 5B 1E 10 - call dword ptr [Core.GNatives+108] Core.dll+3B374: D9 07 - fld dword ptr [edi] Core.dll+3B376: D8 64 24 10 - fsub dword ptr [esp+10] Core.dll+3B37A: 8B 54 24 14 - mov edx,[esp+14] // ---------- INJECTING HERE ---------- Core.dll+3B37E: D9 17 - fst dword ptr [edi] // ---------- DONE INJECTING ---------- Core.dll+3B380: D9 1A - fstp dword ptr [edx] Core.dll+3B382: 5F - pop edi Core.dll+3B383: 5E - pop esi Core.dll+3B384: 59 - pop ecx Core.dll+3B385: C2 08 00 - ret 0008 Core.dll+3B388: 90 - nop Core.dll+3B389: 90 - nop Core.dll+3B38A: 90 - nop Core.dll+3B38B: 90 - nop Core.dll+3B38C: 90 - nop } Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти