Гость ARRAMAGA Опубликовано 5 января, 2017 Поделиться Опубликовано 5 января, 2017 В игре каждый предмет хранятся в отдельном адресе, т.е. два одинаковых предмета хранятся в разных адресах, и при получении нового предмета создаётся новый адрес. Инструкция выглядит так: mov rax,[r13+40] lea rcx,[r13+08] Подключив свою гениальную гениальность, я написал mov rax,[r13+40] lea rcx,[r13+08] mov rax,[r13+40] lea rcx,[r13+08] но по два предмета мне выдаваться не стало. Как нужно правильно написать? Ссылка на комментарий Поделиться на другие сайты Поделиться
2zolo2 Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 ARRAMAGA, первое, что надо было тебе сделать, сказать название игры(пиратка или лицензия), Второе предоставить полную функцию создания предметов или предоставить адреса, и в трет их, ты создаешь один и тот же предмет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 В 05.01.2017 в 17:43, ARRAMAGA сказал: Как нужно правильно написать? Показать ARRAMAGA , ты не всё ещё доделал, для написания рабочего скрипта, нужно больше инфы. Посмотри мой видео-урок, Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 (изменено) Скорее всего, твои инструкции просто создают уникальный ID предмета и записывают, тебе надо их копировать на этапе инициализации, где предмет берется из массива в котором хранятся все предметы и выделяется на него память. А то, что ты делаешь выглядит, как - у тебя есть 2 спички, ты их переложил и хочешь чтобы их было 4. Изменено 6 января, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость ARRAMAGA Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 Игра Dead by daylight. Допустим у меня 10 предметов уже есть, у которых ид 27011. В таком случае существует 10 адресов, в которых записано значение 27011. Вся функция: Показать контент [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(QWE,DeadByDaylight-Win64-Shipping.exe,CC 8B 45 40 49 8D 4D 08) // should be unique alloc(newmem,$1000,"DeadByDaylight-Win64-Shipping.exe"+19DF74) label(code) label(return) newmem: mov rax,[r13+40] lea rcx,[r13+08] mov rax,[r13+40] lea rcx,[r13+08] code: mov rax,[r13+40] lea rcx,[r13+08] jmp return QWE: jmp newmem nop nop nop return: registersymbol(QWE) [DISABLE] //code from here till the end of the code will be used to disable the cheat QWE: db CC 8B 45 40 49 8D 4D 08 unregistersymbol(QWE) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DeadByDaylight-Win64-Shipping.exe"+19DF74 "DeadByDaylight-Win64-Shipping.exe"+19DF5D: 41 5C - pop r12 "DeadByDaylight-Win64-Shipping.exe"+19DF5F: 5F - pop rdi "DeadByDaylight-Win64-Shipping.exe"+19DF60: 5E - pop rsi "DeadByDaylight-Win64-Shipping.exe"+19DF61: 5B - pop rbx "DeadByDaylight-Win64-Shipping.exe"+19DF62: 5D - pop rbp "DeadByDaylight-Win64-Shipping.exe"+19DF63: C3 - ret "DeadByDaylight-Win64-Shipping.exe"+19DF64: 41 8B D7 - mov edx,r15d "DeadByDaylight-Win64-Shipping.exe"+19DF67: 48 8B CF - mov rcx,rdi "DeadByDaylight-Win64-Shipping.exe"+19DF6A: 41 C6 45 28 03 - mov byte ptr [r13+28],03 "DeadByDaylight-Win64-Shipping.exe"+19DF6F: E8 CC 5B 04 00 - call DeadByDaylight-Win64-Shipping.exe+1E3B40 // ---------- INJECTING HERE ---------- "DeadByDaylight-Win64-Shipping.exe"+19DF74: 49 8B 45 40 - mov rax,[r13+40] "DeadByDaylight-Win64-Shipping.exe"+19DF78: 49 8D 4D 08 - lea rcx,[r13+08] // ---------- DONE INJECTING ---------- "DeadByDaylight-Win64-Shipping.exe"+19DF7C: 48 8D 15 3D EE 9F 02 - lea rdx,[DeadByDaylight-Win64-Shipping.exe+2B9CDC0] "DeadByDaylight-Win64-Shipping.exe"+19DF83: 48 89 45 58 - mov [rbp+58],rax "DeadByDaylight-Win64-Shipping.exe"+19DF87: E8 A4 52 FD FF - call DeadByDaylight-Win64-Shipping.exe+173230 "DeadByDaylight-Win64-Shipping.exe"+19DF8C: 84 C0 - test al,al "DeadByDaylight-Win64-Shipping.exe"+19DF8E: 0F 84 83 01 00 00 - je DeadByDaylight-Win64-Shipping.exe+19E117 "DeadByDaylight-Win64-Shipping.exe"+19DF94: 48 8D 55 E8 - lea rdx,[rbp-18] "DeadByDaylight-Win64-Shipping.exe"+19DF98: 49 8D 4D 40 - lea rcx,[r13+40] "DeadByDaylight-Win64-Shipping.exe"+19DF9C: E8 7F 81 44 00 - call DeadByDaylight-Win64-Shipping.exe+5E6120 "DeadByDaylight-Win64-Shipping.exe"+19DFA1: 8B 48 08 - mov ecx,[rax+08] "DeadByDaylight-Win64-Shipping.exe"+19DFA4: 83 F9 01 - cmp ecx,01 } Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 (изменено) можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал. Забыл использует ли UE4 _RTDynamicCast, если да, то тебе может помочь эта статья. Изменено 6 января, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость ARRAMAGA Опубликовано 6 января, 2017 Поделиться Опубликовано 6 января, 2017 В 06.01.2017 в 16:59, partoftheworlD сказал: можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал. Забыл использует ли UE4 _RTDynamicCast, если да, то тебе может помочь эта статья. Показать Если заменить ид в адресах, то можно получить другой предмет, это я давно выяснил, но у меня желание именно получать больше одного предмета при прокачке. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dino Опубликовано 7 января, 2017 Поделиться Опубликовано 7 января, 2017 В 06.01.2017 в 17:19, ARRAMAGA сказал: но у меня желание именно получать больше одного предмета при прокачке. Показать вызвать из своего потока функцию, которая выдает предмет Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 7 января, 2017 Поделиться Опубликовано 7 января, 2017 В 07.01.2017 в 16:30, Dino сказал: вызвать из своего потока функцию, которая выдает предмет Показать Найти бы её еще, для Dying Light наверное уже 5 месяцев пытаюсь найти. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения