Submarina Опубликовано 31 июля, 2016 Поделиться Опубликовано 31 июля, 2016 (изменено) Привет всем, решил немного поломать игру State of Decay YOSE Day One Edition-Update 4 сделал скрипт на инвентарь чтобы можно было вставлять какие ни будь предметы, и столкнулся с такой проблемой, когда вводишь код на оружия чтобы оно появилось в инвентаре, например 40000033-AK47 автомат, появляется в инвентаре, но взять его почему то нельзя, нажимаешь экипировать но оружия в руках не появляется, кто муже оно появляется в инвентаре без патронов, ну дак вот как из править эту проблему, чтобы оружия доставалось нормально и в руках появилась, и как можно сделать, что бы оружия с патронами сразу появлялся в инверторе при вводе Чита на какое ни будь оружия. Вот сам скрипт на инвентарь Скрытый текст [ENABLE] aobscanmodule(Inventory,StateOfDecay.exe,10 8B 04 90 C2 04 00) alloc(newmem,2048) label(returnhere) label(originalcode) label(Slot1) registersymbol(Slot1) newmem: cmp [eax+edx*4+50],00000001 jne originalcode mov dword ptr [Slot1],eax originalcode: mov eax,[eax+edx*4] ret 0004 jmp returnhere Slot1: dd 0 Inventory+01: jmp newmem nop returnhere: registersymbol(Inventory) [DISABLE] Inventory+01: db 8B 04 90 C2 04 00 unregistersymbol(Inventory) unregistersymbol(Slot1) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "StateOfDecay.exe"+11DE65C "StateOfDecay.exe"+11DE64A: CC - int 3 "StateOfDecay.exe"+11DE64B: CC - int 3 "StateOfDecay.exe"+11DE64C: CC - int 3 "StateOfDecay.exe"+11DE64D: CC - int 3 "StateOfDecay.exe"+11DE64E: CC - int 3 "StateOfDecay.exe"+11DE64F: CC - int 3 "StateOfDecay.exe"+11DE650: 8B 54 24 04 - mov edx,[esp+04] "StateOfDecay.exe"+11DE654: 3B 51 04 - cmp edx,[ecx+04] "StateOfDecay.exe"+11DE657: 73 09 - jae StateOfDecay.exe+11DE662 "StateOfDecay.exe"+11DE659: 8B 41 10 - mov eax,[ecx+10] // ---------- INJECTING HERE ---------- "StateOfDecay.exe"+11DE65C: 8B 04 90 - mov eax,[eax+edx*4] "StateOfDecay.exe"+11DE65F: C2 04 00 - ret 0004 // ---------- DONE INJECTING ---------- "StateOfDecay.exe"+11DE662: 33 C0 - xor eax,eax "StateOfDecay.exe"+11DE664: C2 04 00 - ret 0004 "StateOfDecay.exe"+11DE667: CC - int 3 "StateOfDecay.exe"+11DE668: CC - int 3 "StateOfDecay.exe"+11DE669: CC - int 3 "StateOfDecay.exe"+11DE66A: CC - int 3 "StateOfDecay.exe"+11DE66B: CC - int 3 "StateOfDecay.exe"+11DE66C: CC - int 3 "StateOfDecay.exe"+11DE66D: CC - int 3 "StateOfDecay.exe"+11DE66E: CC - int 3 } Изменено 31 июля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 31 июля, 2016 Поделиться Опубликовано 31 июля, 2016 1 час назад, Baracuda сказал: автомат, появляется в инвентаре, но взять его почему то нельзя, Baracuda, ты смотрел моё видео? Может вопросов и не возникло. Почему нельзя взять автомат, судя по твоей инструкции - она часто читает из адреса, и в результате постоянно новый автомат, взять его конечно нельзя. Попробуй использовать flag, чтобы добавление автомата происходило один раз, например так: Скрытый текст ; [ENABLE] aobscanmodule(Inventory,StateOfDecay.exe,10 8B 04 90 C2 04 00) alloc(newmem,2048) label(returnhere) label(originalcode) label(flag) label(Slot1) registersymbol(Slot1) registersymbol(Inventory) newmem: cmp [eax+edx*4+50],00000001 jne originalcode cmp [flag],1 jne originalcode mov dword ptr [Slot1],eax mov [flag],0 originalcode: mov eax,[eax+edx*4] ret 0004 jmp returnhere flag: dd 1 Slot1: dd 0 Inventory+01: jmp newmem nop returnhere: [DISABLE] Inventory+01: db 8B 04 90 C2 04 00 unregistersymbol(Inventory) unregistersymbol(Slot1) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "StateOfDecay.exe"+11DE65C "StateOfDecay.exe"+11DE64A: CC - int 3 "StateOfDecay.exe"+11DE64B: CC - int 3 "StateOfDecay.exe"+11DE64C: CC - int 3 "StateOfDecay.exe"+11DE64D: CC - int 3 "StateOfDecay.exe"+11DE64E: CC - int 3 "StateOfDecay.exe"+11DE64F: CC - int 3 "StateOfDecay.exe"+11DE650: 8B 54 24 04 - mov edx,[esp+04] "StateOfDecay.exe"+11DE654: 3B 51 04 - cmp edx,[ecx+04] "StateOfDecay.exe"+11DE657: 73 09 - jae StateOfDecay.exe+11DE662 "StateOfDecay.exe"+11DE659: 8B 41 10 - mov eax,[ecx+10] // ---------- INJECTING HERE ---------- "StateOfDecay.exe"+11DE65C: 8B 04 90 - mov eax,[eax+edx*4] "StateOfDecay.exe"+11DE65F: C2 04 00 - ret 0004 // ---------- DONE INJECTING ---------- "StateOfDecay.exe"+11DE662: 33 C0 - xor eax,eax "StateOfDecay.exe"+11DE664: C2 04 00 - ret 0004 "StateOfDecay.exe"+11DE667: CC - int 3 "StateOfDecay.exe"+11DE668: CC - int 3 "StateOfDecay.exe"+11DE669: CC - int 3 "StateOfDecay.exe"+11DE66A: CC - int 3 "StateOfDecay.exe"+11DE66B: CC - int 3 "StateOfDecay.exe"+11DE66C: CC - int 3 "StateOfDecay.exe"+11DE66D: CC - int 3 "StateOfDecay.exe"+11DE66E: CC - int 3 } По поводу патронов - их тоже нужно добавлять. Посмотри моё видео, там вместо патронов, прочность предмета. Короче план такой: 1. Проверь скрипт - берётся ли автомат. 2. Посмотри моё видео. 3. Посмотри внимательнее структуру инвентаря. 4. добавь в скрипте и патроны. Удачи!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 августа, 2016 Автор Поделиться Опубликовано 27 августа, 2016 (изменено) Возможно ли записать в скрипт AA вот такие 2 указателя, что бы они работали в ну три скрипта, а не снаружи, то есть не в таблицы Cheat Engine, в внутри скрипта АА. Я пробовал записывать, но игра сразу закрывается с ошибкой. Скрытый текст [ENABLE] aobscanmodule(item,EoCApp.exe,41 3B BE D4 00 00 00) alloc(newmem,2048,item) label(returnhere) label(originalcode) label(item_ptr) registersymbol(item_ptr) newmem: mov [item_ptr],r14 originalcode: cmp edi,[r14+000000D4] jmp returnhere item_ptr: dq 0 item: jmp newmem nop nop returnhere: registersymbol(item) [DISABLE] item: db 41 3B BE D4 00 00 00 unregistersymbol(item) unregistersymbol(item_ptr) dealloc(newmem) http://rgho.st/6HlGypyZN.view http://rgho.st/6dYZWqgXL.view http://rgho.st/8hsP6w9tQ.view вот тут показаны два базовых Адреса, вот их можно ли засунуть в скрипт, что бы они из ну три работали скрипта, проблема в том что если отсоединить, прочность и уровень игрока от базовых Адреса то прочность и уровень игрока перестают работать. БАЗОВЫЙ АДРЕС я их так назвал, из за них работает прочность и уровень игрока Изменено 27 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 11 минуту назад, Baracuda сказал: Возможно ли записать в скрипт AA вот такие 2 указателя, что бы они работали в ну три скрипта, а не снаружи, то есть не в таблицы Cheat Engine, в внутри скрипта АА. Я пробовал записывать, но игра сразу закрывается с ошибкой. Вопрос не понял. 1. Какие 2 указателя? 2. Какие в игре адреса 8 байт или 4 байта? 3. Что означает - 13 минуты назад, Baracuda сказал: что бы они работали в ну три скрипта 4. 13 минуты назад, Baracuda сказал: Я пробовал записывать, но игра сразу закрывается с ошибкой. Выложи пример - как пробовал, может тогда будет более понятно, что ты хочешь сделать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 августа, 2016 Автор Поделиться Опубликовано 27 августа, 2016 (изменено) Вот такое адреса в игре, 2A434432CB0 [4 Байта] А пример, на скриншотах показан. Изменено 27 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 Короче всё равно не понял тебя. А скрипт попробуй так: Скрытый текст [ENABLE] aobscanmodule(Item,EoCApp.exe,41 3B BE D4 00 00 00) alloc(newmem,2048,Item) label(returnhere) label(originalcode) label(item_ptr) registersymbol(item_ptr) registersymbol(Item) newmem: mov [item_ptr],r14 originalcode: cmp edi,[r14+000000D4] jmp returnhere item_ptr: dq (double)0 Item: jmp newmem db 90 90 returnhere: [DISABLE] Item: db 41 3B BE D4 00 00 00 unregistersymbol(Item) unregistersymbol(item_ptr) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 PS: и просьба давать скрипт с логами СЕ иногда помогает сразу увидеть ошибку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 16 минуту назад, Baracuda сказал: [4 Байта] Только обратил внимание что 4 байта, тогда мой скрипт не верен. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 Baracuda, короче, у меня сейчас, к сожалению со временем плохо, что задавать много наводящих вопросов, чтобы понять, что именно ты хочешь сделать. Поэтому запиши видео, что ты делаешь и как. Или подожди, может я просто сейчас туплю и кто-нибудь поймёт что ты хочешь и так из твоего первого сообщения и поможет тебе. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 августа, 2016 Автор Поделиться Опубликовано 27 августа, 2016 (изменено) сейчас пере залью видео Изменено 27 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 4 минуты назад, Baracuda сказал: сейчас пере залью видео ОК! Я пока - покушаю. У меня тоже сейчас как раз видео на Тюб загружается. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 августа, 2016 Автор Поделиться Опубликовано 27 августа, 2016 (изменено) к стати привет Игорь, забыл поздороваться, и приятного аппетита. Изменено 27 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 7 минут назад, Baracuda сказал: к стати привет Игорь, забыл поздороваться, и приятного аппетита. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 Ответ для тех, кто будет читать эту тему. Разобрали вопрос с ним в ЛС. Скрипт у Baracuda абсолютно верен и рабочий. Неправильно были забиты сами адреса в табличку, т.е. смещения, адреса Базовый и Базовый 2 - лишние. адрес уровня - [[item-ptr]+b0]+008 адрес прочности - [[item-ptr]+b0]+154 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 Привет всем, хотел сделать что-бы можно было прибавлять один уровень, 2 игрокам сразу при нажатии, поставил Flag в скрипт, что бы он при нажатии прибавлял 1 уровень, но он по чему, то не работает. Вот скрипт Скрытый текст [ENABLE] aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00) alloc(newmem,2048,Level) label(returnhere) label(flag) registersymbol(flag) newmem: mov eax,[rsi+08] mov r13d,[rsi+0000013C] cmp [flag],1 add [rsi+08],#1 mov [flag],0 jmp returnhere flag: dd 0 Level: jmp newmem nop nop nop nop nop returnhere: registersymbol(Level) [DISABLE] Level: db 8B 46 08 44 8B AE 3C 01 00 00 unregistersymbol(Level) unregistersymbol(flag) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867 "EoCApp.exe"+9CB843: BA 80 00 00 00 - mov edx,00000080 "EoCApp.exe"+9CB848: 49 8B CC - mov rcx,r12 "EoCApp.exe"+9CB84B: FF 90 88 00 00 00 - call qword ptr [rax+00000088] "EoCApp.exe"+9CB851: 84 C0 - test al,al "EoCApp.exe"+9CB853: 74 12 - je EoCApp.exe+9CB867 "EoCApp.exe"+9CB855: 4D 8B C4 - mov r8,r12 "EoCApp.exe"+9CB858: 48 8B D7 - mov rdx,rdi "EoCApp.exe"+9CB85B: 49 8B CD - mov rcx,r13 "EoCApp.exe"+9CB85E: E8 2D 02 F2 FF - call EoCApp.exe+8EBA90 "EoCApp.exe"+9CB863: 44 0F B6 F8 - movzx r15d,al // ---------- INJECTING HERE ---------- "EoCApp.exe"+9CB867: 8B 46 08 - mov eax,[rsi+08] "EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00 - mov r13d,[rsi+0000013C] // ---------- DONE INJECTING ---------- "EoCApp.exe"+9CB871: BA 0F 00 00 00 - mov edx,0000000F "EoCApp.exe"+9CB876: 8B C8 - mov ecx,eax "EoCApp.exe"+9CB878: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB87B: FF C9 - dec ecx "EoCApp.exe"+9CB87D: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB880: 66 0F 6E C1 - movd xmm0,ecx "EoCApp.exe"+9CB884: F3 0F E6 C0 - cvtdq2pd xmm0,xmm0 "EoCApp.exe"+9CB888: F2 41 0F 59 C2 - mulsd xmm0,xmm10 "EoCApp.exe"+9CB88D: F2 41 0F 5E C1 - divsd xmm0,xmm9 "EoCApp.exe"+9CB892: F2 44 0F 2C E0 - cvttsd2si r12d,xmm0 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 августа, 2016 Поделиться Опубликовано 28 августа, 2016 1 час назад, Baracuda сказал: он по чему, то не работает. При изменении значения в самом адресе уровня - в игре уровень меняется? Ты проверял это? Если проверял и значение меняется, то попробуй так: Скрытый текст [ENABLE] aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00) alloc(newmem,2048,Level) label(returnhere) label(flag) registersymbol(flag) newmem: cmp [flag],1 add [rsi+08],#1 mov [flag],0 mov eax,[rsi+08] // передать новое значение уровня в регистр eax mov r13d,[rsi+0000013C] jmp returnhere flag: dd 0 Level: jmp newmem nop nop nop nop nop returnhere: registersymbol(Level) [DISABLE] Level: db 8B 46 08 44 8B AE 3C 01 00 00 unregistersymbol(Level) unregistersymbol(flag) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867 "EoCApp.exe"+9CB843: BA 80 00 00 00 - mov edx,00000080 "EoCApp.exe"+9CB848: 49 8B CC - mov rcx,r12 "EoCApp.exe"+9CB84B: FF 90 88 00 00 00 - call qword ptr [rax+00000088] "EoCApp.exe"+9CB851: 84 C0 - test al,al "EoCApp.exe"+9CB853: 74 12 - je EoCApp.exe+9CB867 "EoCApp.exe"+9CB855: 4D 8B C4 - mov r8,r12 "EoCApp.exe"+9CB858: 48 8B D7 - mov rdx,rdi "EoCApp.exe"+9CB85B: 49 8B CD - mov rcx,r13 "EoCApp.exe"+9CB85E: E8 2D 02 F2 FF - call EoCApp.exe+8EBA90 "EoCApp.exe"+9CB863: 44 0F B6 F8 - movzx r15d,al // ---------- INJECTING HERE ---------- "EoCApp.exe"+9CB867: 8B 46 08 - mov eax,[rsi+08] "EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00 - mov r13d,[rsi+0000013C] // ---------- DONE INJECTING ---------- "EoCApp.exe"+9CB871: BA 0F 00 00 00 - mov edx,0000000F "EoCApp.exe"+9CB876: 8B C8 - mov ecx,eax "EoCApp.exe"+9CB878: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB87B: FF C9 - dec ecx "EoCApp.exe"+9CB87D: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB880: 66 0F 6E C1 - movd xmm0,ecx "EoCApp.exe"+9CB884: F3 0F E6 C0 - cvtdq2pd xmm0,xmm0 "EoCApp.exe"+9CB888: F2 41 0F 59 C2 - mulsd xmm0,xmm10 "EoCApp.exe"+9CB88D: F2 41 0F 5E C1 - divsd xmm0,xmm9 "EoCApp.exe"+9CB892: F2 44 0F 2C E0 - cvttsd2si r12d,xmm0 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 нажимаешь активировать скрипт, он автоматически прибавляет не по одному уровню, а сразу 10-30-40 а сам флаг не работает, скрипт выключаешь, перестаёт прибавлять уровни. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 августа, 2016 Поделиться Опубликовано 28 августа, 2016 4 минуты назад, Baracuda сказал: нажимаешь активировать скрипт, он автоматически прибавляет не по одному уровню, а сразу 10-30-40 а сам флаг не работает, скрипт выключаешь, перестаёт прибавлять уровни. Я из твоего скрипта делал, а ты прыг не указал. А так: Скрытый текст [ENABLE] aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00) alloc(newmem,2048,Level) label(returnhere) label(code) label(flag) registersymbol(flag) newmem: cmp [flag],1 jne code add [rsi+08],#1 mov [flag],0 code: mov eax,[rsi+08] // передать новое значение уровня в регистр eax mov r13d,[rsi+0000013C] jmp returnhere flag: dd 0 Level: jmp newmem nop nop nop nop nop returnhere: registersymbol(Level) [DISABLE] Level: db 8B 46 08 44 8B AE 3C 01 00 00 unregistersymbol(Level) unregistersymbol(flag) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867 "EoCApp.exe"+9CB843: BA 80 00 00 00 - mov edx,00000080 "EoCApp.exe"+9CB848: 49 8B CC - mov rcx,r12 "EoCApp.exe"+9CB84B: FF 90 88 00 00 00 - call qword ptr [rax+00000088] "EoCApp.exe"+9CB851: 84 C0 - test al,al "EoCApp.exe"+9CB853: 74 12 - je EoCApp.exe+9CB867 "EoCApp.exe"+9CB855: 4D 8B C4 - mov r8,r12 "EoCApp.exe"+9CB858: 48 8B D7 - mov rdx,rdi "EoCApp.exe"+9CB85B: 49 8B CD - mov rcx,r13 "EoCApp.exe"+9CB85E: E8 2D 02 F2 FF - call EoCApp.exe+8EBA90 "EoCApp.exe"+9CB863: 44 0F B6 F8 - movzx r15d,al // ---------- INJECTING HERE ---------- "EoCApp.exe"+9CB867: 8B 46 08 - mov eax,[rsi+08] "EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00 - mov r13d,[rsi+0000013C] // ---------- DONE INJECTING ---------- "EoCApp.exe"+9CB871: BA 0F 00 00 00 - mov edx,0000000F "EoCApp.exe"+9CB876: 8B C8 - mov ecx,eax "EoCApp.exe"+9CB878: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB87B: FF C9 - dec ecx "EoCApp.exe"+9CB87D: 0F AF C8 - imul ecx,eax "EoCApp.exe"+9CB880: 66 0F 6E C1 - movd xmm0,ecx "EoCApp.exe"+9CB884: F3 0F E6 C0 - cvtdq2pd xmm0,xmm0 "EoCApp.exe"+9CB888: F2 41 0F 59 C2 - mulsd xmm0,xmm10 "EoCApp.exe"+9CB88D: F2 41 0F 5E C1 - divsd xmm0,xmm9 "EoCApp.exe"+9CB892: F2 44 0F 2C E0 - cvttsd2si r12d,xmm0 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 (изменено) да Игорь, всё нормально стало работать. Изменено 28 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 августа, 2016 Поделиться Опубликовано 28 августа, 2016 Только что, Baracuda сказал: да Игорь, всё нормально стало работать. ОК. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 (изменено) у меня ещё есть вопросик, я давно хотел поинтересоваться, взял в пример скрипт сайта http://forum.cheatengine.org/viewtopic.php?t=594022 ты можешь объяснить как этот скрипт работает, он на бесконечные жизни, вот обскан мене понятен, это я понял aobscanmodule(health,NMS.exe,F3 0F 2C D8 45 85 E4 75) это тоже понятно db F3 0F 2C D8 а это что такое db 31 DB 90 90 если понимаешь объясни пожалуйста Скрытый текст [ENABLE] aobscanmodule(health,NMS.exe,F3 0F 2C D8 45 85 E4 75) health: db 31 DB 90 90 registersymbol(health) [DISABLE] health: db F3 0F 2C D8 unregistersymbol(health) { // ORIGINAL CODE - INJECTION POINT: "NMS.exe"+A07F29 "NMS.exe"+A07EF4: 4C 8B 74 24 48 - mov r14,[rsp+48] "NMS.exe"+A07EF9: F3 44 0F 11 5C 24 44 - movss [rsp+44],xmm11 "NMS.exe"+A07F00: 41 0F 28 C0 - movaps xmm0,xmm8 "NMS.exe"+A07F04: F3 0F 5E C6 - divss xmm0,xmm6 "NMS.exe"+A07F08: 0F 57 05 91 C6 95 00 - xorps xmm0,[NMS.exe+13645A0] "NMS.exe"+A07F0F: F3 0F 11 44 24 48 - movss [rsp+48],xmm0 "NMS.exe"+A07F15: 8B 44 24 48 - mov eax,[rsp+48] "NMS.exe"+A07F19: 23 05 9D 72 CB 00 - and eax,[NMS.exe+16BF1BC] "NMS.exe"+A07F1F: 09 44 24 44 - or [rsp+44],eax "NMS.exe"+A07F23: F3 0F 58 44 24 44 - addss xmm0,[rsp+44] // ---------- INJECTING HERE ---------- "NMS.exe"+A07F29: F3 0F 2C D8 - cvttss2si ebx,xmm0 "NMS.exe"+A07F2D: 45 85 E4 - test r12d,r12d // ---------- DONE INJECTING ---------- "NMS.exe"+A07F30: 75 45 - jne NMS.exe+A07F77 "NMS.exe"+A07F32: 41 01 9F E8 00 00 00 - add [r15+000000E8],ebx "NMS.exe"+A07F39: 41 8B 87 E8 00 00 00 - mov eax,[r15+000000E8] "NMS.exe"+A07F40: 85 C0 - test eax,eax "NMS.exe"+A07F42: 7F 16 - jg NMS.exe+A07F5A "NMS.exe"+A07F44: 49 FF 87 80 00 00 00 - inc [r15+00000080] "NMS.exe"+A07F4B: 41 8B C5 - mov eax,r13d "NMS.exe"+A07F4E: 41 89 87 E8 00 00 00 - mov [r15+000000E8],eax "NMS.exe"+A07F55: E9 AD 00 00 00 - jmp NMS.exe+A08007 "NMS.exe"+A07F5A: B9 64 00 00 00 - mov ecx,00000064 } допустим это 90 90 это nop nop получается их 2 это тоже понятно, а это что db 31 DB Изменено 28 августа, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 августа, 2016 Поделиться Опубликовано 28 августа, 2016 11 минуту назад, Baracuda сказал: а это что такое db 31 DB 90 90 если понимаешь объясни пожалуйста 90 90 - это два nop для выравнивания кода. 31 DB - это xor ebx,ebx; т.е. обнуление регистра ebx, а так как в ebx на данном участке кода находится урон, то это обнуление урона. Вот посмотри дальше по коду строчка: add [r15+000000E8],ebx урон (отрицательный) или лечение (положительное) прибавляется к текущему здоровью (оно лежит в адресе [r15+000000E8] . Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 НЕХ 31 DB это 12763 Dec интересно, почему именно 31 DB а не что-то другое. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 августа, 2016 Поделиться Опубликовано 28 августа, 2016 2 минуты назад, Baracuda сказал: НЕХ 31 DB это 12763 Dec интересно, почему именно 31 DB а не что-то другое. Я же написал уже: 18 минуту назад, Garik66 сказал: 31 DB - это xor ebx,ebx Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 28 августа, 2016 Автор Поделиться Опубликовано 28 августа, 2016 только сейчас увидел, скрипт работает, добавляет уровень, но только одному герою, а не двоим сразу, это почему так, хотя сам скрипт работает со всеми игроками. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения