Garik66 Опубликовано 10 июля, 2016 Поделиться Опубликовано 10 июля, 2016 (изменено) По запросу 7 days to die написал скрипт God Mod. Использовал один из способов написания фильтра. Видео получилось длинным - 55 минут. (Я чуть-чуть притормозил - извините.) Сам скрипт: Скрытый текст { Game : 7DaysToDie.exe Version: лицензия Steam Alpha 14.7 (64bit) Date : 2016-07-10 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(Pointer,48 8B 46 18 F3 0F 10 45 CC) // should be unique aobscan(GodMod,F3 0F 11 6E 24 48 8B CE) alloc(newmem,$1000,2A0C488C) label(newmem1) label(code) label(code1) label(return) label(return1) label(Health) registersymbol(Health) label(Stamina) registersymbol(Stamina) registersymbol(Pointer) registersymbol(GodMod) newmem: mov ecx,[rsi+10] mov [Health],ecx mov ecx,[rsi+18] mov [Stamina],ecx code: mov rax,[rsi+18] movss xmm0,[rbp-34] jmp return newmem1: mov rcx,[Health] cmp rcx,rsi je @f mov rcx,[Stamina] cmp rcx,rsi je @f jmp code1 @@: fld [rsi+20] fstp [rsi+24] jmp return1 code1: movss [rsi+24],xmm5 jmp return1 Health: dq (double)0 Stamina: dq (double)0 Pointer: jmp newmem db 90 90 90 90 return: GodMod: jmp newmem1 return1: [DISABLE] Pointer: db 48 8B 46 18 F3 0F 10 45 CC GodMod: db F3 0F 11 6E 24 unregistersymbol(Health) unregistersymbol(Stamina) unregistersymbol(Pointer) unregistersymbol(GodMod) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2A0C488C 2A0C4862: 4C 8B C5 - mov r8,rbp 2A0C4865: 49 83 C0 CC - add r8,-34 2A0C4869: 48 8B C8 - mov rcx,rax 2A0C486C: BA 0C 00 00 00 - mov edx,0000000C 2A0C4871: 45 33 C9 - xor r9d,r9d 2A0C4874: 48 83 EC 20 - sub rsp,20 2A0C4878: 83 38 00 - cmp dword ptr [rax],00 2A0C487B: 49 BB F0 49 0C 2A 00 00 00 00 - mov r11,000000002A0C49F0 2A0C4885: 41 FF D3 - call r11d 2A0C4888: 48 83 C4 20 - add rsp,20 // ---------- INJECTING HERE ---------- 2A0C488C: 48 8B 46 18 - mov rax,[rsi+18] 2A0C4890: F3 0F 10 45 CC - movss xmm0,[rbp-34] // ---------- DONE INJECTING ---------- 2A0C4895: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 2A0C4899: 48 8B C8 - mov rcx,rax 2A0C489C: F2 0F 10 C8 - movsd xmm1,xmm0 2A0C48A0: F2 0F 5A C9 - cvtsd2ss xmm1,xmm1 2A0C48A4: 48 83 EC 20 - sub rsp,20 2A0C48A8: 83 38 00 - cmp dword ptr [rax],00 2A0C48AB: 49 BB 60 4C E6 00 00 00 00 00 - mov r11,0000000000E64C60 2A0C48B5: 41 FF D3 - call r11d 2A0C48B8: 48 83 C4 20 - add rsp,20 2A0C48BC: B8 18 3D 2C 04 - mov eax,042C3D18 } { // ORIGINAL CODE - INJECTION POINT: 00E64EE2 00E64EB6: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 00E64EBA: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 00E64EBE: F3 0F 11 6D EC - movss [rbp-14],xmm5 00E64EC3: F3 0F 10 46 24 - movss xmm0,[rsi+24] 00E64EC8: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 00E64ECC: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 00E64ED0: F3 0F 11 6D E8 - movss [rbp-18],xmm5 00E64ED5: F3 0F 10 45 D8 - movss xmm0,[rbp-28] 00E64EDA: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 00E64EDE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 // ---------- INJECTING HERE ---------- 00E64EE2: F3 0F 11 6E 24 - movss [rsi+24],xmm5 // ---------- DONE INJECTING ---------- 00E64EE7: 48 8B CE - mov rcx,rsi 00E64EEA: 48 83 EC 20 - sub rsp,20 00E64EEE: 49 BB C0 4F E6 00 00 00 00 00 - mov r11,0000000000E64FC0 00E64EF8: 41 FF D3 - call r11d 00E64EFB: 48 83 C4 20 - add rsp,20 00E64EFF: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 00E64F03: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 00E64F07: F3 0F 11 6D E4 - movss [rbp-1C],xmm5 00E64F0C: F3 0F 10 45 EC - movss xmm0,[rbp-14] 00E64F11: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 } В теме также ещё есть скрипты: " Скрипт на быстрый крафт (сборку) предметов" (автор ZoraVl смотреть здесь): Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-12 Author : ????????? This script does blah blah blah } [ENABLE] aobscan(craft,F3 0F 10 86 D4 00 00 00 F3 0F 5A C0 F3) // should be unique alloc(newmem,$1000,60B3F1DE) label(code) label(return) newmem: mov [rsi+000000D4],(float)0 code: movss xmm0,[rsi+000000D4] jmp return craft: jmp newmem nop nop nop return: registersymbol(craft) [DISABLE] craft: db F3 0F 10 86 D4 00 00 00 unregistersymbol(craft) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 60B3F1DE 60B3F1AF: 66 0F 2F C8 - comisd xmm1,xmm0 60B3F1B3: 0F 8A 6F 00 00 00 - jp 60B3F228 60B3F1B9: 0F 83 69 00 00 00 - jae 60B3F228 60B3F1BF: B8 03 00 00 00 - mov eax,00000003 60B3F1C4: 83 F8 01 - cmp eax,01 60B3F1C7: 0F B6 86 DC 00 00 00 - movzx eax,byte ptr [rsi+000000DC] 60B3F1CE: 85 C0 - test eax,eax 60B3F1D0: 0F 84 52 00 00 00 - je 60B3F228 60B3F1D6: B8 04 00 00 00 - mov eax,00000004 60B3F1DB: 83 F8 01 - cmp eax,01 // ---------- INJECTING HERE ---------- 60B3F1DE: F3 0F 10 86 D4 00 00 00 - movss xmm0,[rsi+000000D4] // ---------- DONE INJECTING ---------- 60B3F1E6: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 60B3F1EA: F3 0F 10 4D B8 - movss xmm1,[rbp-48] 60B3F1EF: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 60B3F1F3: F2 0F 5C C1 - subsd xmm0,xmm1 60B3F1F7: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 60B3F1FB: F3 0F 11 AE D4 00 00 00 - movss [rsi+000000D4],xmm5 60B3F203: F3 0F 10 86 D8 00 00 00 - movss xmm0,[rsi+000000D8] 60B3F20B: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 60B3F20F: F3 0F 10 4D B8 - movss xmm1,[rbp-48] 60B3F214: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 } Скрипт "Damage 10000" для слома предметов (смотреть здесь): Скрытый текст { Game : 7DaysToDie.exe Version: лицензия Steam Alpha 14.7 (64bit) Date : 2016-07-11 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(damage,F3 0F 10 48 3C F3 0F 5A) // should be unique alloc(newmem,$1000,31331006) label(code) label(return) registersymbol(damage) newmem: mov [rax+3C],(float)10000 code: movss xmm1,[rax+3C] jmp return damage: jmp newmem return: [DISABLE] damage: db F3 0F 10 48 3C unregistersymbol(damage) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 31331006 31330FD5: F3 0F 10 40 3C - movss xmm0,[rax+3C] 31330FDA: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 31330FDE: F3 0F 10 8D 2C FE FF FF - movss xmm1,[rbp-000001D4] 31330FE6: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 31330FEA: F2 0F 58 C1 - addsd xmm0,xmm1 31330FEE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 31330FF2: F3 0F 11 68 3C - movss [rax+3C],xmm5 31330FF7: C6 40 50 00 - mov byte ptr [rax+50],00 31330FFB: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 31331002: F2 0F 2A C1 - cvtsi2sd xmm0,ecx // ---------- INJECTING HERE ---------- 31331006: F3 0F 10 48 3C - movss xmm1,[rax+3C] // ---------- DONE INJECTING ---------- 3133100B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3133100F: F2 0F 58 C1 - addsd xmm0,xmm1 31331013: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 31331017: F3 0F 11 68 44 - movss [rax+44],xmm5 3133101C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 31331023: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3133102A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3133102E: 85 C0 - test eax,eax 31331030: 0F 85 D8 16 00 00 - jne 3133270E 31331036: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] } Скрипт "Hunger and thirst (Голод и жажда)" (смотреть здесь): Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-15 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(WATER,89 47 10 48 63 4F 14) // should be unique alloc(newmem,$1000,2E86DC17) label(code) label(return) registersymbol(WATER) newmem: mov eax,[rdi+14] // проверь может лучше поставить [rdi+18] code: mov [rdi+10],eax movsxd rcx,dword ptr [rdi+14] jmp return WATER: jmp newmem DB 90 90 return: [DISABLE] WATER: db 89 47 10 48 63 4F 14 unregistersymbol(WATER) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2E86DC17 2E86DBFC: 00 00 - add [rax],al 2E86DBFE: 00 00 - add [rax],al 2E86DC00: 55 - push rbp 2E86DC01: 48 8B EC - mov rbp,rsp 2E86DC04: 57 - push rdi 2E86DC05: 48 83 EC 18 - sub rsp,18 2E86DC09: 48 8B F9 - mov rdi,rcx 2E86DC0C: 48 89 55 E8 - mov [rbp-18],rdx 2E86DC10: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC14: 03 45 E8 - add eax,[rbp-18] // ---------- INJECTING HERE ---------- 2E86DC17: 89 47 10 - mov [rdi+10],eax 2E86DC1A: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] // ---------- DONE INJECTING ---------- 2E86DC1E: 3B C1 - cmp eax,ecx 2E86DC20: 0F 8E 75 00 00 00 - jng 2E86DC9B 2E86DC26: B8 01 00 00 00 - mov eax,00000001 2E86DC2B: 83 F8 01 - cmp eax,01 2E86DC2E: B8 01 00 00 00 - mov eax,00000001 2E86DC33: 85 C0 - test eax,eax 2E86DC35: F3 0F 10 47 1C - movss xmm0,[rdi+1C] 2E86DC3A: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 2E86DC3E: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC42: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] } Скрипт "Прикол" (смотреть здесь): Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-12 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(Prikol,89 48 4C 4C 8B E8) // should be unique alloc(newmem,$1000,2A3C5DE8) label(code) label(return) newmem: code: mov ecx,1 mov [rax+4C],ecx mov r13,rax jmp return Prikol: jmp code nop return: registersymbol(Prikol) [DISABLE] Prikol: db 89 48 4C 4C 8B E8 unregistersymbol(Prikol) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2A3C5DE8 2A3C5DB7: 8B 8D 80 FE FF FF - mov ecx,[rbp-00000180] 2A3C5DBD: 8B 14 25 50 AF A2 0B - mov edx,[0BA2AF50] 2A3C5DC4: 23 CA - and ecx,edx 2A3C5DC6: 48 63 C9 - movsxd rcx,ecx 2A3C5DC9: 39 48 18 - cmp [rax+18],ecx 2A3C5DCC: 0F 86 FF 19 00 00 - jbe 2A3C77D1 2A3C5DD2: 48 8D 44 C8 20 - lea rax,[rax+rcx*8+20] 2A3C5DD7: 48 8B 00 - mov rax,[rax] 2A3C5DDA: 48 63 88 9C 01 00 00 - movsxd rcx,dword ptr [rax+0000019C] 2A3C5DE1: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] // ---------- INJECTING HERE ---------- 2A3C5DE8: 89 48 4C - mov [rax+4C],ecx 2A3C5DEB: 4C 8B E8 - mov r13,rax // ---------- DONE INJECTING ---------- 2A3C5DEE: 0F B6 85 27 FE FF FF - movzx eax,byte ptr [rbp-000001D9] 2A3C5DF5: 85 C0 - test eax,eax 2A3C5DF7: 0F 85 4C 00 00 00 - jne 2A3C5E49 2A3C5DFD: 48 8B 04 25 58 FA ED 2A - mov rax,[2AEDFA58] 2A3C5E05: 8B 8D 80 FE FF FF - mov ecx,[rbp-00000180] 2A3C5E0B: 8B 14 25 50 AF A2 0B - mov edx,[0BA2AF50] 2A3C5E12: 23 CA - and ecx,edx 2A3C5E14: 48 63 C9 - movsxd rcx,ecx 2A3C5E17: 39 48 18 - cmp [rax+18],ecx 2A3C5E1A: 0F 86 AA 19 00 00 - jbe 2A3C77CA } Видео: Сама табличка: // табличку выложил ниже, добавил ещё один скрипт. Изменено 16 июля, 2016 пользователем Garik66 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 10 июля, 2016 Поделиться Опубликовано 10 июля, 2016 Большое спасибо! Таблицу посмотрел, маленько понял, надеюсь после видео эта проблема пропадет!:) еще раз большое спасибо! 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 10 июля, 2016 Автор Поделиться Опубликовано 10 июля, 2016 За 1 час назад, ZoraVl сказал: Большое спасибо! от меня пожалуйста - плюсик в репку. 1 час назад, ZoraVl сказал: Таблицу посмотрел, маленько понял, надеюсь после видео эта проблема пропадет!:) Надеюсь, что будет всё понятно. Если, что не поймёшь - задавай вопросы или в этой теме, или в теме своего запроса. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 (изменено) Есть один вопрос, хочу написать скрипт на разрушение блоков с одного удара. Допустим, есть у нас сейф, у него 2500 HP. Я нанес ему 15 урона, стало 2485\2500 HP, я нашел значение нанесенного урона этому блоку, путем отсеивания полученного урона. Нанес 15 урона стало 2485 HP нанес еще 20 стало 2465 HP. Таким образом я нашел 3 адреса отвечающие за полученный урон этим блоком: Ставлю брейкпоинт на запись, получаю функцию такого типа: 3AC10007 - F3 0F11 68 44 - movss [rax+44],xmm5 Если я правильно понимаю то это функция нанесения урона блокам, собственно вопрос: как сделать так что-бы к этому урону прибавлялся еще, грубо говоря, 10000 урона, что-бы блок сломался с одного удара? Изменено 11 июля, 2016 пользователем ZoraVl Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 6 минут назад, ZoraVl сказал: как сделать так Выложи АА-скрипт с аобсканом и логами (Предварительно посмотри эту тему.). 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-11 Author : ????????? This script does blah blah blah } [ENABLE] aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique alloc(newmem,$1000,32711427) label(code) label(return) newmem: code: movss [rax+44],xmm5 jmp return damageblock: jmp code return: registersymbol(damageblock) [DISABLE] damageblock: db F3 0F 11 68 44 unregistersymbol(damageblock) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 32711427 327113FA: F2 0F 58 C1 - addsd xmm0,xmm1 327113FE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 32711402: F3 0F 11 68 3C - movss [rax+3C],xmm5 32711407: C6 40 50 00 - mov byte ptr [rax+50],00 3271140B: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 32711412: F2 0F 2A C1 - cvtsi2sd xmm0,ecx 32711416: F3 0F 10 48 3C - movss xmm1,[rax+3C] 3271141B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3271141F: F2 0F 58 C1 - addsd xmm0,xmm1 32711423: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 // ---------- INJECTING HERE ---------- 32711427: F3 0F 11 68 44 - movss [rax+44],xmm5 // ---------- DONE INJECTING ---------- 3271142C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 32711433: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3271143A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3271143E: 85 C0 - test eax,eax 32711440: 0F 85 D8 16 00 00 - jne 32712B1E 32711446: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] 3271144D: F3 0F 10 40 3C - movss xmm0,[rax+3C] 32711452: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 32711456: 66 0F 57 C9 - xorpd xmm1,xmm1 3271145A: 66 0F 2F C8 - comisd xmm1,xmm0 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 7 минут назад, ZoraVl сказал: aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique Ну, если уверен, что фильтр не нужен (т.е. инструкция работает именно с нужным тебе предметом, но вроде это так), то вот предварительно простенький скрипт, потесть его: Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-11 Author : ????????? This script does blah blah blah } [ENABLE] aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique alloc(newmem,$1000,32711427) label(code) label(return) registersymbol(damageblock) newmem: code: movss [rax+44],xmm5 sub [rax+44],(float)10000 jmp return damageblock: jmp newmem return: [DISABLE] damageblock: db F3 0F 11 68 44 unregistersymbol(damageblock) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 32711427 327113FA: F2 0F 58 C1 - addsd xmm0,xmm1 327113FE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 32711402: F3 0F 11 68 3C - movss [rax+3C],xmm5 32711407: C6 40 50 00 - mov byte ptr [rax+50],00 3271140B: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 32711412: F2 0F 2A C1 - cvtsi2sd xmm0,ecx 32711416: F3 0F 10 48 3C - movss xmm1,[rax+3C] 3271141B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3271141F: F2 0F 58 C1 - addsd xmm0,xmm1 32711423: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 // ---------- INJECTING HERE ---------- 32711427: F3 0F 11 68 44 - movss [rax+44],xmm5 // ---------- DONE INJECTING ---------- 3271142C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 32711433: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3271143A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3271143E: 85 C0 - test eax,eax 32711440: 0F 85 D8 16 00 00 - jne 32712B1E 32711446: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] 3271144D: F3 0F 10 40 3C - movss xmm0,[rax+3C] 32711452: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 32711456: 66 0F 57 C9 - xorpd xmm1,xmm1 3271145A: 66 0F 2F C8 - comisd xmm1,xmm0 } 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 0 реакции... Только значение нанесенного урона ушло в - Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 2 минуты назад, ZoraVl сказал: 0 реакции... Только значение нанесенного урона ушло в - Так тогда я не правильно понял функцию, скорее всего это функция именно наносимого урона, а не здоровья блока (предмета). Попробуй так: Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-11 Author : ????????? This script does blah blah blah } [ENABLE] aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique alloc(newmem,$1000,32711427) label(code) label(return) registersymbol(damageblock) newmem: code: movss [rax+44],xmm5 add [rax+44],(float)10000 jmp return damageblock: jmp newmem return: [DISABLE] damageblock: db F3 0F 11 68 44 unregistersymbol(damageblock) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 32711427 327113FA: F2 0F 58 C1 - addsd xmm0,xmm1 327113FE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 32711402: F3 0F 11 68 3C - movss [rax+3C],xmm5 32711407: C6 40 50 00 - mov byte ptr [rax+50],00 3271140B: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 32711412: F2 0F 2A C1 - cvtsi2sd xmm0,ecx 32711416: F3 0F 10 48 3C - movss xmm1,[rax+3C] 3271141B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3271141F: F2 0F 58 C1 - addsd xmm0,xmm1 32711423: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 // ---------- INJECTING HERE ---------- 32711427: F3 0F 11 68 44 - movss [rax+44],xmm5 // ---------- DONE INJECTING ---------- 3271142C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 32711433: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3271143A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3271143E: 85 C0 - test eax,eax 32711440: 0F 85 D8 16 00 00 - jne 32712B1E 32711446: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] 3271144D: F3 0F 10 40 3C - movss xmm0,[rax+3C] 32711452: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 32711456: 66 0F 57 C9 - xorpd xmm1,xmm1 3271145A: 66 0F 2F C8 - comisd xmm1,xmm0 } 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 Все-равно никакой реакции, урон так-же наносится в обычных размерах, может есть другой способ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 Только что, ZoraVl сказал: может есть другой способ? Конечно есть, мне нужно понять, что за инструкцию ты дал. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 Только что, Garik66 сказал: Конечно есть, мне нужно понять, что за инструкцию ты дал. А вы уже удалили эту игру? Просто могли бы сами попробовать, может это у меня только так, или я не правильно что-то делаю... Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 1 минуту назад, ZoraVl сказал: А вы уже удалили эту игру? Просто могли бы сами попробовать, может это у меня только так, или я не правильно что-то делаю... Да удалил и закачку тоже. Но думаю разберёмся. Мне нужно подумать, что это и как это. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 Всё-таки думаю, что это здоровье сейфа (блока, предмета), попробуй ещё более простой скрипт: Скрытый текст { Game : 7DaysToDie.exe Version: Date : 2016-07-11 Author : ????????? This script does blah blah blah } [ENABLE] aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique alloc(newmem,$1000,32711427) label(code) label(return) registersymbol(damageblock) newmem: code: mov [rax+44],0 jmp return damageblock: jmp newmem return: [DISABLE] damageblock: db F3 0F 11 68 44 unregistersymbol(damageblock) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 32711427 327113FA: F2 0F 58 C1 - addsd xmm0,xmm1 327113FE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 32711402: F3 0F 11 68 3C - movss [rax+3C],xmm5 32711407: C6 40 50 00 - mov byte ptr [rax+50],00 3271140B: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 32711412: F2 0F 2A C1 - cvtsi2sd xmm0,ecx 32711416: F3 0F 10 48 3C - movss xmm1,[rax+3C] 3271141B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3271141F: F2 0F 58 C1 - addsd xmm0,xmm1 32711423: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 // ---------- INJECTING HERE ---------- 32711427: F3 0F 11 68 44 - movss [rax+44],xmm5 // ---------- DONE INJECTING ---------- 3271142C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 32711433: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3271143A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3271143E: 85 C0 - test eax,eax 32711440: 0F 85 D8 16 00 00 - jne 32712B1E 32711446: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] 3271144D: F3 0F 10 40 3C - movss xmm0,[rax+3C] 32711452: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 32711456: 66 0F 57 C9 - xorpd xmm1,xmm1 3271145A: 66 0F 2F C8 - comisd xmm1,xmm0 } Может нужно будет два удара нанести по предмету. И кстати в первом варианте скрипта тоже может быть два удара. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 Не, не работает) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 (изменено) Ладно, тогда вечером опять качну игру и посмотрю в игре. А то нужно много вопросов задавать, чтобы понять как это работает. Изменено 11 июля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 1 минуту назад, Garik66 сказал: Ладно, тогда вечером опять качну игру и посмотрю в игре. А то нужно много вопросов задавать, чтобы понять как это работает. Буду ждать! Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 У него адрес не правильный. Урон работает вот как. Когда ты стучишь по предмету, прибавляется количество ударов и вот это количество ударов, уже вычитается из значение по которому наносишь урон. На пример в машине сломанной 250 HP - стукнуть по ней раз 5 если, то значение у машины будет 245, а если посчитать удары кулаком, то я и нанес как раз 5 ударов по 1 - там в общем смотреть надо как работает урон с другим оружием (той же трубой) и так далее. Если записать в эти удары на пример сразу 3000 - то одни только кулаком, можно будет рушить с одного удара предметы в которых до 3000 HP Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 Только что, LIRW сказал: У него адрес не правильный. Урон работает вот как. Когда ты стучишь по предмету, прибавляется количество ударов и вот это количество ударов, уже вычитается из значение по которому наносишь урон. На пример в машине сломанной 250 HP - стукнуть по ней раз 5 если, то значение у машины будет 245, а если посчитать удары кулаком, то я и нанес как раз 5 ударов по 1 - там в общем смотреть надо как работает урон с другим оружием (той же трубой) и так далее. Если записать в эти удары на пример сразу 3000 - то одни только кулаком, можно будет рушить с одного удара предметы в которых до 3000 HP Жень ты будешь делать? Или мне позаниматься? Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 50 минут назад, Garik66 сказал: Жень ты будешь делать? Игорь делай. У меня не работает игра x64 вылетает то и дело. Видать кряк кривой и поставлен на 14.7 версию от 14. 00 - так как у скидрова нету 14.7 версий. Я искал на старой версии игры. 14. 00 и x32. Я не знай как она у тебя работает - у меня вылетает то и дело. Прям не с того не с сего - перестаёт работать и всё. Бредятина в общем какая то с игрой. Да Игорь - это вылетает не из за того, что я там что то в скриптах сделал - я даже и искать то не чего ещо не начал, это вот загрузка карты и вылет сразу. Скрытый текст Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 (изменено) В 11.07.2016в18:59, LIRW сказал: Игорь делай. Сенк . Скрипт "Damage 10000": Скрытый текст { Game : 7DaysToDie.exe Version: лицензия Steam Alpha 14.7 (64bit) Date : 2016-07-11 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(damage,F3 0F 10 48 3C F3 0F 5A) // should be unique alloc(newmem,$1000,31331006) label(code) label(return) registersymbol(damage) newmem: mov [rax+3C],(float)10000 code: movss xmm1,[rax+3C] jmp return damage: jmp newmem return: [DISABLE] damage: db F3 0F 10 48 3C unregistersymbol(damage) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 31331006 31330FD5: F3 0F 10 40 3C - movss xmm0,[rax+3C] 31330FDA: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 31330FDE: F3 0F 10 8D 2C FE FF FF - movss xmm1,[rbp-000001D4] 31330FE6: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 31330FEA: F2 0F 58 C1 - addsd xmm0,xmm1 31330FEE: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 31330FF2: F3 0F 11 68 3C - movss [rax+3C],xmm5 31330FF7: C6 40 50 00 - mov byte ptr [rax+50],00 31330FFB: 48 63 8D 84 FE FF FF - movsxd rcx,dword ptr [rbp-0000017C] 31331002: F2 0F 2A C1 - cvtsi2sd xmm0,ecx // ---------- INJECTING HERE ---------- 31331006: F3 0F 10 48 3C - movss xmm1,[rax+3C] // ---------- DONE INJECTING ---------- 3133100B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 3133100F: F2 0F 58 C1 - addsd xmm0,xmm1 31331013: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0 31331017: F3 0F 11 68 44 - movss [rax+44],xmm5 3133101C: 48 8B 85 50 FE FF FF - mov rax,[rbp-000001B0] 31331023: 48 8B 80 B0 00 00 00 - mov rax,[rax+000000B0] 3133102A: 0F B6 40 74 - movzx eax,byte ptr [rax+74] 3133102E: 85 C0 - test eax,eax 31331030: 0F 85 D8 16 00 00 - jne 3133270E 31331036: 48 8B 85 80 00 00 00 - mov rax,[rbp+00000080] } Тестировал только ударом кулака, с другим оружием не разбирался, далеко не бегал. Сама табличка с двумя скриптами: таблицу выложил в этом сообщении. Изменено 12 июля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 июля, 2016 Поделиться Опубликовано 11 июля, 2016 6 минут назад, Garik66 сказал: Тестировал только ударом кулака Я тоже на кулаках только и делал. Хотя он просил сделать таблицу, но какой смысл делать на версии ниже на 7 апдейтов и разрядности другой. Трейнеры выходят каждую обнову, а значит изменяется всё в байтах. Он как вроде бы спать ушел проснется, проверит. А я кстати игру эту хотел купить как то на скидках, но что то я пожалел и купил "The Long Dark" мне она показалась более интересней. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 Только что, LIRW сказал: А я кстати игру эту хотел купить А мне так до сих пор и нравится Fallout 2. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 июля, 2016 Автор Поделиться Опубликовано 11 июля, 2016 4 часа назад, ZoraVl сказал: Буду ждать! Скрипт и табличка здесь. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 12 июля, 2016 Поделиться Опубликовано 12 июля, 2016 (изменено) 8 часов назад, Garik66 сказал: Скрипт и табличка здесь. Интересно то, что у меня даже скрипт не активируется... А нет, заработал, мгновенный урон работает на всех оружиях, блоки ломаются с одного удара спасибо большое за помощь уважаемые форумчане! Изменено 12 июля, 2016 пользователем ZoraVl 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения