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

Взлом игры на ресурсы

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

Доброго времени суток, наткнулся на интересную игру под названием How To Survive 2 и решил немного почитерить. Попробовал найти количество патронов через Cheat Engine постепенно выстреливая по 1 и отсеивая память, но в конечном итоге ничего не получается найти. Может кто сталкивался с такой проблемой? заранее благодарен

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


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

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

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


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

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

попробовал, единственное что вышло - это найти "вес" который могу переносить, и то у него было 8ми числовое значение

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


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

Доброго времени суток, наткнулся на интересную игру под названием How To Survive 2 и решил немного почитерить. Попробовал найти количество патронов через Cheat Engine постепенно выстреливая по 1 и отсеивая память, но в конечном итоге ничего не получается найти. Может кто сталкивался с такой проблемой? заранее благодарен

Как вариант ты просто не тот тип данных ищешь.

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


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

Может шифровка там значения типа...и ищи не ниже 2 байта, что бы уж наверняка найти.

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


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

Может шифровка там значения типа...и ищи не ниже 2 байта, что бы уж наверняка найти.

пробовал 4 байта 8 байт float и double, впервые столкнулся с такой проблемой , когда метро пытался, в общем ничего

P.S. на руках есть рабочий трейнер. можно его как-то разобрать и посмотреть адрес?

 

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


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

Ну если тебе реально приспичило то можно...

Врубаешь игру с трейнером...

дальше просто при активации функции клавиши трейнера ищи значение типа изменилось\не изменилось (вк\вык)...

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

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


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

Ну если тебе реально приспичило то можно...

Врубаешь игру с трейнером...

дальше просто при активации функции клавиши трейнера ищи значение типа изменилось\не изменилось (вк\вык)...

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

очень сложно, понял, буду играть без читов))

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


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

Ахахахаха! Всегда пожалуйста!

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


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

Спасибо, что пытались помочь))

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


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

Если не знаешь какое значение и даже понятия не имеешь в чем оно, тогда  ищи во (float) - найдет всё что угодно. Ищи не известное и изменилось или не изменилось. Хотя раз мне попалась игра - не кто к ней не трейнер не сделал, не таблицы - там не то что сделать, там даже значение не найдешь. А эта игра была у нас в запросах по моему и было написано, что и на СЕ форуме пытались и не чего не вышло, а там как известно то - тоже Кулибинов хватает. Ну я решил попробовать, мол как это так я да не найду :D и не нашел ведь. Значение просто какое то - не то шифрованное, не то кодированное, но просто так его не найдешь, а изменилось или не изменилось искать, тоже не выход, так как адресов тысячи и игра такая, что не дай бог что не так там покрутил, сразу вылет. В общем очень чувствительная к значениям. Хотя её наверное можно было в Иде глянуть, но без адресов это опять большая потеря времени и игра наверное не стоит этого.

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


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

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

вот как выглядит полоска полная жизни, 100 это 4 Байта 4168674219

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

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,8B 87 7C 30 00 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2BB443)

label(code)
label(return)

newmem:

code:
  mov eax,[rdi+0000307C]
  jmp return

INJECT:
  jmp code
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db 8B 87 7C 30 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2BB443

"HowToSurvive2.exe"+2BB420: 48 8B 28                          -  mov rbp,[rax]
"HowToSurvive2.exe"+2BB423: 40 38 B5 C4 02 00 00              -  cmp [rbp+000002C4],sil
"HowToSurvive2.exe"+2BB42A: 75 0E                             -  jne HowToSurvive2.exe+2BB43A
"HowToSurvive2.exe"+2BB42C: 48 FF C1                          -  inc rcx
"HowToSurvive2.exe"+2BB42F: 48 83 C0 08                       -  add rax,08
"HowToSurvive2.exe"+2BB433: 48 3B CA                          -  cmp rcx,rdx
"HowToSurvive2.exe"+2BB436: 7C E8                             -  jl HowToSurvive2.exe+2BB420
"HowToSurvive2.exe"+2BB438: EB 09                             -  jmp HowToSurvive2.exe+2BB443
"HowToSurvive2.exe"+2BB43A: 48 3B EF                          -  cmp rbp,rdi
"HowToSurvive2.exe"+2BB43D: 0F 85 EE 01 00 00                 -  jne HowToSurvive2.exe+2BB631
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2BB443: 8B 87 7C 30 00 00                 -  mov eax,[rdi+0000307C]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2BB449: 0F 29 74 24 50                    -  movaps [rsp+50],xmm6
"HowToSurvive2.exe"+2BB44E: 44 0F 29 44 24 30                 -  movaps [rsp+30],xmm8
"HowToSurvive2.exe"+2BB454: F3 44 0F 10 05 3B 3F 12 00        -  movss xmm8,[HowToSurvive2.exe+3DF398]
"HowToSurvive2.exe"+2BB45D: 35 AB EB BE BA                    -  xor eax,BABEEBAB
"HowToSurvive2.exe"+2BB462: 89 84 24 90 00 00 00              -  mov [rsp+00000090],eax
"HowToSurvive2.exe"+2BB469: F3 0F 10 B4 24 90 00 00 00        -  movss xmm6,[rsp+00000090]
"HowToSurvive2.exe"+2BB472: F3 0F 5E B5 C0 2F 00 00           -  divss xmm6,[rbp+00002FC0]
"HowToSurvive2.exe"+2BB47A: 0F 28 C6                          -  movaps xmm0,xmm6
"HowToSurvive2.exe"+2BB47D: F3 0F 59 05 3B 3F 12 00           -  mulss xmm0,[HowToSurvive2.exe+3DF3C0]
"HowToSurvive2.exe"+2BB485: 41 0F 2F C0                       -  comiss xmm0,xmm8
}

 

 

Вот скрипт на Опыт XP закодировано

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

aobscanmodule(INJECT,HowToSurvive2.exe,4C 63 81 68 49 00 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+28E420)

label(code)
label(return)

newmem:

code:
  movsxd  r8,dword ptr [rcx+00004968]
  jmp return

INJECT:
  jmp code
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db 4C 63 81 68 49 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+28E420

"HowToSurvive2.exe"+28E3FE: 0F 28 C1                          -  movaps xmm0,xmm1
"HowToSurvive2.exe"+28E401: 0F 2F D8                          -  comiss xmm3,xmm0
"HowToSurvive2.exe"+28E404: F3 0F 11 84 91 E8 40 00 00        -  movss [rcx+rdx*4+000040E8],xmm0
"HowToSurvive2.exe"+28E40D: 76 0B                             -  jna HowToSurvive2.exe+28E41A
"HowToSurvive2.exe"+28E40F: C7 84 91 E8 40 00 00 00 00 00 00  -  mov [rcx+rdx*4+000040E8],00000000
"HowToSurvive2.exe"+28E41A: F3 C3                             - repe  ret 
"HowToSurvive2.exe"+28E41C: CC                                -  int 3 
"HowToSurvive2.exe"+28E41D: CC                                -  int 3 
"HowToSurvive2.exe"+28E41E: CC                                -  int 3 
"HowToSurvive2.exe"+28E41F: CC                                -  int 3 
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+28E420: 4C 63 81 68 49 00 00              -  movsxd  r8,dword ptr [rcx+00004968]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+28E427: 48 63 C2                          -  movsxd  rax,edx
"HowToSurvive2.exe"+28E42A: 49 81 F0 AB EB BE BA              -  xor r8,BABEEBAB
"HowToSurvive2.exe"+28E431: 4C 03 C0                          -  add r8,rax
"HowToSurvive2.exe"+28E434: 79 12                             -  jns HowToSurvive2.exe+28E448
"HowToSurvive2.exe"+28E436: 45 33 C0                          -  xor r8d,r8d
"HowToSurvive2.exe"+28E439: 41 81 F0 AB EB BE BA              -  xor r8d,BABEEBAB
"HowToSurvive2.exe"+28E440: 44 89 81 68 49 00 00              -  mov [rcx+00004968],r8d
"HowToSurvive2.exe"+28E447: C3                                -  ret 
"HowToSurvive2.exe"+28E448: B8 00 94 35 77                    -  mov eax,77359400
"HowToSurvive2.exe"+28E44D: 4C 3B C0                          -  cmp r8,rax
}

 

 

Вот но выносливость, оно не закодировано оказалось.

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

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,F3 0F 58 0B 0F 2F 0D AA B1 11 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2C41E3)

label(code)
label(return)

newmem:

code:
  mov [rbx],(float)1
  addss xmm1,[rbx]
  comiss xmm1,[HowToSurvive2.exe+3DF398]
  jmp return

INJECT:
  jmp code
  nop
  nop
  nop
  nop
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db F3 0F 58 0B 0F 2F 0D AA B1 11 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2C41E3

"HowToSurvive2.exe"+2C41B8: 0F 2F C8                 -  comiss xmm1,xmm0
"HowToSurvive2.exe"+2C41BB: F3 0F 11 41 08           -  movss [rcx+08],xmm0
"HowToSurvive2.exe"+2C41C0: 72 52                    -  jb HowToSurvive2.exe+2C4214
"HowToSurvive2.exe"+2C41C2: 48 8B 41 10              -  mov rax,[rcx+10]
"HowToSurvive2.exe"+2C41C6: 89 79 08                 -  mov [rcx+08],edi
"HowToSurvive2.exe"+2C41C9: 33 D2                    -  xor edx,edx
"HowToSurvive2.exe"+2C41CB: 48 8B 88 90 4B 00 00     -  mov rcx,[rax+00004B90]
"HowToSurvive2.exe"+2C41D2: E8 A9 25 FD FF           -  call HowToSurvive2.exe+296780
"HowToSurvive2.exe"+2C41D7: F3 0F 10 0D 49 91 FD 02  -  movss xmm1,[HowToSurvive2.exe+329D328]
"HowToSurvive2.exe"+2C41DF: F3 0F 5E C8              -  divss xmm1,xmm0
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2C41E3: F3 0F 58 0B              -  addss xmm1,[rbx]
"HowToSurvive2.exe"+2C41E7: 0F 2F 0D AA B1 11 00     -  comiss xmm1,[HowToSurvive2.exe+3DF398]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2C41EE: F3 0F 11 0B              -  movss [rbx],xmm1
"HowToSurvive2.exe"+2C41F2: 76 12                    -  jna HowToSurvive2.exe+2C4206
"HowToSurvive2.exe"+2C41F4: 48 C7 03 00 00 80 3F     -  mov [rbx],3F800000
"HowToSurvive2.exe"+2C41FB: 48 8B 5C 24 30           -  mov rbx,[rsp+30]
"HowToSurvive2.exe"+2C4200: 48 83 C4 20              -  add rsp,20
"HowToSurvive2.exe"+2C4204: 5F                       -  pop rdi
"HowToSurvive2.exe"+2C4205: C3                       -  ret 
"HowToSurvive2.exe"+2C4206: 89 7B 04                 -  mov [rbx+04],edi
"HowToSurvive2.exe"+2C4209: 48 8B 5C 24 30           -  mov rbx,[rsp+30]
"HowToSurvive2.exe"+2C420E: 48 83 C4 20              -  add rsp,20
}

 

 

Вот на хаванину, можно не когда не жрать, оно оказалось не закодирована.

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

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,F3 0F 10 4B 04 F3 0F 5C C8) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2C2694)

label(code)
label(return)

newmem:

code:
  mov [rbx+04],(float)1
  movss xmm1,[rbx+04]
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db F3 0F 10 4B 04

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2C2694

"HowToSurvive2.exe"+2C2669: 75 19                    -  jne HowToSurvive2.exe+2C2684
"HowToSurvive2.exe"+2C266B: 8D 50 03                 -  lea edx,[rax+03]
"HowToSurvive2.exe"+2C266E: 48 8B 41 10              -  mov rax,[rcx+10]
"HowToSurvive2.exe"+2C2672: 45 33 C0                 -  xor r8d,r8d
"HowToSurvive2.exe"+2C2675: 48 8B 88 90 4B 00 00     -  mov rcx,[rax+00004B90]
"HowToSurvive2.exe"+2C267C: E8 BF 2B FD FF           -  call HowToSurvive2.exe+295240
"HowToSurvive2.exe"+2C2681: 0F 28 C8                 -  movaps xmm1,xmm0
"HowToSurvive2.exe"+2C2684: F3 0F 10 05 9C AC FD 02  -  movss xmm0,[HowToSurvive2.exe+329D328]
"HowToSurvive2.exe"+2C268C: F3 0F 59 CE              -  mulss xmm1,xmm6
"HowToSurvive2.exe"+2C2690: F3 0F 5E C1              -  divss xmm0,xmm1
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2C2694: F3 0F 10 4B 04           -  movss xmm1,[rbx+04]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2C2699: F3 0F 5C C8              -  subss xmm1,xmm0
"HowToSurvive2.exe"+2C269D: 0F 57 C0                 -  xorps xmm0,xmm0
"HowToSurvive2.exe"+2C26A0: 0F 2F C1                 -  comiss xmm0,xmm1
"HowToSurvive2.exe"+2C26A3: F3 0F 11 4B 04           -  movss [rbx+04],xmm1
"HowToSurvive2.exe"+2C26A8: 76 07                    -  jna HowToSurvive2.exe+2C26B1
"HowToSurvive2.exe"+2C26AA: C7 43 04 00 00 00 00     -  mov [rbx+04],00000000
"HowToSurvive2.exe"+2C26B1: 0F 28 74 24 20           -  movaps xmm6,[rsp+20]
"HowToSurvive2.exe"+2C26B6: 48 83 C4 30              -  add rsp,30
"HowToSurvive2.exe"+2C26BA: 5B                       -  pop rbx
"HowToSurvive2.exe"+2C26BB: C3                       -  ret 
}

 

 

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

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


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

а по проще? как ей пользоваться?

 

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


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

а по проще? как ей пользоваться?

 

В CE после того как выбрал процесс -> Отладчик -> Инструменты -> Автоассемблер  и вставляешь код туда,потом Файл->Добавить скрипт в таблицу,далее подключаешь скрипт и проверяешь в игре.

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


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

Screenshot_1.1557774184.png

В 13.09.2016 в 10:30, Submarina сказал:

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

вот как выглядит полоска полная жизни, 100 это 4 Байта 4168674219

  Показать контент


[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,8B 87 7C 30 00 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2BB443)

label(code)
label(return)

newmem:

code:
  mov eax,[rdi+0000307C]
  jmp return

INJECT:
  jmp code
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db 8B 87 7C 30 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2BB443

"HowToSurvive2.exe"+2BB420: 48 8B 28                          -  mov rbp,[rax]
"HowToSurvive2.exe"+2BB423: 40 38 B5 C4 02 00 00              -  cmp [rbp+000002C4],sil
"HowToSurvive2.exe"+2BB42A: 75 0E                             -  jne HowToSurvive2.exe+2BB43A
"HowToSurvive2.exe"+2BB42C: 48 FF C1                          -  inc rcx
"HowToSurvive2.exe"+2BB42F: 48 83 C0 08                       -  add rax,08
"HowToSurvive2.exe"+2BB433: 48 3B CA                          -  cmp rcx,rdx
"HowToSurvive2.exe"+2BB436: 7C E8                             -  jl HowToSurvive2.exe+2BB420
"HowToSurvive2.exe"+2BB438: EB 09                             -  jmp HowToSurvive2.exe+2BB443
"HowToSurvive2.exe"+2BB43A: 48 3B EF                          -  cmp rbp,rdi
"HowToSurvive2.exe"+2BB43D: 0F 85 EE 01 00 00                 -  jne HowToSurvive2.exe+2BB631
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2BB443: 8B 87 7C 30 00 00                 -  mov eax,[rdi+0000307C]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2BB449: 0F 29 74 24 50                    -  movaps [rsp+50],xmm6
"HowToSurvive2.exe"+2BB44E: 44 0F 29 44 24 30                 -  movaps [rsp+30],xmm8
"HowToSurvive2.exe"+2BB454: F3 44 0F 10 05 3B 3F 12 00        -  movss xmm8,[HowToSurvive2.exe+3DF398]
"HowToSurvive2.exe"+2BB45D: 35 AB EB BE BA                    -  xor eax,BABEEBAB
"HowToSurvive2.exe"+2BB462: 89 84 24 90 00 00 00              -  mov [rsp+00000090],eax
"HowToSurvive2.exe"+2BB469: F3 0F 10 B4 24 90 00 00 00        -  movss xmm6,[rsp+00000090]
"HowToSurvive2.exe"+2BB472: F3 0F 5E B5 C0 2F 00 00           -  divss xmm6,[rbp+00002FC0]
"HowToSurvive2.exe"+2BB47A: 0F 28 C6                          -  movaps xmm0,xmm6
"HowToSurvive2.exe"+2BB47D: F3 0F 59 05 3B 3F 12 00           -  mulss xmm0,[HowToSurvive2.exe+3DF3C0]
"HowToSurvive2.exe"+2BB485: 41 0F 2F C0                       -  comiss xmm0,xmm8
}

 

 

Вот скрипт на Опыт XP закодировано

  Показать контент


aobscanmodule(INJECT,HowToSurvive2.exe,4C 63 81 68 49 00 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+28E420)

label(code)
label(return)

newmem:

code:
  movsxd  r8,dword ptr [rcx+00004968]
  jmp return

INJECT:
  jmp code
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db 4C 63 81 68 49 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+28E420

"HowToSurvive2.exe"+28E3FE: 0F 28 C1                          -  movaps xmm0,xmm1
"HowToSurvive2.exe"+28E401: 0F 2F D8                          -  comiss xmm3,xmm0
"HowToSurvive2.exe"+28E404: F3 0F 11 84 91 E8 40 00 00        -  movss [rcx+rdx*4+000040E8],xmm0
"HowToSurvive2.exe"+28E40D: 76 0B                             -  jna HowToSurvive2.exe+28E41A
"HowToSurvive2.exe"+28E40F: C7 84 91 E8 40 00 00 00 00 00 00  -  mov [rcx+rdx*4+000040E8],00000000
"HowToSurvive2.exe"+28E41A: F3 C3                             - repe  ret 
"HowToSurvive2.exe"+28E41C: CC                                -  int 3 
"HowToSurvive2.exe"+28E41D: CC                                -  int 3 
"HowToSurvive2.exe"+28E41E: CC                                -  int 3 
"HowToSurvive2.exe"+28E41F: CC                                -  int 3 
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+28E420: 4C 63 81 68 49 00 00              -  movsxd  r8,dword ptr [rcx+00004968]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+28E427: 48 63 C2                          -  movsxd  rax,edx
"HowToSurvive2.exe"+28E42A: 49 81 F0 AB EB BE BA              -  xor r8,BABEEBAB
"HowToSurvive2.exe"+28E431: 4C 03 C0                          -  add r8,rax
"HowToSurvive2.exe"+28E434: 79 12                             -  jns HowToSurvive2.exe+28E448
"HowToSurvive2.exe"+28E436: 45 33 C0                          -  xor r8d,r8d
"HowToSurvive2.exe"+28E439: 41 81 F0 AB EB BE BA              -  xor r8d,BABEEBAB
"HowToSurvive2.exe"+28E440: 44 89 81 68 49 00 00              -  mov [rcx+00004968],r8d
"HowToSurvive2.exe"+28E447: C3                                -  ret 
"HowToSurvive2.exe"+28E448: B8 00 94 35 77                    -  mov eax,77359400
"HowToSurvive2.exe"+28E44D: 4C 3B C0                          -  cmp r8,rax
}

 

 

Вот но выносливость, оно не закодировано оказалось.

  Показать контент


[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,F3 0F 58 0B 0F 2F 0D AA B1 11 00) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2C41E3)

label(code)
label(return)

newmem:

code:
  mov [rbx],(float)1
  addss xmm1,[rbx]
  comiss xmm1,[HowToSurvive2.exe+3DF398]
  jmp return

INJECT:
  jmp code
  nop
  nop
  nop
  nop
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db F3 0F 58 0B 0F 2F 0D AA B1 11 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2C41E3

"HowToSurvive2.exe"+2C41B8: 0F 2F C8                 -  comiss xmm1,xmm0
"HowToSurvive2.exe"+2C41BB: F3 0F 11 41 08           -  movss [rcx+08],xmm0
"HowToSurvive2.exe"+2C41C0: 72 52                    -  jb HowToSurvive2.exe+2C4214
"HowToSurvive2.exe"+2C41C2: 48 8B 41 10              -  mov rax,[rcx+10]
"HowToSurvive2.exe"+2C41C6: 89 79 08                 -  mov [rcx+08],edi
"HowToSurvive2.exe"+2C41C9: 33 D2                    -  xor edx,edx
"HowToSurvive2.exe"+2C41CB: 48 8B 88 90 4B 00 00     -  mov rcx,[rax+00004B90]
"HowToSurvive2.exe"+2C41D2: E8 A9 25 FD FF           -  call HowToSurvive2.exe+296780
"HowToSurvive2.exe"+2C41D7: F3 0F 10 0D 49 91 FD 02  -  movss xmm1,[HowToSurvive2.exe+329D328]
"HowToSurvive2.exe"+2C41DF: F3 0F 5E C8              -  divss xmm1,xmm0
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2C41E3: F3 0F 58 0B              -  addss xmm1,[rbx]
"HowToSurvive2.exe"+2C41E7: 0F 2F 0D AA B1 11 00     -  comiss xmm1,[HowToSurvive2.exe+3DF398]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2C41EE: F3 0F 11 0B              -  movss [rbx],xmm1
"HowToSurvive2.exe"+2C41F2: 76 12                    -  jna HowToSurvive2.exe+2C4206
"HowToSurvive2.exe"+2C41F4: 48 C7 03 00 00 80 3F     -  mov [rbx],3F800000
"HowToSurvive2.exe"+2C41FB: 48 8B 5C 24 30           -  mov rbx,[rsp+30]
"HowToSurvive2.exe"+2C4200: 48 83 C4 20              -  add rsp,20
"HowToSurvive2.exe"+2C4204: 5F                       -  pop rdi
"HowToSurvive2.exe"+2C4205: C3                       -  ret 
"HowToSurvive2.exe"+2C4206: 89 7B 04                 -  mov [rbx+04],edi
"HowToSurvive2.exe"+2C4209: 48 8B 5C 24 30           -  mov rbx,[rsp+30]
"HowToSurvive2.exe"+2C420E: 48 83 C4 20              -  add rsp,20
}

 

 

Вот на хаванину, можно не когда не жрать, оно оказалось не закодирована.

  Показать контент


[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,HowToSurvive2.exe,F3 0F 10 4B 04 F3 0F 5C C8) // should be unique
alloc(newmem,$1000,"HowToSurvive2.exe"+2C2694)

label(code)
label(return)

newmem:

code:
  mov [rbx+04],(float)1
  movss xmm1,[rbx+04]
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db F3 0F 10 4B 04

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "HowToSurvive2.exe"+2C2694

"HowToSurvive2.exe"+2C2669: 75 19                    -  jne HowToSurvive2.exe+2C2684
"HowToSurvive2.exe"+2C266B: 8D 50 03                 -  lea edx,[rax+03]
"HowToSurvive2.exe"+2C266E: 48 8B 41 10              -  mov rax,[rcx+10]
"HowToSurvive2.exe"+2C2672: 45 33 C0                 -  xor r8d,r8d
"HowToSurvive2.exe"+2C2675: 48 8B 88 90 4B 00 00     -  mov rcx,[rax+00004B90]
"HowToSurvive2.exe"+2C267C: E8 BF 2B FD FF           -  call HowToSurvive2.exe+295240
"HowToSurvive2.exe"+2C2681: 0F 28 C8                 -  movaps xmm1,xmm0
"HowToSurvive2.exe"+2C2684: F3 0F 10 05 9C AC FD 02  -  movss xmm0,[HowToSurvive2.exe+329D328]
"HowToSurvive2.exe"+2C268C: F3 0F 59 CE              -  mulss xmm1,xmm6
"HowToSurvive2.exe"+2C2690: F3 0F 5E C1              -  divss xmm0,xmm1
// ---------- INJECTING HERE ----------
"HowToSurvive2.exe"+2C2694: F3 0F 10 4B 04           -  movss xmm1,[rbx+04]
// ---------- DONE INJECTING  ----------
"HowToSurvive2.exe"+2C2699: F3 0F 5C C8              -  subss xmm1,xmm0
"HowToSurvive2.exe"+2C269D: 0F 57 C0                 -  xorps xmm0,xmm0
"HowToSurvive2.exe"+2C26A0: 0F 2F C1                 -  comiss xmm0,xmm1
"HowToSurvive2.exe"+2C26A3: F3 0F 11 4B 04           -  movss [rbx+04],xmm1
"HowToSurvive2.exe"+2C26A8: 76 07                    -  jna HowToSurvive2.exe+2C26B1
"HowToSurvive2.exe"+2C26AA: C7 43 04 00 00 00 00     -  mov [rbx+04],00000000
"HowToSurvive2.exe"+2C26B1: 0F 28 74 24 20           -  movaps xmm6,[rsp+20]
"HowToSurvive2.exe"+2C26B6: 48 83 C4 30              -  add rsp,30
"HowToSurvive2.exe"+2C26BA: 5B                       -  pop rbx
"HowToSurvive2.exe"+2C26BB: C3                       -  ret 
}

 

 

на опыт не работает, ничего не происходит или я чего-то не понимаю. заинжектил код, но как он работает ? 

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

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


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

на опыт не работает, ничего не происходит или я чего-то не понимаю. заинжектил код, но как он работает ? 

Он работает. Просто он не доделан. В кейве только повторение оригинальной инструкции, а записи в сам адрес опыта -  нет.

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


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

Он работает. Просто он не доделан. В кейве только повторение оригинальной инструкции, а записи в сам адрес опыта -  нет.

не подскажете недостающую часть кода ?

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

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


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

не подскажете недостающую часть кода ?

Не подскажу. Возможно, автор скрипта говорил про закодированные значения, значит, нужно самому смотреть игру, чтобы понять, какие значения нужно записывать. А запись делается просто, у нас это много где обсуждалось, и даже видеоуроки есть.

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


Ссылка на сообщение
Поделиться на другие сайты
В 12.09.2016 в 18:05, 530439 сказал:

очень сложно

Не чего сложного.  Смотри под спойлером.

Спойлер

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

В редакторе памяти преходишь по этому адресу, на этом адресе правой кнопкой, жмешь найти адреса связанные с этой инструкцией, заходишь в игру получаешь адрес, это если трейнер не защищён. а если защещён то скачиваешь артмани бесплатную версию, она во многом уступает от СЕ, но там есть фишка сохранить отсеивание загрузить отсеивание, Дальшепочти также, начало такое же, нашёл адреса сохранил отсеивание, закрыл артмани включил трейне и чит, закрыл трейнер, загрузил артмани, загрузил отсеивание, отсеял изменилось сохранил отсеивание, закрыл игру сново открыл, отсеял изменилось, (так же всё время изменилось), и так далее, и ещё в настройках поиска в ар мани поставь галочки только модульные адресаи только статистические адреса(скрипты всегда пишуться на статистических инструкциях) У дачного взлома и не ленись, а то не быть тебе гейм взломщиком не когда.

 

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


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

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

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

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

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

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

Войти

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

Войти

×

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

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