Strajder Опубликовано 2 августа, 2017 Поделиться Опубликовано 2 августа, 2017 Всем Доброго времени суток. Давненько тут не появлялся. Вышла долгожданная компания Survival игры The Long Dark. Ломал чисто из идеалогически - хобби соображениях. Как и всегда буду благодарен в корректировках написания и прочего в скриптах. Жажда: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Thrist,D9 40 20 D9 40 3C) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Thrist) newmem: mov [eax+20], (float)1 //1 Для того, что бы персонаж мог пить. По сути бар жажды выглядит на все 100 code: fld dword ptr [eax+20] fld dword ptr [eax+3C] jmp return Thrist: jmp newmem db 90 return: [DISABLE] Thrist: db D9 40 20 D9 40 3C unregistersymbol(Thrist) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F0D5CA1 ""+2F0D5C8B: 76 07 - jna 2F0D5C94 ""+2F0D5C8D: B8 01 00 00 00 - mov eax,00000001 ""+2F0D5C92: EB 02 - jmp 2F0D5C96 ""+2F0D5C94: 33 C0 - xor eax,eax ""+2F0D5C96: C9 - leave ""+2F0D5C97: C3 - ret ""+2F0D5C98: 55 - push ebp ""+2F0D5C99: 8B EC - mov ebp,esp ""+2F0D5C9B: 83 EC 08 - sub esp,08 ""+2F0D5C9E: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2F0D5CA1: D9 40 20 - fld dword ptr [eax+20] ""+2F0D5CA4: D9 40 3C - fld dword ptr [eax+3C] // ---------- DONE INJECTING ---------- ""+2F0D5CA7: DF F1 - fcomip st(0),st(1) ""+2F0D5CA9: DD D8 - fstp st(0) ""+2F0D5CAB: 7A 09 - jp 2F0D5CB6 ""+2F0D5CAD: 73 07 - jae 2F0D5CB6 ""+2F0D5CAF: B8 01 00 00 00 - mov eax,00000001 ""+2F0D5CB4: EB 02 - jmp 2F0D5CB8 ""+2F0D5CB6: 33 C0 - xor eax,eax ""+2F0D5CB8: C9 - leave ""+2F0D5CB9: C3 - ret ""+2F0D5CBA: 00 00 - add [eax],al } Калории - Она же еда: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Callories,D9 40 20 D9 40 38) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Callories) newmem: mov [eax+20], (float)4000 code: fld dword ptr [eax+20] fld dword ptr [eax+38] jmp return Callories: jmp newmem db 90 return: [DISABLE] Callories: db D9 40 20 D9 40 38 unregistersymbol(Callories) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 31C654E9 ""+31C654D2: B8 01 00 00 00 - mov eax,00000001 ""+31C654D7: 85 D2 - test edx,edx ""+31C654D9: 0F 44 C1 - cmove eax,ecx ""+31C654DC: C9 - leave ""+31C654DD: C3 - ret ""+31C654DE: 00 00 - add [eax],al ""+31C654E0: 55 - push ebp ""+31C654E1: 8B EC - mov ebp,esp ""+31C654E3: 83 EC 08 - sub esp,08 ""+31C654E6: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+31C654E9: D9 40 20 - fld dword ptr [eax+20] ""+31C654EC: D9 40 38 - fld dword ptr [eax+38] // ---------- DONE INJECTING ---------- ""+31C654EF: DF F1 - fcomip st(0),st(1) ""+31C654F1: DD D8 - fstp st(0) ""+31C654F3: 76 07 - jna 31C654FC ""+31C654F5: B8 01 00 00 00 - mov eax,00000001 ""+31C654FA: EB 02 - jmp 31C654FE ""+31C654FC: 33 C0 - xor eax,eax ""+31C654FE: C9 - leave ""+31C654FF: C3 - ret ""+31C65500: 55 - push ebp ""+31C65501: 8B EC - mov ebp,esp } Усталость: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Fatigue,D9 80 8C 00 00 00 D9 80) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Fatigue) newmem: mov [eax+0000008C], (float)0 code: fld dword ptr [eax+0000008C] jmp return Fatigue: jmp newmem db 90 return: [DISABLE] Fatigue: db D9 80 8C 00 00 00 unregistersymbol(Fatigue) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F0D5CC9 ""+2F0D5CB6: 33 C0 - xor eax,eax ""+2F0D5CB8: C9 - leave ""+2F0D5CB9: C3 - ret ""+2F0D5CBA: 00 00 - add [eax],al ""+2F0D5CBC: 00 00 - add [eax],al ""+2F0D5CBE: 00 00 - add [eax],al ""+2F0D5CC0: 55 - push ebp ""+2F0D5CC1: 8B EC - mov ebp,esp ""+2F0D5CC3: 83 EC 08 - sub esp,08 ""+2F0D5CC6: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2F0D5CC9: D9 80 8C 00 00 00 - fld dword ptr [eax+0000008C] // ---------- DONE INJECTING ---------- ""+2F0D5CCF: D9 80 C0 00 00 00 - fld dword ptr [eax+000000C0] ""+2F0D5CD5: DF F1 - fcomip st(0),st(1) ""+2F0D5CD7: DD D8 - fstp st(0) ""+2F0D5CD9: 7A 09 - jp 2F0D5CE4 ""+2F0D5CDB: 73 07 - jae 2F0D5CE4 ""+2F0D5CDD: B8 01 00 00 00 - mov eax,00000001 ""+2F0D5CE2: EB 02 - jmp 2F0D5CE6 ""+2F0D5CE4: 33 C0 - xor eax,eax ""+2F0D5CE6: C9 - leave ""+2F0D5CE7: C3 - ret } Холод: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Freeze,D9 40 24 D9 40 48) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Freeze) newmem: mov [eax+24], (float)0 code: fld dword ptr [eax+24] fld dword ptr [eax+48] jmp return Freeze: jmp newmem db 90 return: [DISABLE] Freeze: db D9 40 24 D9 40 48 unregistersymbol(Freeze) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F0D5CF1 ""+2F0D5CDB: 73 07 - jae 2F0D5CE4 ""+2F0D5CDD: B8 01 00 00 00 - mov eax,00000001 ""+2F0D5CE2: EB 02 - jmp 2F0D5CE6 ""+2F0D5CE4: 33 C0 - xor eax,eax ""+2F0D5CE6: C9 - leave ""+2F0D5CE7: C3 - ret ""+2F0D5CE8: 55 - push ebp ""+2F0D5CE9: 8B EC - mov ebp,esp ""+2F0D5CEB: 83 EC 08 - sub esp,08 ""+2F0D5CEE: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2F0D5CF1: D9 40 24 - fld dword ptr [eax+24] ""+2F0D5CF4: D9 40 48 - fld dword ptr [eax+48] // ---------- DONE INJECTING ---------- ""+2F0D5CF7: DF F1 - fcomip st(0),st(1) ""+2F0D5CF9: DD D8 - fstp st(0) ""+2F0D5CFB: 7A 09 - jp 2F0D5D06 ""+2F0D5CFD: 73 07 - jae 2F0D5D06 ""+2F0D5CFF: B8 01 00 00 00 - mov eax,00000001 ""+2F0D5D04: EB 02 - jmp 2F0D5D08 ""+2F0D5D06: 33 C0 - xor eax,eax ""+2F0D5D08: C9 - leave ""+2F0D5D09: C3 - ret ""+2F0D5D0A: 00 00 - add [eax],al } Жизнь: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(HP,D9 40 28 D9 5F 18) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(HP) newmem: mov [eax+28], (float)100 mov [edi+18], (float)100 code: fld dword ptr [eax+28] fstp dword ptr [edi+18] jmp return HP: jmp newmem db 90 return: [DISABLE] HP: db D9 40 28 D9 5F 18 unregistersymbol(HP) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F9BC7A1 ""+2F9BC780: 50 - push eax ""+2F9BC781: E8 B2 53 82 D6 - call 061E1B38 ""+2F9BC786: 83 C4 10 - add esp,10 ""+2F9BC789: 85 C0 - test eax,eax ""+2F9BC78B: 74 0E - je 2F9BC79B ""+2F9BC78D: 8B 47 10 - mov eax,[edi+10] ""+2F9BC790: D9 80 D4 05 00 00 - fld dword ptr [eax+000005D4] ""+2F9BC796: D9 5F 18 - fstp dword ptr [edi+18] ""+2F9BC799: EB 0C - jmp 2F9BC7A7 ""+2F9BC79B: 8B 05 F0 C9 9C 19 - mov eax,[199CC9F0] // ---------- INJECTING HERE ---------- ""+2F9BC7A1: D9 40 28 - fld dword ptr [eax+28] ""+2F9BC7A4: D9 5F 18 - fstp dword ptr [edi+18] // ---------- DONE INJECTING ---------- ""+2F9BC7A7: 8D 65 FC - lea esp,[ebp-04] ""+2F9BC7AA: 5F - pop edi ""+2F9BC7AB: C9 - leave ""+2F9BC7AC: C3 - ret ""+2F9BC7AD: 00 00 - add [eax],al ""+2F9BC7AF: 00 55 8B - add [ebp-75],dl ""+2F9BC7B2: EC - in al,dx ""+2F9BC7B3: 57 - push edi ""+2F9BC7B4: 56 - push esi ""+2F9BC7B5: 81 EC A0 02 00 00 - sub esp,000002A0 } Бег: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Sprint,D9 40 6C D9 40 68) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Sprint) newmem: mov [eax+6C], (float)100 code: fld dword ptr [eax+6C] fld dword ptr [eax+68] jmp return Sprint: jmp newmem db 90 return: [DISABLE] Sprint: db D9 40 6C D9 40 68 unregistersymbol(Sprint) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F0D7C76 ""+2F0D7C5F: 49 - dec ecx ""+2F0D7C60: 15 E9 C2 83 E9 - adc eax,E983C2E9 ""+2F0D7C65: D6 - db D6 ""+2F0D7C66: 00 00 - add [eax],al ""+2F0D7C68: 55 - push ebp ""+2F0D7C69: 8B EC - mov ebp,esp ""+2F0D7C6B: 83 EC 08 - sub esp,08 ""+2F0D7C6E: D9 EE - fldz ""+2F0D7C70: D9 5D FC - fstp dword ptr [ebp-04] ""+2F0D7C73: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2F0D7C76: D9 40 6C - fld dword ptr [eax+6C] ""+2F0D7C79: D9 40 68 - fld dword ptr [eax+68] // ---------- DONE INJECTING ---------- ""+2F0D7C7C: DE F9 - fdivp st(1),st(0) ""+2F0D7C7E: D9 5D FC - fstp dword ptr [ebp-04] ""+2F0D7C81: D9 45 FC - fld dword ptr [ebp-04] ""+2F0D7C84: D9 EE - fldz ""+2F0D7C86: D9 E8 - fld1 ""+2F0D7C88: 83 EC 04 - sub esp,04 ""+2F0D7C8B: 83 EC 04 - sub esp,04 ""+2F0D7C8E: D9 1C 24 - fstp dword ptr [esp] ""+2F0D7C91: 83 EC 04 - sub esp,04 ""+2F0D7C94: D9 1C 24 - fstp dword ptr [esp] } Все предметы в инвентаре по 25: Скрытый текст { Game : tld.exe Version: Date : 2017-08-01 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Hworost,8B 40 1C 85 C0 75 17) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Hworost) newmem: mov [eax+1C],#25 code: mov eax,[eax+1C] test eax,eax jmp return Hworost: jmp newmem return: [DISABLE] Hworost: db 8B 40 1C 85 C0 unregistersymbol(Hworost) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 31C71E14 ""+31C71DF4: 33 C0 - xor eax,eax ""+31C71DF6: 85 C0 - test eax,eax ""+31C71DF8: 8B 86 C4 00 00 00 - mov eax,[esi+000000C4] ""+31C71DFE: 83 EC 0C - sub esp,0C ""+31C71E01: 50 - push eax ""+31C71E02: E8 31 FD 2E D4 - call 05F61B38 ""+31C71E07: 83 C4 10 - add esp,10 ""+31C71E0A: 85 C0 - test eax,eax ""+31C71E0C: 74 24 - je 31C71E32 ""+31C71E0E: 8B 86 C4 00 00 00 - mov eax,[esi+000000C4] // ---------- INJECTING HERE ---------- ""+31C71E14: 8B 40 1C - mov eax,[eax+1C] ""+31C71E17: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+31C71E19: 75 17 - jne 31C71E32 ""+31C71E1B: 8B 47 14 - mov eax,[edi+14] ""+31C71E1E: 83 EC 08 - sub esp,08 ""+31C71E21: 56 - push esi ""+31C71E22: 50 - push eax ""+31C71E23: 39 00 - cmp [eax],eax ""+31C71E25: E8 8E C0 F8 FF - call 31BFDEB8 ""+31C71E2A: 83 C4 10 - add esp,10 ""+31C71E2D: E9 4B 03 00 00 - jmp 31C7217D ""+31C71E32: 8B 46 30 - mov eax,[esi+30] } Переносимый вес: Скрытый текст { Game : tld.exe Version: Date : 2017-08-01 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(WES,D9 47 34 DD 5D F0) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(WES) newmem: mov [edi+34], (float)0 code: fld dword ptr [edi+34] fstp qword ptr [ebp-10] jmp return WES: jmp newmem db 90 return: [DISABLE] WES: db D9 47 34 DD 5D F0 unregistersymbol(WES) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 31C2D267 ""+31C2D250: 55 - push ebp ""+31C2D251: 8B EC - mov ebp,esp ""+31C2D253: 57 - push edi ""+31C2D254: 83 EC 14 - sub esp,14 ""+31C2D257: 8B 7D 08 - mov edi,[ebp+08] ""+31C2D25A: 0F B6 47 49 - movzx eax,byte ptr [edi+49] ""+31C2D25E: 85 C0 - test eax,eax ""+31C2D260: 74 05 - je 31C2D267 ""+31C2D262: D9 47 4C - fld dword ptr [edi+4C] ""+31C2D265: EB 19 - jmp 31C2D280 // ---------- INJECTING HERE ---------- ""+31C2D267: D9 47 34 - fld dword ptr [edi+34] ""+31C2D26A: DD 5D F0 - fstp qword ptr [ebp-10] // ---------- DONE INJECTING ---------- ""+31C2D26D: 83 EC 0C - sub esp,0C ""+31C2D270: 57 - push edi ""+31C2D271: E8 22 00 00 00 - call 31C2D298 ""+31C2D276: 83 C4 10 - add esp,10 ""+31C2D279: DD 45 F0 - fld qword ptr [ebp-10] ""+31C2D27C: D9 C9 - fxch st(1) ""+31C2D27E: DE C1 - faddp ""+31C2D280: 8D 65 FC - lea esp,[ebp-04] ""+31C2D283: 5F - pop edi ""+31C2D284: C9 - leave } Максимальный вес: (Увеличен с 40 до 100) Скрытый текст { Game : tld.exe Version: Date : 2017-08-01 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(WESS,D9 47 4C D9 47 2C DF) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(WESS) newmem: mov [edi+4C], (float)0 mov [edi+18], (float)100 code: fld dword ptr [edi+4C] fld dword ptr [edi+2C] jmp return WESS: jmp newmem db 90 return: [DISABLE] WESS: db D9 47 4C D9 47 2C unregistersymbol(WESS) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 3F2D192C ""+3F2D190A: 83 EC 04 - sub esp,04 ""+3F2D190D: 83 EC 04 - sub esp,04 ""+3F2D1910: D9 1C 24 - fstp dword ptr [esp] ""+3F2D1913: 83 EC 04 - sub esp,04 ""+3F2D1916: D9 1C 24 - fstp dword ptr [esp] ""+3F2D1919: 83 EC 04 - sub esp,04 ""+3F2D191C: D9 1C 24 - fstp dword ptr [esp] ""+3F2D191F: E8 F0 F3 CE C6 - call 05FC0D14 ""+3F2D1924: 83 C4 10 - add esp,10 ""+3F2D1927: E9 38 00 00 00 - jmp 3F2D1964 // ---------- INJECTING HERE ---------- ""+3F2D192C: D9 47 4C - fld dword ptr [edi+4C] ""+3F2D192F: D9 47 2C - fld dword ptr [edi+2C] // ---------- DONE INJECTING ---------- ""+3F2D1932: DF F1 - fcomip st(0),st(1) ""+3F2D1934: DD D8 - fstp st(0) ""+3F2D1936: 7A 06 - jp 3F2D193E ""+3F2D1938: 73 04 - jae 3F2D193E ""+3F2D193A: D9 EE - fldz ""+3F2D193C: EB 26 - jmp 3F2D1964 ""+3F2D193E: D9 47 4C - fld dword ptr [edi+4C] ""+3F2D1941: D9 45 F8 - fld dword ptr [ebp-08] ""+3F2D1944: DF F1 - fcomip st(0),st(1) ""+3F2D1946: DD D8 - fstp st(0) } Прочность одежды, ножей и прочего: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(NoDamage,D9 80 60 01 00 00 D9 80) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(NoDamage) newmem: push edx mov edx,[eax+00000164] mov [eax+00000160],edx pop edx code: fld dword ptr [eax+00000160] jmp return NoDamage: jmp newmem db 90 return: [DISABLE] NoDamage: db D9 80 60 01 00 00 unregistersymbol(NoDamage) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2F9EACCE ""+2F9EACB5: E9 6E 53 22 D6 - jmp 05C10028 ""+2F9EACBA: 00 00 - add [eax],al ""+2F9EACBC: 00 00 - add [eax],al ""+2F9EACBE: 00 00 - add [eax],al ""+2F9EACC0: 55 - push ebp ""+2F9EACC1: 8B EC - mov ebp,esp ""+2F9EACC3: 83 EC 08 - sub esp,08 ""+2F9EACC6: D9 EE - fldz ""+2F9EACC8: D9 5D FC - fstp dword ptr [ebp-04] ""+2F9EACCB: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2F9EACCE: D9 80 60 01 00 00 - fld dword ptr [eax+00000160] // ---------- DONE INJECTING ---------- ""+2F9EACD4: D9 80 64 01 00 00 - fld dword ptr [eax+00000164] ""+2F9EACDA: DE F9 - fdivp st(1),st(0) ""+2F9EACDC: D9 5D FC - fstp dword ptr [ebp-04] ""+2F9EACDF: D9 45 FC - fld dword ptr [ebp-04] ""+2F9EACE2: D9 EE - fldz ""+2F9EACE4: D9 E8 - fld1 ""+2F9EACE6: 83 EC 04 - sub esp,04 ""+2F9EACE9: 83 EC 04 - sub esp,04 ""+2F9EACEC: D9 1C 24 - fstp dword ptr [esp] ""+2F9EACEF: 83 EC 04 - sub esp,04 } Медицинские припасы не заканчиваются после использования: Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(NORELMED,8B 45 08 D9 40 10 D9 05) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(NORELMED) newmem: mov [eax+10], (float)0.5 code: mov eax,[ebp+08] fld dword ptr [eax+10] jmp return NORELMED: jmp newmem db 90 return: [DISABLE] NORELMED: db 8B 45 08 D9 40 10 unregistersymbol(NORELMED) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 259F2E81 ""+259F2E6E: C9 - leave ""+259F2E6F: C3 - ret ""+259F2E70: 55 - push ebp ""+259F2E71: 8B EC - mov ebp,esp ""+259F2E73: 56 - push esi ""+259F2E74: 83 EC 14 - sub esp,14 ""+259F2E77: D9 EE - fldz ""+259F2E79: D9 5D F8 - fstp dword ptr [ebp-08] ""+259F2E7C: D9 EE - fldz ""+259F2E7E: D9 5D F4 - fstp dword ptr [ebp-0C] // ---------- INJECTING HERE ---------- ""+259F2E81: 8B 45 08 - mov eax,[ebp+08] ""+259F2E84: D9 40 10 - fld dword ptr [eax+10] // ---------- DONE INJECTING ---------- ""+259F2E87: D9 05 D8 CC A5 3A - fld dword ptr [3AA5CCD8] ""+259F2E8D: DF F1 - fcomip st(0),st(1) ""+259F2E8F: DD D8 - fstp st(0) ""+259F2E91: 72 07 - jb 259F2E9A ""+259F2E93: D9 EE - fldz ""+259F2E95: E9 6D 00 00 00 - jmp 259F2F07 ""+259F2E9A: D9 E8 - fld1 ""+259F2E9C: D9 5D F8 - fstp dword ptr [ebp-08] ""+259F2E9F: 8B 45 08 - mov eax,[ebp+08] ""+259F2EA2: 8B 70 18 - mov esi,[eax+18] } Может кому понадобится. На этом пока все, чего еще наищу - выложу. Повторюсь еще раз: Буду рад любым комментариям по корректировки написания (способа и грамотности) скрипта. С Уважением Александр. 5 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 2 августа, 2017 Поделиться Опубликовано 2 августа, 2017 Я когда то делал к ней уже тоже В стиме даже игру для этого купил, но надоело и просил.. Хоть и игра обновлялась раз в пол года, но всё же. Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 2 августа, 2017 Поделиться Опубликовано 2 августа, 2017 1 час назад, LIRW сказал: Хоть и игра обновлялась раз в пол года, но всё же вчера релиз был, ты скорее всего делал на альфу 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 3 августа, 2017 Автор Поделиться Опубликовано 3 августа, 2017 (изменено) Добавлю: Бесконечное масло в лампе (нужно зажечь лампу): Скрытый текст { Game : tld.exe Version: Date : 2017-08-03 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(Fonar,D9 40 50 DE C9 D9 40) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Fonar) newmem: mov [eax+50], (float)1 code: fld dword ptr [eax+50] fmulp st(1),st(0) jmp return Fonar: jmp newmem return: [DISABLE] Fonar: db D9 40 50 DE C9 unregistersymbol(Fonar) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 0836692C ""+8366914: 5F - pop edi ""+8366915: C9 - leave ""+8366916: C3 - ret ""+8366917: 00 55 8B - add [ebp-75],dl ""+836691A: EC - in al,dx ""+836691B: 83 EC 08 - sub esp,08 ""+836691E: D9 EE - fldz ""+8366920: D9 5D FC - fstp dword ptr [ebp-04] ""+8366923: D9 05 D8 AA 93 39 - fld dword ptr [3993AAD8] ""+8366929: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+836692C: D9 40 50 - fld dword ptr [eax+50] ""+836692F: DE C9 - fmulp st(1),st(0) // ---------- DONE INJECTING ---------- ""+8366931: D9 40 38 - fld dword ptr [eax+38] ""+8366934: DE F9 - fdivp st(1),st(0) ""+8366936: D9 5D FC - fstp dword ptr [ebp-04] ""+8366939: D9 45 FC - fld dword ptr [ebp-04] ""+836693C: D9 EE - fldz ""+836693E: D9 05 E8 AA 93 39 - fld dword ptr [3993AAE8] ""+8366944: 83 EC 04 - sub esp,04 ""+8366947: 83 EC 04 - sub esp,04 ""+836694A: D9 1C 24 - fstp dword ptr [esp] ""+836694D: 83 EC 04 - sub esp,04 } Один бесконечный Патрон в магазине (пока не нашел как убрать анимацию после выстрела): Скрытый текст { Game : tld.exe Version: Date : 2017-08-03 Author : ALEXSP This script does blah blah blah } [ENABLE] aobscan(NoReloadAmmo,8B 40 28 85 C0 75 2C) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(NoReloadAmmo) newmem: mov [eax+28],#1 code: mov eax,[eax+28] test eax,eax jmp return NoReloadAmmo: jmp newmem return: [DISABLE] NoReloadAmmo: db 8B 40 28 85 C0 unregistersymbol(NoReloadAmmo) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 431EB4BF ""+431EB49F: 8B 46 7C - mov eax,[esi+7C] ""+431EB4A2: 8B 40 2C - mov eax,[eax+2C] ""+431EB4A5: 85 C0 - test eax,eax ""+431EB4A7: 75 13 - jne 431EB4BC ""+431EB4A9: 83 EC 0C - sub esp,0C ""+431EB4AC: FF 75 08 - push [ebp+08] ""+431EB4AF: E8 D4 81 19 F0 - call 33383688 ""+431EB4B4: 83 C4 10 - add esp,10 ""+431EB4B7: E9 31 06 00 00 - jmp 431EBAED ""+431EB4BC: 8B 46 7C - mov eax,[esi+7C] // ---------- INJECTING HERE ---------- ""+431EB4BF: 8B 40 28 - mov eax,[eax+28] ""+431EB4C2: 85 C0 - test eax,eax // ---------- DONE INJECTING ---------- ""+431EB4C4: 75 2C - jne 431EB4F2 ""+431EB4C6: 8B 45 08 - mov eax,[ebp+08] ""+431EB4C9: 0F B6 40 5D - movzx eax,byte ptr [eax+5D] ""+431EB4CD: 85 C0 - test eax,eax ""+431EB4CF: 75 28 - jne 431EB4F9 ""+431EB4D1: B8 5C EE B1 04 - mov eax,04B1EE5C ""+431EB4D6: D9 00 - fld dword ptr [eax] ""+431EB4D8: 83 EC 0C - sub esp,0C ""+431EB4DB: 83 EC 04 - sub esp,04 ""+431EB4DE: D9 1C 24 - fstp dword ptr [esp] } Изменено 3 августа, 2017 пользователем Strajder Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 3 августа, 2017 Поделиться Опубликовано 3 августа, 2017 (изменено) Самое важное забыл, не портящиеся предметы P.S. Пробовал сделать бесконечный факел, но значение меняется только визуально Изменено 3 августа, 2017 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 3 августа, 2017 Поделиться Опубликовано 3 августа, 2017 2 часа назад, DeadCraft сказал: но значение меняется только визуально Потому что максимальное значение факела там 0 и значение не убавляется, а прибавляется. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 3 августа, 2017 Поделиться Опубликовано 3 августа, 2017 1 час назад, LIRW сказал: Потому что максимальное значение факела там 0 и значение не убавляется, а прибавляется. Прикол в том, что даже заморозить нельзя Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 3 августа, 2017 Поделиться Опубликовано 3 августа, 2017 21 минуту назад, DeadCraft сказал: Прикол в том, что даже заморозить нельзя Ну логично предположить, что это визуал/фейк. Ищи настоящее значение) В одиночной игре нет такого слова "нельзя", это значит что ты плохо искал)) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 10 часов назад, DeadCraft сказал: Прикол в том, что даже заморозить нельзя Ну я как то делал же ранее. Не морозится обычно то, что визуальное как это и написано комментарием выше. Я тоже ранее делал подобное - это масло в лампе и вот как раз факел. Потом обморожение ног так же находил с максимальным значение Выносливости. Ну знаешь - это если стоять на месте долго, то чел не сможет идти ну будет двигаться по 1 см в перед. Сейчас конечно не знаю что там и как в игре - может уже убрали подобное, но на вряд ли там что то изменилось. Вот он игру поставил нашел - сразу. Только под словом факел ты что имел введу ? Флаер или сам факел на палке ? А то тут в игре Флаер - факелом называют. Чудно тоже. Скрытый текст { Game : tld.exe Version: Date : 2017-08-04 Author : LIRW This script does blah blah blah } [ENABLE] aobscan(Flaer,D9 40 6C DD 5D F0 83 EC 0C 50 E8 93) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: fld dword ptr [eax+6C] fstp qword ptr [ebp-10] jmp return Flaer: jmp newmem db 90 return: registersymbol(Flaer) [DISABLE] Flaer: db D9 40 6C DD 5D F0 unregistersymbol(Flaer) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 02323FDE ""+2323FCB: 5E - pop esi ""+2323FCC: C9 - leave ""+2323FCD: C3 - ret ""+2323FCE: 00 00 - add [eax],al ""+2323FD0: 55 - push ebp ""+2323FD1: 8B EC - mov ebp,esp ""+2323FD3: 83 EC 18 - sub esp,18 ""+2323FD6: D9 E8 - fld1 ""+2323FD8: DD 5D F8 - fstp qword ptr [ebp-08] ""+2323FDB: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ""+2323FDE: D9 40 6C - fld dword ptr [eax+6C] ""+2323FE1: DD 5D F0 - fstp qword ptr [ebp-10] // ---------- DONE INJECTING ---------- ""+2323FE4: 83 EC 0C - sub esp,0C ""+2323FE7: 50 - push eax ""+2323FE8: E8 93 14 A1 1C - call 1ED35480 ""+2323FED: 83 C4 10 - add esp,10 ""+2323FF0: DD 45 F0 - fld qword ptr [ebp-10] ""+2323FF3: D9 C9 - fxch st(1) ""+2323FF5: DE F9 - fdivp st(1),st(0) ""+2323FF7: 83 EC 0C - sub esp,0C ""+2323FFA: 83 EC 04 - sub esp,04 ""+2323FFD: D9 1C 24 - fstp dword ptr [esp] } Либо так... Только его зажечь надо сначала. Скрытый текст [ENABLE] aobscan(Flaer,DE C1 D9 5F 6C BA) alloc(newmem,$1000) label(return) newmem: fldz fstp dword ptr [edi+6C] jmp return Flaer: jmp newmem return: registersymbol(Flaer) [DISABLE] Flaer: db DE C1 D9 5F 6C unregistersymbol(Flaer) dealloc(newmem) Вот щас пока стоял (искал значение) - опять ноги отказали Ну идет по 1 см А искал я отключение вот как... Функцию бега трайсер и смотришь уже. Так же сейф там можно сделать что бы без кода открывался. Потом делал быстрый поиск предметов - на кнопку нажал и ящик уже с обыском. Но что заметил, что баг подобное вызывает, а то есть предметы в ящике не генерируются. Так как наверное игра за то время пока ищешь - генерирует там что либо, а это мгновенно - бум и открыл и не чего наверное игра туда не записывает и ящик пустым постоянно открывается. Потом время полезно было бы найти - ну время суток я хотел как то, но игру бросил. Отключал так же ветер - на улице погоду делал + 30 и так далее... Там много всяких интересных вещей можно найти.. Главное фантазия Так же моешь сделать что бы печка не тухла - ну врубил на дровах её и она горела вечно. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 (изменено) Именно факел =) Не сигнальную шашку, хотя я её тоже находил. P.S. Да, время суток тоже прикольная тема Изменено 4 августа, 2017 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 1 час назад, DeadCraft сказал: Именно факел =) Не сигнальную шашку, хотя я её тоже находил. P.S. Да, время суток тоже прикольная тема Так нашел исход старый и если в него глянуть - то fld dword[edi+0x7c] fld dword[ebp-0xc] ret D9 47 7C D9 45 F4 DE AD DE D9 5F 7C // AD DE это пропуск байта 1 - попробуй может до сех пор работает :) Шашка у нас 6с а старый исход под факел - как видишь 7c + 10 в общем - погляди я просто занят щас. Но находил я именно факел на палке, а не шашку в то время. В факеле на палке есть очень не плохой плюс, а то есть он тушится, а шашка нет а значит найти будет проще простого. У меня просто факела нет - я бы нашел быстро. Вот попробую функцию - которая убирает бег в обще в игре. Ну вот играешь и знаешь полоска бега становится красной и ты не можешь бежать Хоть и выносливость полная... Вот сюда 0 пропиши и подобного не будет. Назвать функцию не знаю как. Скрытый текст [ENABLE] aobscan(Qwer,D9 40 44 DE C1 D9 5D) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: fld dword ptr [eax+44] faddp jmp return Qwer: jmp newmem return: registersymbol(Qwer) [DISABLE] Qwer: db D9 40 44 DE C1 unregistersymbol(Qwer) dealloc(newmem) Что бы понял о чем говорю - пропиши в скрипт 100 к примеру с точкой и поймешь о чем я. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 (изменено) Скрытый текст [ENABLE] aobscan(Flaer,DE C1 D9 5F 6C BA) alloc(newmem,$1000) label(return) newmem: fldz fstp dword ptr [edi+6C] jmp return Flaer: jmp newmem return: registersymbol(Flaer) [DISABLE] Flaer: db DE C1 D9 5F 6C unregistersymbol(Flaer) dealloc(newmem) Этот скрипт работает. Остальное я вообще не понял что к чему, так что не буду отнимать время. Всё равно без видео не пойму о чем речь, что как менять, всякие сигнатуры итд. Сколько уже пересмотрел уроков - толку 0. Под каждую игру свои манипуляции. Ещё и игра снова обновилась Изменено 4 августа, 2017 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 2 минуты назад, DeadCraft сказал: Под каждую игру свои манипуляции. Да вот смотри щас покажу скрипт. Скрытый текст [ENABLE] aobscan(Qwer,D9 40 44 DE C1 D9 5D) alloc(newmem,$1000) label(code) label(return) newmem: mov dword ptr [eax+44],(float)100 code: fld dword ptr [eax+44] faddp jmp return Qwer: jmp newmem return: registersymbol(Qwer) [DISABLE] Qwer: db D9 40 44 DE C1 unregistersymbol(Qwer) dealloc(newmem) Вот попробуй включи его в игре и попробуй побежать... А он у тебя не побежит - так как полоска выносливости будет вся красная. В игре же знаешь - ногой стукнешься к примеру и выносливость становится с каждом разом меньше. Может быть и в обще её не быть. Хотя скрипт на бесконечный бег включен. Вот если вписать в скрипт не 100 а 0 то будет убирать подобное. Только это один скрипт - надо ещо найти на обморожение норм - это когда он перестаёт идти. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 (изменено) Запили лучше как то видео о том как ты нашел адрес факела и заморозил его. Кстати такая же беда в Just Cause 2. Только там адрес ранца вообще даже найти не смог, не то что заморозить. Изменено 4 августа, 2017 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 23 минуты назад, DeadCraft сказал: Запили лучше как то видео о том как ты нашел адрес факела и заморозил его Так дай мне сохранение то с факелом. Я вот щас бегаю и не могу его найти На PG сохранение выложенные с Альфы не пашут. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 37 минут назад, LIRW сказал: Так дай мне сохранение то с факелом. Я вот щас бегаю и не могу его найти На PG сохранение выложенные с Альфы не пашут. Скрытый текст { Game : tld.exe Version: Date : 2017-08-02 Author : Kalas This script does blah blah blah } [ENABLE] aobscan(EasyCraftAOB,8B 40 0C 3B D8 0F 8C 22 FF) alloc(newmem,$100,EasyCraftAOB) label(code) label(return) newmem: code: mov [eax+0C],0 mov eax,[eax+0C] cmp ebx,eax jmp return EasyCraftAOB: jmp newmem return: registersymbol(EasyCraftAOB) [DISABLE] EasyCraftAOB: db 8B 40 0C 3B D8 unregistersymbol(EasyCraftAOB) dealloc(newmem) Во время крафта активируешь Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 2 часа назад, LIRW сказал: Вот попробую функцию - которая убирает бег в обще в игре. Ну вот играешь и знаешь полоска бега становится красной и ты не можешь бежать Хоть и выносливость полная... Вот сюда 0 пропиши и подобного не будет. Назвать функцию не знаю как. Я смотрел и [eax+50] это быстрота понижения полоски бега так же [eax+4C] это быстрота восстановления когда ты не бегаешь. Так же [eax+68] это максимальное число полоски. Про [eax+44] не помню тоже что-то делает. Там вообще можно делать быстрое понижение или быстрое восстановление ( бега\усталости\калории\холод\жажда ) или во все отключать их понижение ( или восстановление ). Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 Только что, what228 сказал: Я смотрел и [eax+50] Самая поганая функция тут - это когда ноги не идут. Вот её отрубить надо. Ну думаю понял о какой говорю - это когда долго стоишь и он говорит - я не чувствую конечностей. Функция отключение (что бы не замерзнуть) она не проканает. Я её находил как то, но она теперь не пашет.. В принципе и не чего удивительно - Юнити Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 16 минут назад, LIRW сказал: это когда долго стоишь и он говорит - я не чувствую конечностей. Я игру только вчера установил. Не понимаю о чем ты Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 50 минут назад, DeadCraft сказал: Во время крафта активируешь Вот функция - ищется 3 минуты. Скрытый текст Вот так к примеру записать и он бесконечен. Скрытый текст [ENABLE] aobscan(Fakel,D9 9F 80 00 00 00 BA) alloc(newmem,$1000) label(return) newmem: fldz fstp dword ptr [edi+00000080] jmp return Fakel: jmp newmem db 90 return: registersymbol(Fakel) [DISABLE] Fakel: db D9 9F 80 00 00 00 unregistersymbol(Fakel) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 6 минут назад, what228 сказал: Не понимаю о чем ты А я думал ты уже играл когда либо... Да там если долго стоять на морозе - ну плохо одетый, то ноги мерзнут и персонаж не идет Вот до трусов разденься в игре или ботинки сними - попробуй постоять минут 5-10 а что бы просто так не ждать, функцию там какую не будь поищи - ну что бы занять себя чем то.. Он начнет говорить - мол я не чувствую своих конечностей и вот спустя какое то время, у него ноги откажут Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 (изменено) Ну вот моя как раз ошибка в том, что искал я в % Теперь ясно. СПС Изменено 4 августа, 2017 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 (изменено) 10 минут назад, LIRW сказал: Да там если долго стоять на морозе - ну плохо одетый, то ноги мерзнут и персонаж не идет Посмотрю и отпишу. Изменено 4 августа, 2017 пользователем what228 Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 4 августа, 2017 Поделиться Опубликовано 4 августа, 2017 Скрытый текст { Game : tld.exe Version: Date : 2017-08-04 Author : ????????????? This script does blah blah blah } [ENABLE] aobscan(Torch,D9 9F 80 00 00 00 BA) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: //fstp dword ptr [edi+00000080] jmp return Torch: jmp newmem nop return: registersymbol(Torch) [DISABLE] Torch: db D9 9F 80 00 00 00 unregistersymbol(Torch) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 1B09043E ""+1B09041F: 83 EC 04 - sub esp,04 ""+1B090422: D9 1C 24 - fstp dword ptr [esp] ""+1B090425: 50 - push eax ""+1B090426: 39 00 - cmp [eax],eax ""+1B090428: E8 03 50 4E F0 - call 0B575430 ""+1B09042D: 83 C4 10 - add esp,10 ""+1B090430: D9 5D F4 - fstp dword ptr [ebp-0C] ""+1B090433: D9 87 80 00 00 00 - fld dword ptr [edi+00000080] ""+1B090439: D9 45 F4 - fld dword ptr [ebp-0C] ""+1B09043C: DE C1 - faddp // ---------- INJECTING HERE ---------- ""+1B09043E: D9 9F 80 00 00 00 - fstp dword ptr [edi+00000080] // ---------- DONE INJECTING ---------- ""+1B090444: BA 20 4F 58 34 - mov edx,34584F20 ""+1B090449: 83 EC 0C - sub esp,0C ""+1B09044C: 57 - push edi ""+1B09044D: E8 F6 7C 3A EA - call 05438148 ""+1B090452: 83 C4 10 - add esp,10 ""+1B090455: 8B F0 - mov esi,eax ""+1B090457: D9 86 64 01 00 00 - fld dword ptr [esi+00000164] ""+1B09045D: DD 5D D8 - fstp qword ptr [ebp-28] ""+1B090460: D9 E8 - fld1 ""+1B090462: DD 5D D0 - fstp qword ptr [ebp-30] Сделал очень грубо. Вопрос в том как прикрутить ему (float) 0 что бы значение было всегда 100% ? Чисто ради интереса Ссылка на комментарий Поделиться на другие сайты Поделиться
Strajder Опубликовано 4 августа, 2017 Автор Поделиться Опубликовано 4 августа, 2017 Попробуй так: Скрытый текст { Game : tld.exe Version: Date : 2017-08-04 Author : ????????????? This script does blah blah blah } [ENABLE] aobscan(Torch,D9 9F 80 00 00 00 BA) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Torch) newmem: mov [edi+00000080], (float)0 code: fstp dword ptr [edi+00000080] jmp return Torch: jmp newmem db 90 return: [DISABLE] Torch: db D9 9F 80 00 00 00 unregistersymbol(Torch) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 1B09043E ""+1B09041F: 83 EC 04 - sub esp,04 ""+1B090422: D9 1C 24 - fstp dword ptr [esp] ""+1B090425: 50 - push eax ""+1B090426: 39 00 - cmp [eax],eax ""+1B090428: E8 03 50 4E F0 - call 0B575430 ""+1B09042D: 83 C4 10 - add esp,10 ""+1B090430: D9 5D F4 - fstp dword ptr [ebp-0C] ""+1B090433: D9 87 80 00 00 00 - fld dword ptr [edi+00000080] ""+1B090439: D9 45 F4 - fld dword ptr [ebp-0C] ""+1B09043C: DE C1 - faddp // ---------- INJECTING HERE ---------- ""+1B09043E: D9 9F 80 00 00 00 - fstp dword ptr [edi+00000080] // ---------- DONE INJECTING ---------- ""+1B090444: BA 20 4F 58 34 - mov edx,34584F20 ""+1B090449: 83 EC 0C - sub esp,0C ""+1B09044C: 57 - push edi ""+1B09044D: E8 F6 7C 3A EA - call 05438148 ""+1B090452: 83 C4 10 - add esp,10 ""+1B090455: 8B F0 - mov esi,eax ""+1B090457: D9 86 64 01 00 00 - fld dword ptr [esi+00000164] ""+1B09045D: DD 5D D8 - fstp qword ptr [ebp-28] ""+1B090460: D9 E8 - fld1 ""+1B090462: DD 5D D0 - fstp qword ptr [ebp-30] Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения