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

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


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

короче скрипт работает толь без обскана,ID инженеров cmp [rbx+2C],000002C0 не работает с обскано. работает он просто замораживает значения и всё,

вот скрипт.

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

[ENABLE]

alloc(newmem,2048,"XCom2.exe"+B832FD) 
label(returnhere)
label(originalcode)
label(exit)

newmem:
cmp [rbx+2C],000002C0
jne originalcode
mov ecx,edx

originalcode:
mov [rbx+08],ecx
cmp ecx,edx
jmp returnhere

"XCom2.exe"+B832FD:
jmp newmem
returnhere:

[DISABLE]
dealloc(newmem)
"XCom2.exe"+B832FD:
mov [rbx+08],ecx
cmp ecx,edx

 

 

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

Только что, Baracuda сказал:

короче скрипт работает толь без обскана работает он просто замораживает значения  и всё

Ну ни просто замораживает, разве он не сделал тебе при включении больше инженеров?;)

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

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

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

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

ID инженеров cmp [rbx+2C],000002C0

Наверное потому что [rbx+2C] не равно 000002C0 (так как ты сравниваешь 8 байтное значение с четырёхбайтным).

Но если записать так:

cmp dword ptr [rbx+2C],000002C0 , то будет работать.

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

нет просто замораживает

ЗНАЕШЬ ПОЧЕМУ НЕ ПРИБАВЛЯЕТ ИНЖЕНЕРОВ А ПРОСТО ЗАМОРАЖИВАЕТ ИХ, ПОТОМУ ЧТО ИГРУ ДЕЛАЛИ ПРИДУРКИ ПОЛНЫЕ,
ВОТ ЭТО ИСТИННАЯ ПРАВДА.

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

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

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

Опять ошибаешься, смотри свой скриншот 

у тебя на скриншоте в ecx было 1E6, а в edx 245.

 

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

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

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

эээ никому не кажется странным х32 хук в х64 коде?

я же Baracuda уже написал:

6 минут назад, Garik66 сказал:

Наверное потому что [rbx+2C] не равно 000002C0 (так как ты сравниваешь 8 байтное значение с четырёхбайтным).

Но если записать так:

cmp dword ptr [rbx+2C],000002C0 , то будет работать.

 

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

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

СКРИПТ РАБОТАЕТ НА ЗАМОРОЗКУ И ВСЁ, НЕ КАКИХ ИНЖЕНЕРОВ ОН НЕ ПРИБАВЛЯЕТ.

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

ВОТ САМ СКРИПТ, ОН ТОЛЬКО РАБОТАЕТ НА ЗАМОРОЗКУ И ВСЁ, НЕ КАКИХ ИНЖЕНЕРОВ ОН НЕ ПРИБАВЛЯЕТ.

 

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


[ENABLE]

alloc(newmem,2048,"XCom2.exe"+B832FD) 
label(returnhere)
label(originalcode)

newmem:
cmp dword ptr [rbx+2C],000002C0
jne originalcode
mov ecx,edx

originalcode:
mov [rbx+08],ecx
cmp ecx,edx
jmp returnhere

"XCom2.exe"+B832FD:
jmp newmem
returnhere:

[DISABLE]
dealloc(newmem)
"XCom2.exe"+B832FD:
mov [rbx+08],ecx
cmp ecx,edx

 

 

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

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

ВОТ САМ СКРИПТ, ОН ТОЛЬКО РАБОТАЕТ НА ЗАМОРОЗКУ И ВСЁ, НЕ КАК ИНЖЕНЕРОВ ОН НЕ ПРИБАВЛЯЕТ.

Ты потратил инженеров перед включением скрипта?

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

и потратил инженеров и прибавил, включил скрипт, а он не прибавляет а просто замораживает, не прибавляет.

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

Ладно, не очень понимаю тебя, проще действительно скачивать игру и делать самому скрипт (думаю быстрее будет получаться), чем получается как испорченный телефон.

Вот ещё вариант скрипта:

Запомни перед включением скрипта, сколько было инженеров и сколько стало после включения скрипта и напиши:

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

[ENABLE]
alloc(newmem,2048,"XCom2.exe"+B832FD) 
label(returnhere)
label(originalcode)

newmem:

originalcode:
mov [rbx+08],ecx
cmp dword ptr [rbx+2C],000002C0
jne @f
mov ecx,#1000
mov edx,ecx
mov dword ptr [rbx+08],ecx
mov dword ptr [rbx+0C],ecx

@@:
cmp ecx,edx
jmp returnhere

"XCom2.exe"+B832FD:
jmp newmem
returnhere:

[DISABLE]
"XCom2.exe"+B832FD:
mov [rbx+08],ecx
cmp ecx,edx

dealloc(newmem)

 

 

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

Только что, Baracuda сказал:

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

Понятно.

Тогда отвечу на самый первый вопрос.

Нет с таким случаем я не сталкивался. 

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

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

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

ЕСЛИ Я КАК ТЫ ГОВОРИШЬ Я НАШЁЛ НЕ ТОТ АДРЕС, ТО ТОГДА ОН БЫ НЕ РАБОТАЛ НА ЗАМОРОЗКУ.

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

Только что, Baracuda сказал:

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

ЕСЛИ Я КАК ТЫ ГОВОРИШЬ Я НАШЁЛ НЕ ТОТ АДРЕС, ТО ТОГДА ОН БЫ НЕ РАБОТАЛ НА ЗАМОРОЗКУ.

Скорее всего ты делал поиск "Неизвестное значение" Изменилось/не изменилось или как то примерно так.

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

Ты эти адреса скорее всего выкинул (или не обратил внимания на них) при отсеве.

Попробуй ещё раз поискать адрес. 

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

ВИДИШЬ В ЧЁМ ДЕЛА Garik66, Я УЖЕ ПИСАЛ ОБЕТОМ Я КОГДА ЕГО НАШЁЛ,АДРЕС ИНЖЕНЕРОВ Я ЕГО ИЗМЕНИЛ, И КОЛИЧЕСТВО ИНЖЕНЕРОВ В ИГРЕ ТОЖЕ ИЗМЕНИЛОСЬ,

ВОТ В ЧЁМ ДЕЛА.

 

 

сейчас поищу по новой

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

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

ВИДИШЬ В ЧЁМ ДЕЛА Garik66, Я УЖЕ ПИСАЛ ОБЕТОМ Я КОГДА ЕГО НАШЁЛ,АДРЕС ИНЖЕНЕРОВ Я ЕГО ИЗМЕНИЛ, И КОЛИЧЕСТВО ИНЖЕНЕРОВ В ИГРЕ ТОЖЕ ИЗМЕНИЛОСЬ,

ВОТ В ЧЁМ ДЕЛА.

Не знаю, что и сказать, переспрашивать твои действия (что ты сделал тогда) думаю бесполезно, так как ты не помнишь, что делал, что менял, как менял.

Поэтому только один совет - начни заново: заново найди адрес инженеров ну и т.д.

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

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

это сначала исправьте (пример):

Не понял. Лучше покажи на скрипте.

default_offtopic.gif Иван Семенович, перестаньте говорить загадками, вы меня изводите. ;)

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

9 минут назад, gmz сказал:

там уже такое было. и пример наводил.

А каким боком тот пример относится к нашему случаю?

дал скрипт, который сделал сам СЕ:

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

[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
}

 

разве  jmp code в этом примере не сработает как нужно?

Просто игры у меня нет, поэтому посмотреть не могу.

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

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

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

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