• Объявления

    • Garik66

      Пользователям форума   05.11.2017

      Прошу обратить внимание на эту тему (чтобы увидеть ссылку, войдите в объявление - нажмите на заголовок):   
ARRAMAGA

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

9 сообщений в этой теме

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

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

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

 

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

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

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

 

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

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

0

Поделиться сообщением


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

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 час назад, ARRAMAGA сказал:

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

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

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

0

Поделиться сообщением


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

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

Изменено пользователем partoftheworlD
0

Поделиться сообщением


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

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

 

 

0

Поделиться сообщением


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

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

Изменено пользователем partoftheworlD
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 минуту назад, partoftheworlD сказал:

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

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, ARRAMAGA сказал:

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

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Dino сказал:

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

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

0

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас