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

Простейший анти-чит

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

Наткнулся на игру 

"Добрый молодец"

 

Задача

1 Поменять очки через адрес и чтоб при этом не сработал анти-чит

2 обойти анти-чит с помощью СЕ не Ольгой и подобному ней

 

Игра

https://drive.google.com/file/d/1HxkKUE7St-j7553b5mUolyQaM1suBsLk/view?usp=sharing

 

 

Сайт автора не работает

 

 

на вирусы

https://www.virustotal.com/ru/file/1a07ffaca47d7dbb9cde197b976ab95235f77b3dc262d0e241c6dac2fe0be93d/analysis/1520629552/

 

Изменено пользователем JIeXA
  • Смешно 1

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


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

2 обойти анти-чит с помощью СЕ не Ольгой и подобному ней

а в чем разница? что в ce дизассемблер, что в ольке

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


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

а в чем разница? что в ce дизассемблер, что в ольке

Вы можете поставить бряк в СЕ на функцию????????

 

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


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

Вы можете поставить бряк в СЕ на функцию????????

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

 

ezq-NW8GPJI.jpg

 

 

в общем тут 2 варианта обхода и оба легкие, хотя интересно было посмотреть как детектит значение.

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


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

Ну а скажем сквозь стены ходить

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
В 10.03.2018 в 00:47, JIeXA сказал:

Скрипт под споилер

 

Спойлер

{ Game   : GoodBoy.exe
  Version: 
  Date   : 2018-03-10
  Author : Alexander

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(bypass,GoodBoy.exe,3B 83 0C 0A 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov eax,[ebx+00000A0C]
  cmp eax,[ebx+00000A0C]
  jmp return

bypass:
  jmp newmem
  nop
return:
registersymbol(bypass)

[DISABLE]

bypass:
  db 3B 83 0C 0A 00 00

unregistersymbol(bypass)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "GoodBoy.exe"+A37E

"GoodBoy.exe"+A369: C1 E0 04           -  shl eax,04
"GoodBoy.exe"+A36C: 03 C1              -  add eax,ecx
"GoodBoy.exe"+A36E: 03 D0              -  add edx,eax
"GoodBoy.exe"+A370: 8B C2              -  mov eax,edx
"GoodBoy.exe"+A372: 5B                 -  pop ebx
"GoodBoy.exe"+A373: C3                 -  ret 
"GoodBoy.exe"+A374: 53                 -  push ebx
"GoodBoy.exe"+A375: 8B D8              -  mov ebx,eax
"GoodBoy.exe"+A377: 8B C3              -  mov eax,ebx
"GoodBoy.exe"+A379: E8 8A FF FF FF     -  call GoodBoy.exe+A308
// ---------- INJECTING HERE ----------
"GoodBoy.exe"+A37E: 3B 83 0C 0A 00 00  -  cmp eax,[ebx+00000A0C]
// ---------- DONE INJECTING  ----------
"GoodBoy.exe"+A384: 74 34              -  je GoodBoy.exe+A3BA
"GoodBoy.exe"+A386: 8B 15 48 04 48 00  -  mov edx,[GoodBoy.exe+80448]
"GoodBoy.exe"+A38C: 6A 10              -  push 10
"GoodBoy.exe"+A38E: 68 FE A4 47 00     -  push GoodBoy.exe+7A4FE
"GoodBoy.exe"+A393: 68 9D A4 47 00     -  push GoodBoy.exe+7A49D
"GoodBoy.exe"+A398: 8B 0A              -  mov ecx,[edx]
"GoodBoy.exe"+A39A: 8B 41 44           -  mov eax,[ecx+44]
"GoodBoy.exe"+A39D: E8 06 C1 05 00     -  call GoodBoy.exe+664A8
"GoodBoy.exe"+A3A2: 50                 -  push eax
"GoodBoy.exe"+A3A3: E8 22 C1 06 00     -  call GoodBoy.exe+764CA
}

 

 

В 10.03.2018 в 00:47, JIeXA сказал:

Ну а скажем сквозь стены ходить

 

Легко)

 

 

Спойлер

{ Game   : GoodBoy.exe
  Version: 
  Date   : 2018-03-10
  Author : Alexander

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(ghost_mode,GoodBoy.exe,84 C0 75 11 33 C0) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov al, 01
  test al,al
  jne GoodBoy.Zgs01Finalize+1305
  xor eax,eax
  jmp return

ghost_mode:
  jmp newmem
  nop
return:
registersymbol(ghost_mode)

[DISABLE]

ghost_mode:
  db 84 C0 75 11 33 C0

unregistersymbol(ghost_mode)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "GoodBoy.exe"+8B70

"GoodBoy.exe"+8B40: 64 89 15 00 00 00 00  -  mov fs:[00000000],edx
"GoodBoy.exe"+8B47: E9 08 0A 00 00        -  jmp GoodBoy.exe+9554
"GoodBoy.exe"+8B4C: 33 C0                 -  xor eax,eax
"GoodBoy.exe"+8B4E: 89 85 64 FF FF FF     -  mov [ebp-0000009C],eax
"GoodBoy.exe"+8B54: 8B 8B E0 07 00 00     -  mov ecx,[ebx+000007E0]
"GoodBoy.exe"+8B5A: 8B 93 DC 07 00 00     -  mov edx,[ebx+000007DC]
"GoodBoy.exe"+8B60: 03 8D 7C FF FF FF     -  add ecx,[ebp-00000084]
"GoodBoy.exe"+8B66: 03 55 80              -  add edx,[ebp-80]
"GoodBoy.exe"+8B69: 8B C3                 -  mov eax,ebx
"GoodBoy.exe"+8B6B: E8 AC F5 FF FF        -  call GoodBoy.exe+811C
// ---------- INJECTING HERE ----------
"GoodBoy.exe"+8B70: 84 C0                 -  test al,al
"GoodBoy.exe"+8B72: 75 11                 -  jne GoodBoy.exe+8B85
"GoodBoy.exe"+8B74: 33 C0                 -  xor eax,eax
// ---------- DONE INJECTING  ----------
"GoodBoy.exe"+8B76: 8B 55 84              -  mov edx,[ebp-7C]
"GoodBoy.exe"+8B79: 64 89 15 00 00 00 00  -  mov fs:[00000000],edx
"GoodBoy.exe"+8B80: E9 CF 09 00 00        -  jmp GoodBoy.exe+9554
"GoodBoy.exe"+8B85: 8B 8B DC 07 00 00     -  mov ecx,[ebx+000007DC]
"GoodBoy.exe"+8B8B: 8D 0C 89              -  lea ecx,[ecx+ecx*4]
"GoodBoy.exe"+8B8E: 8D 0C 89              -  lea ecx,[ecx+ecx*4]
"GoodBoy.exe"+8B91: 8D 14 4B              -  lea edx,[ebx+ecx*2]
"GoodBoy.exe"+8B94: 8B 83 E0 07 00 00     -  mov eax,[ebx+000007E0]
"GoodBoy.exe"+8B9A: 80 3C 42 17           -  cmp byte ptr [edx+eax*2],17
"GoodBoy.exe"+8B9E: 75 27                 -  jne GoodBoy.exe+8BC7
}

 

  • Плюс 1

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


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

Это точно TrainMe?

 

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


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

Это точно TrainMe?

обычная игра вроде как

 

 

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

 

Перезалил

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


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

обычная игра вроде как

Это намек на то почему это в разделе Train Me если это ну ни как не Train Me а скорее вопросы по взлому а скорее даже запросы.

 

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


Ссылка на сообщение
Поделиться на другие сайты
В 10.03.2018 в 04:25, ReWanet сказал:

это ну ни как не Train Me а скорее вопросы по взлому а скорее даже запросы

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

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


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

так всё таки покажите partoftheworlD  как в СЕ поставить бряк на МессаджБокс

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


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

как в СЕ поставить бряк на МессаджБокс

 

Memory view -> View -> Enumirate Dll's and Symbols

 

UZJCujB47NU.jpg

 

В прошлый раз забыл написать.эта игра/трейми на самом деле полезная, особенно для новичков в понимании принципов работы каких-то опций. Да и в случае чего перезапускается за секунды. Как говорится маст хев

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


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

 

P.S.

Я даже не предполагал что можно на функции поставить

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

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


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

Но раз было сказано без бряка на коробку сообщений, я вышел на проверку по инструкции значения очков, кажется 1-я инструкция была на доступ. Это мне напомнило способ проверки CRC хешей. Обычно же значение пишется, а после проверяется, а раз постоянно пишется, значит что-то его интересное использует.

 

dUNVO3zKi1w.jpg

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


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

 

Изменено пользователем JIeXA
способ

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


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

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

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

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

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

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

Войти

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

Войти

×

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

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