Перейти к содержанию

Добавление предметов как объектов


Рекомендуемые сообщения

В игре каждый предмет хранятся в отдельном адресе, т.е. два одинаковых предмета хранятся в разных адресах, и при получении нового предмета создаётся новый адрес.

Инструкция выглядит так:

  mov rax,[r13+40]
  lea rcx,[r13+08]

 

Подключив свою гениальную гениальность, я написал

  mov rax,[r13+40]
  lea rcx,[r13+08]

  mov rax,[r13+40]
  lea rcx,[r13+08]

 

но по два предмета мне выдаваться не стало. 

Как нужно правильно написать?

Ссылка на комментарий
Поделиться на другие сайты

ARRAMAGA, первое, что надо было тебе сделать, сказать название игры(пиратка или лицензия), Второе предоставить полную функцию создания предметов или предоставить адреса, и в трет их, ты создаешь  один и тот же предмет.

Ссылка на комментарий
Поделиться на другие сайты

16 час назад, ARRAMAGA сказал:

Как нужно правильно написать?

ARRAMAGA , ты не всё ещё доделал, для написания рабочего скрипта, нужно больше инфы.

Посмотри мой видео-урок,

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего, твои инструкции просто создают уникальный ID предмета и записывают, тебе надо их копировать на этапе инициализации, где предмет берется из массива в котором хранятся все предметы и выделяется на него память. А то, что ты делаешь выглядит, как  - у тебя есть 2 спички, ты их переложил и хочешь чтобы их было 4.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

Игра 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
}

 

 

Ссылка на комментарий
Поделиться на другие сайты

можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал.
Забыл использует ли UE4  _RTDynamicCast, если да, то тебе может помочь эта статья.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, partoftheworlD сказал:

можешь попробовать найти функцию которая отвечает за освобождение из памяти при выбрасывании предмета и найти участок кода, которому задаются параметры указывающие, что надо выбрасывать, подменяй на нужные и после того как выбросишь на земле будет лежать другой предмет, а не тот который выбрасывал.
Забыл использует ли UE4  _RTDynamicCast, если да, то тебе может помочь эта статья.

Если заменить ид в адресах, то можно получить другой предмет, это я давно выяснил, но у меня желание именно получать больше одного предмета при прокачке.

Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, ARRAMAGA сказал:

 но у меня желание именно получать больше одного предмета при прокачке.

вызвать из своего потока функцию, которая выдает предмет

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Dino сказал:

вызвать из своего потока функцию, которая выдает предмет

:DНайти бы её еще, для Dying Light наверное уже 5 месяцев пытаюсь найти.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.