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

Указатель сканер + Инъекции Копии + АОБ данным


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

1 минуту назад, Baracuda сказал:

ты Garik66 в десятку попал, точно ID не правильный взял другой и деньги заработали 

там этих ID куча они

Ну и отлично ;), а то  я уже подумал, что ТОРМОЖУ:wacko: и чего-то не понимаю:blink:.

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

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

это мене на будущее

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

вот ты мене писал

ID один что-ли нашёл, т.е. ты не отделил денег от материала? Об этом нужно было говорить сразу.

 

если в игре получилось найти только один ID на вещь, как с одним сделать указатели на другие вещи. 

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

21 минуты назад, Baracuda сказал:

если в игре получилось найти только один ID на вещь, как с одним сделать указатели на другие вещи. 

Как я поступаю в таких случаях:

1. Вариант

1. Отделяю все интересующие меня характеристики от других ненужных мне. Т.е. исследую структуру, в который например два адреса нужных характеристик (Группа 1) и два адреса не нужных характеристик (Группа 2). По фиолетовым значениям нахожу первый ID.

2. Делаю структуру где 1 характеристика, из нужных ( 1 группа) и во второй группе другие характеристики. Опять же по фиолетовым значениям получаю второй ID.

 

2. Вариант

Беру структуру загоняю в неё адреса 3-х нужных характеристик и раскрываю поинтеры, иногда находятся смещения, где текстом  отделяются адреса (ну например [rdx+04]+08 - money для денег и matireal для материала.)

 

3. Вариант

За ID выбираю значение в регистре (без исследования структуры), особенно если инструкция имеет например вид mov [eax+edx*4],ebx, то чаще всего за ID принимаю edx.

 

4. Вариант

Если удалось найти один ID (допустим для материала), но мы знаем, что другая характеристика (например деньги) лежит тоже в этой структуре. Тогда рассчитываю смещение от 1 характеристики до второй и пишу скрипт. пример здесь:

 

    Кстати проверь его. 

 

ЗЫ:

5. Вариант

Различное сочетание перечисленных ранее вариантов.

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

да рано я радовался, там только 4 смешения которые не меняются после перезагрузки, они одинаковые и на материал, и на деньги.

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

Дополнение к предыдущему сообщению.

6. Вариант.

Чаще всего применяю, когда инструкция имеет вид как у тебя. mov eax,[r8]

Запоминаем какой адрес соответствует какой характеристике,  находим второй указатель, т.е. указатель на указатель (вспомни Шаг № 8 Туториала), либо просто поднимаемся вверх по коду игры и находим инструкцию, где загружается значение  r8.

И уже из этой инструкции строим структуру, чаще всего именно в этой структуре легко находится фильтр.

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

да это для меня сложно, пошёл верх по коду по не чего,

а как понять грузится инструкция r8 куда ни будь или нет.

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

2 минуты назад, Baracuda сказал:

да это для меня сложно, пошёл верх по коду по не чего,

а как понять грузится инструкция r8 куда ни будь или нет.

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

Если не помнишь как это сделать, пройди ещё раз 8 ШАГ Туториала СЕ. - Брейкпоинт на чтение на указатель на адрес и выйдешь на нужную инструкцию.

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

garik66 не подскажешь пожалуйста что за фигня,ИГРА XCOM 2 я вышел на адрес инженеров, что бы их добавить, но добавляешь а они не добавляются, но зато значения количество инженеров можно заморозить, это как так.

ЭТО Я ТАК ПОНЯЛ, ЗА ДОБАВЛЕНИЯ ОТВЕЧАЕТ ОДИН АДРЕС, А ЗА ЗАМОРОЗКУ ДРУГОЙ.

 

у меня как то получилось добавить, и все больше не в какую не добавляется.

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

1 минуту назад, Baracuda сказал:

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

На так сформулированный вопрос, смогу только ответить - "Ты где-то ошибся".

Если хочешь нормальный ответ, то и задавай нормальный вопрос, т.е. больше информации. Я же не телепат. ;)

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

ВОТ СКРИПТ

 

Скрытый текст

[ENABLE]

aobscanmodule(INJECT,XCom2.exe,89 4B 08 3B CA 7E 2D 41 B8 10 00 00 00 E8 E1)
alloc(newmem,$1000,"XCom2.exe"+B832FD)

label(code)
label(return)

newmem:

code:
  mov [rbx+08],ecx
  cmp ecx,edx
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db 89 4B 08 3B CA

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "XCom2.exe"+B832FD

"XCom2.exe"+B832DD: 4D 03 C0           -  add r8,r8
"XCom2.exe"+B832E0: 42 8B 14 C0        -  mov edx,[rax+r8*8]
"XCom2.exe"+B832E4: 8D 41 FF           -  lea eax,[rcx-01]
"XCom2.exe"+B832E7: 89 53 30           -  mov [rbx+30],edx
"XCom2.exe"+B832EA: 89 43 34           -  mov [rbx+34],eax
"XCom2.exe"+B832ED: EB 54              -  jmp XCom2.exe+B83343
"XCom2.exe"+B832EF: 8B 53 0C           -  mov edx,[rbx+0C]
"XCom2.exe"+B832F2: 48 89 74 24 30     -  mov [rsp+30],rsi
"XCom2.exe"+B832F7: 8B 73 08           -  mov esi,[rbx+08]
"XCom2.exe"+B832FA: 8D 4E 01           -  lea ecx,[rsi+01]
// ---------- INJECTING HERE ----------
"XCom2.exe"+B832FD: 89 4B 08           -  mov [rbx+08],ecx
"XCom2.exe"+B83300: 3B CA              -  cmp ecx,edx
// ---------- DONE INJECTING  ----------
"XCom2.exe"+B83302: 7E 2D              -  jle XCom2.exe+B83331
"XCom2.exe"+B83304: 41 B8 10 00 00 00  -  mov r8d,00000010
"XCom2.exe"+B8330A: E8 E1 5A 6C FF     -  call XCom2.exe+248DF0
"XCom2.exe"+B8330F: 89 43 0C           -  mov [rbx+0C],eax
"XCom2.exe"+B83312: 48 8B 0B           -  mov rcx,[rbx]
"XCom2.exe"+B83315: 48 85 C9           -  test rcx,rcx
"XCom2.exe"+B83318: 75 04              -  jne XCom2.exe+B8331E
"XCom2.exe"+B8331A: 85 C0              -  test eax,eax
"XCom2.exe"+B8331C: 74 13              -  je XCom2.exe+B83331
"XCom2.exe"+B8331E: C1 E0 04           -  shl eax,04
}

 

 

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

Это по твоему подробная информация?

Почему постоянно приходиться потом задавать наводящие вопросы?

1. адрес инженеров - что такое инженеры в игре? (у меня игры нет, не играл и т.д.) 

2. В [rbx+08] хранится количество этих инженеров?

3. Инструкция mov [rbx+08],ecx - разовая? или постоянно работающая?

 

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

инженеры это как дополнительный ресурс в игре,

[rbx+08] хранится адрес с числом инженеров, его можно изменить, но не всегда можно изменить количество инженеров, но зато можно заморозить, например если у тебя 5 инженеров

можно их заморозить, если у тебя 0 инженеров, то это число 482 добавишь одного инженера число стало 483,

[rbx+08] инструкция постоянно работающая. АДРЕС 4 БАЙТА

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

Ну а что в таком виде:

Скрытый текст

[ENABLE]

aobscanmodule(INJECT,XCom2.exe,89 4B 08 3B CA 7E 2D 41 B8 10 00 00 00 E8 E1)
alloc(newmem,$1000,"XCom2.exe"+B832FD)

label(code)
label(return)

newmem:

code:
  mov [rbx+08],ecx
  mov [rbx+08],#100 // сделаем 100 инженеров, сразу же замороженных.
  cmp ecx,edx
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db 89 4B 08 3B CA

unregistersymbol(INJECT)
dealloc(newmem)

 

скрипт не работает?

Проверь - стало ли 100 инженеров? И их должно всегда оставаться 100.

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

Дополнение к сообщению:

 

4. Нужен ли фильтр? Т.е. Инструкция mov [rbx+08],ecx работает только с адресом инженеров или и с другими адресами тоже.

    4.1. Если с другими тоже - то предоставь фильтр (по какому смещению и чему должен быть равен для инженеров.)

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

Garik66 ты меня запутал.

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

ВОТ АДРЕС НА РЕСУРСЫ ИНЖЕНЕРОВ, 7FF6D20259AC ВОТ ЧИСЛО КОТОРОЕ ПОКАЗЫВАЕТ ЭТОТ АДРЕС 508. А В ИГРЕ КОЛИЧЕСТВО ИНЖЕНЕРОВ ПОКАЗЫВАЕТ 23

[rbx+08]  в этой инструкции есть ещё адреса левые ВОТ ID ИНЖЕНЕРОВ [rbx+24],00007FF6 [rbx+5C],00017F8F и вот cmp rdx,245 

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

1. Ну тогда попробуй заморозка количества инженеров:

Скрытый текст

[ENABLE]
aobscanmodule(INJECT,XCom2.exe,89 4B 08 3B CA 7E 2D 41 B8 10 00 00 00 E8 E1)
alloc(newmem,$1000,"XCom2.exe"+B832FD)
label(code)
label(return)

newmem:
  cmp [rbx+24],00007FF6
  jne code
  mov ecx,[rbx+08]

code:
  mov [rbx+08],ecx
  cmp ecx,edx
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db 89 4B 08 3B CA

unregistersymbol(INJECT)
dealloc(newmem)

 

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

 

2.

14 минуты назад, Baracuda сказал:

ВОТ АДРЕС НА РЕСУРСЫ ИНЖЕНЕРОВ, 7FF6D20259AC ВОТ ЧИСЛО КОТОРОЕ ПОКАЗЫВАЕТ ЭТОТ АДРЕС 508. А В ИГРЕ КОЛИЧЕСТВО ИНЖЕНЕРОВ ПОКАЗЫВАЕТ 23

Закономерности здесь не увидел. Не понял как это работает.

Поставь брейкпоинт на запись на адрес и сделай скриншот, при срабатывании инструкции - хочу посмотреть какие значения в регистрах (особенно ecx и edx). 

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

если ты имел виду это то не работает

Скрытый текст


[ENABLE]

aobscanmodule(INJECT,XCom2.exe,8B 53 08 45 33 C0 48 8B CB 2B 53 34 E8 F3)
alloc(newmem,$1000,"XCom2.exe"+B82EEC)

label(code)
label(return)

newmem:
  cmp [rbx+2C],000002C0
  jne code
  xor [rbx],r8d
  mov [rbx+08],#99
  xor [rbx],r8d

code:
  mov edx,[rbx+08]
  xor r8d,r8d
  jmp return

INJECT:
  jmp code
  nop
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db 8B 53 08 45 33 C0

unregistersymbol(INJECT)
dealloc(newmem)

 

 

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

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

скрипт не запускается

Я делал скрипт на основе того скрипта, который ты мне дал. Поэтому думаю ты где-то опять ошибся - либо включен ещё скрипт с этой же инструкцией, либо был вылет и адрес поменян и аобскан его не находит, либо ещё чего-то.

59 минут назад, Baracuda сказал:

если ты имел виду это то не работает

Я это не имел ввиду, так как про шифрование слышу впервые от тебя. До этого не было  информации про шифрование.

И кстати на будущее 

xor r8d,r8d

это не шифрование, а просто обнуление регистра.

 

 

Судя по скриншоту думаю, что в EDX (RDX) лежит максимально возможное количество инженеров, а в ECX(RCX) лежит текущее количество.

Скрытый текст

[ENABLE]

aobscanmodule(INJECT,XCom2.exe,89 4B 08 3B CA 7E 2D 41 B8 10 00 00 00 E8 E1)
alloc(newmem,$1000,"XCom2.exe"+B832FD)

label(code)
label(return)

newmem:
  cmp dword ptr [rbx+24],00007FF6
  jne code
  mov ecx,edx
  
code:
  mov [rbx+08],ecx
  cmp ecx,edx
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db 89 4B 08 3B CA

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "XCom2.exe"+B832FD

"XCom2.exe"+B832DD: 4D 03 C0           -  add r8,r8
"XCom2.exe"+B832E0: 42 8B 14 C0        -  mov edx,[rax+r8*8]
"XCom2.exe"+B832E4: 8D 41 FF           -  lea eax,[rcx-01]
"XCom2.exe"+B832E7: 89 53 30           -  mov [rbx+30],edx
"XCom2.exe"+B832EA: 89 43 34           -  mov [rbx+34],eax
"XCom2.exe"+B832ED: EB 54              -  jmp XCom2.exe+B83343
"XCom2.exe"+B832EF: 8B 53 0C           -  mov edx,[rbx+0C]
"XCom2.exe"+B832F2: 48 89 74 24 30     -  mov [rsp+30],rsi
"XCom2.exe"+B832F7: 8B 73 08           -  mov esi,[rbx+08]
"XCom2.exe"+B832FA: 8D 4E 01           -  lea ecx,[rsi+01]
// ---------- INJECTING HERE ----------
"XCom2.exe"+B832FD: 89 4B 08           -  mov [rbx+08],ecx
"XCom2.exe"+B83300: 3B CA              -  cmp ecx,edx
// ---------- DONE INJECTING  ----------
"XCom2.exe"+B83302: 7E 2D              -  jle XCom2.exe+B83331
"XCom2.exe"+B83304: 41 B8 10 00 00 00  -  mov r8d,00000010
"XCom2.exe"+B8330A: E8 E1 5A 6C FF     -  call XCom2.exe+248DF0
"XCom2.exe"+B8330F: 89 43 0C           -  mov [rbx+0C],eax
"XCom2.exe"+B83312: 48 8B 0B           -  mov rcx,[rbx]
"XCom2.exe"+B83315: 48 85 C9           -  test rcx,rcx
"XCom2.exe"+B83318: 75 04              -  jne XCom2.exe+B8331E
"XCom2.exe"+B8331A: 85 C0              -  test eax,eax
"XCom2.exe"+B8331C: 74 13              -  je XCom2.exe+B83331
"XCom2.exe"+B8331E: C1 E0 04           -  shl eax,04
}

 

 Попробуй этот скрипт. Перед проверкой закрой игру и СЕ и заново загрузись. Проверь свой фильтр [rbx+24],00007FF6, если изменился, то найди другой.

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

  • Гость закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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