Garik66 Опубликовано 6 июля, 2016 Поделиться Опубликовано 6 июля, 2016 (изменено) Темы связанные с табличкой: 1. Fallout 2 100 % шанс воровства. ( 100% Theft) 2. Fallout 2 min max inventory weight GG 4. Fallout Illumination items (Пишем скрипт - подсветка предметов.) Пишем скрипты: 1. Точность "Accuracy 95 %". Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(accuracy,DDRAW.dll,60 6A 00 E8 23 00 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(accuracy) newmem: mov eax,#95 mov [DDRAW.dll+59E68],eax code: pushad push 00 call DDRAW.dll+30D30 jmp return accuracy: jmp newmem db 90 90 90 return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} accuracy: db 60 6A 00 E8 23 00 00 00 unregistersymbol(accuracy) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DDRAW.dll"+30D05 "DDRAW.dll"+30CD1: E8 7A 01 00 00 - call DDRAW.dll+30E50 "DDRAW.dll"+30CD6: 61 - popad "DDRAW.dll"+30CD7: C7 05 8C 9F 35 02 04 00 00 00 - mov [DDRAW.dll+59F8C],00000004 "DDRAW.dll"+30CE1: A3 6C 9E 35 02 - mov [DDRAW.dll+59E6C],eax "DDRAW.dll"+30CE6: 89 1D 70 9E 35 02 - mov [DDRAW.dll+59E70],ebx "DDRAW.dll"+30CEC: 89 0D 74 9E 35 02 - mov [DDRAW.dll+59E74],ecx "DDRAW.dll"+30CF2: FF 74 24 08 - push [esp+08] "DDRAW.dll"+30CF6: FF 74 24 08 - push [esp+08] "DDRAW.dll"+30CFA: FF 15 10 FA 34 02 - call dword ptr [DDRAW.dll+4FA10] "DDRAW.dll"+30D00: A3 68 9E 35 02 - mov [DDRAW.dll+59E68],eax // ---------- INJECTING HERE ---------- "DDRAW.dll"+30D05: 60 - pushad "DDRAW.dll"+30D06: 6A 00 - push 00 "DDRAW.dll"+30D08: E8 23 00 00 00 - call DDRAW.dll+30D30 // ---------- DONE INJECTING ---------- "DDRAW.dll"+30D0D: 61 - popad "DDRAW.dll"+30D0E: 83 3D 60 9E 35 02 01 - cmp dword ptr [DDRAW.dll+59E60],01 "DDRAW.dll"+30D15: 7C 05 - jl DDRAW.dll+30D1C "DDRAW.dll"+30D17: A1 20 9E 35 02 - mov eax,[DDRAW.dll+59E20] "DDRAW.dll"+30D1C: 60 - pushad "DDRAW.dll"+30D1D: E8 BE 00 00 00 - call DDRAW.dll+30DE0 "DDRAW.dll"+30D22: 61 - popad "DDRAW.dll"+30D23: C2 08 00 - ret 0008 "DDRAW.dll"+30D26: CC - int 3 "DDRAW.dll"+30D27: CC - int 3 } 2. Дистанция поражения "Distance defeat MAX". Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(Distance,FALLOUT2.EXE,8B 34 24 8B 76 34) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Distance) newmem: code: mov esi,[esp] mov esi,#200 jmp return Distance: jmp newmem db 90 return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} Distance: db 8B 34 24 8B 76 34 unregistersymbol(Distance) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+78A9C "FALLOUT2.EXE"+78A7A: E9 7D 00 00 00 - jmp FALLOUT2.EXE+78AFC "FALLOUT2.EXE"+78A7F: B8 02 00 00 00 - mov eax,00000002 "FALLOUT2.EXE"+78A84: E9 73 00 00 00 - jmp FALLOUT2.EXE+78AFC "FALLOUT2.EXE"+78A89: 89 E2 - mov edx,esp "FALLOUT2.EXE"+78A8B: 8B 47 64 - mov eax,[edi+64] "FALLOUT2.EXE"+78A8E: E8 75 96 02 00 - call FALLOUT2.EXE+A2108 "FALLOUT2.EXE"+78A93: 85 DB - test ebx,ebx "FALLOUT2.EXE"+78A95: 74 05 - je FALLOUT2.EXE+78A9C "FALLOUT2.EXE"+78A97: 83 FB 02 - cmp ebx,02 "FALLOUT2.EXE"+78A9A: 75 08 - jne FALLOUT2.EXE+78AA4 // ---------- INJECTING HERE ---------- "FALLOUT2.EXE"+78A9C: 8B 34 24 - mov esi,[esp] "FALLOUT2.EXE"+78A9F: 8B 76 34 - mov esi,[esi+34] // ---------- DONE INJECTING ---------- "FALLOUT2.EXE"+78AA2: EB 06 - jmp FALLOUT2.EXE+78AAA "FALLOUT2.EXE"+78AA4: 8B 34 24 - mov esi,[esp] "FALLOUT2.EXE"+78AA7: 8B 76 38 - mov esi,[esi+38] "FALLOUT2.EXE"+78AAA: 89 DA - mov edx,ebx "FALLOUT2.EXE"+78AAC: 89 F8 - mov eax,edi "FALLOUT2.EXE"+78AAE: E8 CD F7 FF FF - call FALLOUT2.EXE+78280 "FALLOUT2.EXE"+78AB3: 83 F8 03 - cmp eax,03 "FALLOUT2.EXE"+78AB6: 75 42 - jne FALLOUT2.EXE+78AFA "FALLOUT2.EXE"+78AB8: 8B 15 B8 10 66 00 - mov edx,[FALLOUT2.EXE+2610B8] "FALLOUT2.EXE"+78ABE: 39 D1 - cmp ecx,edx } 3. Без перезарядки оружия - "No reload". Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(Ammo,FALLOUT2.EXE,89 4B 3C 83 C4 08) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Ammo) newmem: cmp ecx,[ebx+3C] ja code mov ecx,[ebx+3C] code: mov [ebx+3C],ecx add esp,08 jmp return Ammo: jmp newmem db 90 return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} Ammo: db 89 4B 3C 83 C4 08 unregistersymbol(Ammo) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+7875E "FALLOUT2.EXE"+78743: 7E 02 - jle FALLOUT2.EXE+78747 "FALLOUT2.EXE"+78745: 89 C1 - mov ecx,eax "FALLOUT2.EXE"+78747: 85 C9 - test ecx,ecx "FALLOUT2.EXE"+78749: 7D 02 - jnl FALLOUT2.EXE+7874D "FALLOUT2.EXE"+7874B: 31 C9 - xor ecx,ecx "FALLOUT2.EXE"+7874D: 89 E2 - mov edx,esp "FALLOUT2.EXE"+7874F: 8B 43 64 - mov eax,[ebx+64] "FALLOUT2.EXE"+78752: E8 B1 99 02 00 - call FALLOUT2.EXE+A2108 "FALLOUT2.EXE"+78757: 8B 04 24 - mov eax,[esp] "FALLOUT2.EXE"+7875A: 83 78 20 04 - cmp dword ptr [eax+20],04 // ---------- INJECTING HERE ---------- "FALLOUT2.EXE"+7875E: 89 4B 3C - mov [ebx+3C],ecx "FALLOUT2.EXE"+78761: 83 C4 08 - add esp,08 // ---------- DONE INJECTING ---------- "FALLOUT2.EXE"+78764: 59 - pop ecx "FALLOUT2.EXE"+78765: 5B - pop ebx "FALLOUT2.EXE"+78766: C3 - ret "FALLOUT2.EXE"+78767: 90 - nop "FALLOUT2.EXE"+78768: 53 - push ebx "FALLOUT2.EXE"+78769: 51 - push ecx "FALLOUT2.EXE"+7876A: 56 - push esi "FALLOUT2.EXE"+7876B: 83 EC 08 - sub esp,08 "FALLOUT2.EXE"+7876E: 89 C6 - mov esi,eax "FALLOUT2.EXE"+78770: 89 D1 - mov ecx,edx } 4. Скрипт "Chang object by ID" пока не дописан: Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique alloc(newmem,$1000) label(code) label(return) label(IDItem) registersymbol(IDItem) label(flag) registersymbol(flag) registersymbol(object) newmem: mov edx,[eax+64] cmp [flag],1 jne code mov [IDItem],edx mov [flag],0 code: shr edx,18 jmp return IDItem: dd 0 flag: dd 0 object: jmp newmem db 90 return: [DISABLE] object: db 8B 50 64 C1 EA 18 unregistersymbol(flag) unregistersymbol(IDItem) unregistersymbol(object) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E "FALLOUT2.EXE"+77AF4: 8B 40 64 - mov eax,[eax+64] "FALLOUT2.EXE"+77AF7: E9 20 70 02 00 - jmp FALLOUT2.EXE+9EB1C "FALLOUT2.EXE"+77AFC: 52 - push edx "FALLOUT2.EXE"+77AFD: 83 EC 04 - sub esp,04 "FALLOUT2.EXE"+77B00: 85 C0 - test eax,eax "FALLOUT2.EXE"+77B02: 75 0A - jne FALLOUT2.EXE+77B0E "FALLOUT2.EXE"+77B04: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B09: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B0C: 5A - pop edx "FALLOUT2.EXE"+77B0D: C3 - ret // ---------- INJECTING HERE ---------- "FALLOUT2.EXE"+77B0E: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B11: C1 EA 18 - shr edx,18 // ---------- DONE INJECTING ---------- "FALLOUT2.EXE"+77B14: 85 D2 - test edx,edx "FALLOUT2.EXE"+77B16: 74 0A - je FALLOUT2.EXE+77B22 "FALLOUT2.EXE"+77B18: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B1D: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B20: 5A - pop edx "FALLOUT2.EXE"+77B21: C3 - ret "FALLOUT2.EXE"+77B22: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00 - cmp edx,0000017F "FALLOUT2.EXE"+77B2B: EB 0A - jmp FALLOUT2.EXE+77B37 "FALLOUT2.EXE"+77B2D: B8 05 00 00 00 - mov eax,00000005 } Видео: Сама табличка: Табличку выложил в 4 теме. Изменено 13 июля, 2016 пользователем Garik66 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 7 июля, 2016 Автор Поделиться Опубликовано 7 июля, 2016 (изменено) Дописал 4. Скрипт "Chang object by ID" Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique alloc(newmem,$1000) label(code) label(return) label(IDItem) registersymbol(IDItem) label(flag) registersymbol(object) newmem: cmp [flag],1 jne code mov [IDItem],eax mov [flag],0 code: mov edx,[eax+64] shr edx,18 jmp return IDItem: dd 0 flag: dd 1 object: jmp newmem db 90 return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} object: db 8B 50 64 C1 EA 18 unregistersymbol(IDItem) unregistersymbol(object) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E "FALLOUT2.EXE"+77AF4: 8B 40 64 - mov eax,[eax+64] "FALLOUT2.EXE"+77AF7: E9 20 70 02 00 - jmp FALLOUT2.EXE+9EB1C "FALLOUT2.EXE"+77AFC: 52 - push edx "FALLOUT2.EXE"+77AFD: 83 EC 04 - sub esp,04 "FALLOUT2.EXE"+77B00: 85 C0 - test eax,eax "FALLOUT2.EXE"+77B02: 75 0A - jne FALLOUT2.EXE+77B0E "FALLOUT2.EXE"+77B04: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B09: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B0C: 5A - pop edx "FALLOUT2.EXE"+77B0D: C3 - ret // ---------- INJECTING HERE ---------- "FALLOUT2.EXE"+77B0E: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B11: C1 EA 18 - shr edx,18 // ---------- DONE INJECTING ---------- "FALLOUT2.EXE"+77B14: 85 D2 - test edx,edx "FALLOUT2.EXE"+77B16: 74 0A - je FALLOUT2.EXE+77B22 "FALLOUT2.EXE"+77B18: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B1D: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B20: 5A - pop edx "FALLOUT2.EXE"+77B21: C3 - ret "FALLOUT2.EXE"+77B22: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00 - cmp edx,0000017F "FALLOUT2.EXE"+77B2B: EB 0A - jmp FALLOUT2.EXE+77B37 "FALLOUT2.EXE"+77B2D: B8 05 00 00 00 - mov eax,00000005 } Видео: Сама табличка Табличку выложил в 4 теме. Изменено 13 июля, 2016 пользователем Garik66 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 июля, 2016 Автор Поделиться Опубликовано 9 июля, 2016 (изменено) Добавил опцию просмотра всех предметов в игре + начал писать аналогичные скрипты и для Fallout 1. 4. Скрипт "Chang object by ID" Скрытый текст { Game : FALLOUT2.EXE Version: Date : 2016-07-06 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(object,FALLOUT2.EXE,8B 50 64 C1 EA 18 85 D2 74 0A) // should be unique alloc(newmem,$1000) label(code) label(return) label(IDItem) registersymbol(IDItem) label(flag) label(flag1) registersymbol(flag1) registersymbol(object) newmem: cmp [flag1],0 jne @f cmp [flag],1 jne code mov [IDItem],eax mov [flag],0 jmp code @@: cmp [flag1],7 jne @f mov edx,[IDItem] inc [edx+64] mov [flag1],0 cmp [edx+64],#597 jne @f mov [edx+64],1 @@: inc [flag1] code: mov edx,[eax+64] shr edx,18 jmp return IDItem: dd 0 flag: dd 1 flag1: dd 0 object: jmp newmem db 90 return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} object: db 8B 50 64 C1 EA 18 unregistersymbol(flag1) unregistersymbol(IDItem) unregistersymbol(object) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FALLOUT2.EXE"+77B0E "FALLOUT2.EXE"+77AF4: 8B 40 64 - mov eax,[eax+64] "FALLOUT2.EXE"+77AF7: E9 20 70 02 00 - jmp FALLOUT2.EXE+9EB1C "FALLOUT2.EXE"+77AFC: 52 - push edx "FALLOUT2.EXE"+77AFD: 83 EC 04 - sub esp,04 "FALLOUT2.EXE"+77B00: 85 C0 - test eax,eax "FALLOUT2.EXE"+77B02: 75 0A - jne FALLOUT2.EXE+77B0E "FALLOUT2.EXE"+77B04: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B09: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B0C: 5A - pop edx "FALLOUT2.EXE"+77B0D: C3 - ret // ---------- INJECTING HERE ---------- "FALLOUT2.EXE"+77B0E: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B11: C1 EA 18 - shr edx,18 // ---------- DONE INJECTING ---------- "FALLOUT2.EXE"+77B14: 85 D2 - test edx,edx "FALLOUT2.EXE"+77B16: 74 0A - je FALLOUT2.EXE+77B22 "FALLOUT2.EXE"+77B18: B8 05 00 00 00 - mov eax,00000005 "FALLOUT2.EXE"+77B1D: 83 C4 04 - add esp,04 "FALLOUT2.EXE"+77B20: 5A - pop edx "FALLOUT2.EXE"+77B21: C3 - ret "FALLOUT2.EXE"+77B22: 8B 50 64 - mov edx,[eax+64] "FALLOUT2.EXE"+77B25: 81 FA 7F 01 00 00 - cmp edx,0000017F "FALLOUT2.EXE"+77B2B: EB 0A - jmp FALLOUT2.EXE+77B37 "FALLOUT2.EXE"+77B2D: B8 05 00 00 00 - mov eax,00000005 } Видео: Сама табличка: ТТабличку выложил в 4 теме. Изменено 13 июля, 2016 пользователем Garik66 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 10 июля, 2016 Автор Поделиться Опубликовано 10 июля, 2016 (изменено) Дописал скрипт "Accuracy - 95 %" и для Fallout 1: Скрытый текст { Game : Falloutw.exe Version: Date : 2016-07-10 Author : Garik66 This script does blah blah blah } [ENABLE] {$LUA} PlaySound(findTableFile([[Activate]])) {$ASM} aobscanmodule(Accuracy,Falloutw.exe,89 F0 83 C4 18) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Accuracy) newmem: mov esi,#95 code: mov eax,esi add esp,18 jmp return Accuracy: jmp newmem return: [DISABLE] {$LUA} PlaySound(findTableFile([[Deactivate]])) {$ASM} Accuracy: db 89 F0 83 C4 18 unregistersymbol(Accuracy) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Falloutw.exe"+2228A "Falloutw.exe"+22269: 75 03 - jne Falloutw.exe+2226E "Falloutw.exe"+2226B: 83 C6 14 - add esi,14 "Falloutw.exe"+2226E: 83 FE 5F - cmp esi,5F "Falloutw.exe"+22271: 7E 05 - jle Falloutw.exe+22278 "Falloutw.exe"+22273: BE 5F 00 00 00 - mov esi,0000005F "Falloutw.exe"+22278: 83 FE 9C - cmp esi,-64 "Falloutw.exe"+2227B: 7D 0D - jnl Falloutw.exe+2228A "Falloutw.exe"+2227D: 68 3C 0A 4F 00 - push Falloutw.exe+F0A3C "Falloutw.exe"+22282: E8 B1 12 09 00 - call Falloutw.exe+B3538 "Falloutw.exe"+22287: 83 C4 04 - add esp,04 // ---------- INJECTING HERE ---------- "Falloutw.exe"+2228A: 89 F0 - mov eax,esi "Falloutw.exe"+2228C: 83 C4 18 - add esp,18 // ---------- DONE INJECTING ---------- "Falloutw.exe"+2228F: 5D - pop ebp "Falloutw.exe"+22290: 5F - pop edi "Falloutw.exe"+22291: 5E - pop esi "Falloutw.exe"+22292: C2 04 00 - ret 0004 "Falloutw.exe"+22295: 8D 40 00 - lea eax,[eax+00] "Falloutw.exe"+22298: 51 - push ecx "Falloutw.exe"+22299: 56 - push esi "Falloutw.exe"+2229A: 57 - push edi "Falloutw.exe"+2229B: 55 - push ebp "Falloutw.exe"+2229C: 83 EC 28 - sub esp,28 } Видео: Табличка: Табличку выложил в 4 теме. Изменено 13 июля, 2016 пользователем Garik66 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shan0x228 Опубликовано 5 августа, 2016 Поделиться Опубликовано 5 августа, 2016 Спасибо, очень полезные видео. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения