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

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

Привет всем у меня есть инструкция которая не постоянно считывается а только когда делаешь какое нибудь действие, например открыл инвентарь появились адреса предметов.

Можно сделать так чтобы инструкция постоянно считывалась, чтоб не приходилось открывать инвентарь для появления адресов предметов.

 

Собственно сам скрипт:

 

Спойлер

[ENABLE]
aobscan(Inf.Item,48 63 40 18 85 C0 7E 07 B8) // should be unique
alloc(newmem,$1000,0DF4F8DA)
registersymbol(Inf.Item)
label(code)
label(return)

newmem:
cmp [rax+10],00000017
jne code
mov [rax+18],#99
code:
  movsxd  rax,dword ptr [rax+18]
  test eax,eax
  jmp return

Inf.Item:
  jmp newmem
  nop
return:

[DISABLE]

Inf.Item:
  db 48 63 40 18 85 C0

unregistersymbol(Inf.Item)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 0DF4F8DA

0DF4F8AE: 0F 84 35 00 00 00              -  je 0DF4F8E9
0DF4F8B4: 48 8B 47 20                    -  mov rax,[rdi+20]
0DF4F8B8: 48 8B 40 20                    -  mov rax,[rax+20]
0DF4F8BC: 48 8B C8                       -  mov rcx,rax
0DF4F8BF: 49 8B D7                       -  mov rdx,r15
0DF4F8C2: 48 83 EC 20                    -  sub rsp,20
0DF4F8C6: 83 38 00                       -  cmp dword ptr [rax],00
0DF4F8C9: 49 BB 50 86 6C 04 00 00 00 00  -  mov r11,00000000046C8650
0DF4F8D3: 41 FF D3                       -  call r11
0DF4F8D6: 48 83 C4 20                    -  add rsp,20
// ---------- INJECTING HERE ----------
0DF4F8DA: 48 63 40 18                    -  movsxd  rax,dword ptr [rax+18]
0DF4F8DE: 85 C0                          -  test eax,eax
// ---------- DONE INJECTING  ----------
0DF4F8E0: 7E 07                          -  jle 0DF4F8E9
0DF4F8E2: B8 01 00 00 00                 -  mov eax,00000001
0DF4F8E7: EB 02                          -  jmp 0DF4F8EB
0DF4F8E9: 33 C0                          -  xor eax,eax
0DF4F8EB: 48 8D 65 E8                    -  lea rsp,[rbp-18]
0DF4F8EF: 41 5F                          -  pop r15
0DF4F8F1: 5F                             -  pop rdi
0DF4F8F2: 5E                             -  pop rsi
0DF4F8F3: C9                             -  leave 
0DF4F8F4: C3                             -  ret 
}

 

 

 

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


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

Ты можешь отреверсить функцию целиком, выяснить ее параметры запуска, в скрипте подготавливать эти параметры (распихать их в нужные места), и затем вызвать CreateThread на стартовый адрес этой функции.

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


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

Если бы я знал как это сделать то не спрашивал бы у вас.

Может кто объяснит?

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


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

Если бы я знал как это сделать то не спрашивал бы у вас.

Может кто объяснит?

Может сделать перехват в другом месте?

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


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

Может кто объяснит?

 

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


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

Я читал эту тему, в примере с моим кодом как это сделать

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


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

Я читал эту тему, в примере с моим кодом как это сделать

Темы для того и создаются, что бы ты научился и потом мог применить знания для своих целей.

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


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

Сейчас еще перечитаю, где то я что то не понял

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


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

Это понятно, я бы больше понял это на примере моего кода.

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


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

Это понятно, я бы больше понял это на примере моего кода.

Найди другое место, где есть постоянный доступ к структуре!

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


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

Найди другое место, где есть постоянный доступ к структуре!

Мне нужно знать как делать ВЫЗОВ ФУНКЦИИ. 

Я тему создал наверно не просто так.

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


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

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

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


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

Одно дело тема перечитана 100 раз, другое дело когда кто то может объяснить как это сделать.

Например я не понимаю что товарищ в созданной теме описал, и хотел бы по подробнее понять, что и как и откуда берется и куда вписывается, можно ли это сделать с аб скан, может нельзя,

я не гуру, иногда чтобы понять что то, нужно больше деталей.

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

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


Ссылка на сообщение
Поделиться на другие сайты
В 20.03.2020 в 11:32, Xipho сказал:

Ты можешь отреверсить функцию целиком, выяснить ее параметры запуска, в скрипте подготавливать эти параметры (распихать их в нужные места), и затем вызвать CreateThread на стартовый адрес этой функции.

😂 Хипко ты как всегда, проще написать этот текст когда ты что-то знаешь и рубишь в этом.

А для меня твой ответ это ТЕМНЫЙ ЛЕС! 😂

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


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

Ребят кто поможет?

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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