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

[Splinter Cell Blacklist] не меняются значения


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

Всем привет.Хотел себе в трикоптере сделать много зарядов, нашел 4 значения, хотел определить - какое именно.

но они не меняются, ставлю в значение 4, а там опять 0.

splintercell.PNG

помогите пожалуйста)

заранее спасибо

где то нашел, что если заморозить прогой ProcessHacker, только потом менять, то поможет. Мне не помогло :(

Я меняю, а потом сразуже опять на 0

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

да вроде верные, сколько раз искал - всегда эти 4 находил - байт, 2 байта, 4 и 8

Если это было бы так, то они бы замораживались.

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

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

если зашифровано то ищи методом изменилось\не изменилось либо увеличилось\уменьшилось

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

  • 6 лет спустя...
В 10.01.2020 в 00:17, vitalijtuz сказал:

Так а если зашифрованы то как это значение найти?

А выше для кого пишут ? Ох уж эти любители, читать то с последнего сообщения.  

если зашифровано то ищи методом изменилось\не изменилось либо увеличилось\уменьшилось

 

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

т

8 часов назад, LIRW сказал:

А выше для кого пишут ? Ох уж эти любители, читать то с последнего сообщения.  


если зашифровано то ищи методом изменилось\не изменилось либо увеличилось\уменьшилось

Так проблема в том что значение нахожу во float но если заморозить игра вылетает! 

 

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

5 часов назад, vitalijtuz сказал:

Так проблема в том что значение нахожу во float но если заморозить игра вылетает! 

ты нашел одно из значений, которое по - коду игры потом скорее всего сверяется и сверяется скорее всего с шифрованным значением - поэтому и вылет.
Нужно искать неизвестное 4 байта, изменилось(это 100 %   )/не изменилось (тут уже нужно смотреть игру).
Есть игры. где не изменилось приведет к потери искомого значения.

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

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

ты нашел одно из значений, которое по - коду игры потом скорее всего сверяется и сверяется скорее всего с шифрованным значением - поэтому и вылет.
Нужно искать неизвестное 4 байта, изменилось(это 100 %   )/не изменилось (тут уже нужно смотреть игру).
Есть игры. где не изменилось приведет к потери искомого значения.

Я новичок в этом деле,пробую взломать Splinter Cell Blacklist на гаджеты.

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

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

12 часов назад, vitalijtuz сказал:

а вот с гаджетами проблема.

Если с ними проблема, значит значение действительное шифрованное и людям сложновато найти значение.. К примеру гранаты 3 - это же не 30 патрон в рожке..  Там ты сделаешь 30 отсеиваний, а на гаджетах всего 3...  Но........Найди хотя бы визуальное, функцию трайс или в стек загляни на этом визуале. К примеру кинул гранату и загляни, что там внутри..  А на счет - сделал это, сделал другое и отделил и убийство - случаем не СЕ шной таблицей взятой на СЕ форуме :) ? А то и то сделал и другое, а на гранатах непонимающим сразу стал.

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

И не когда не надо не чего морозить... Лучше поставь бряк на запись на адрес. именно на запись, и погляди какой модуль в обще используется на этом адресе. Если он игровой, попробуй уже на доступ и смотри выпавшие функции.. Может где и использование ксора заметишь.  

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

3 часа назад, LIRW сказал:

 А на счет - сделал это, сделал другое и отделил и убийство - случаем не СЕ шной таблицей взятой на СЕ форуме :) ? А то и то сделал и другое, а на гранатах непонимающим сразу стал.

Спасибо за комент!

А где логика Ваша,не проще тогда скачать трейнер на просторах интернета?

В мои 40 лет не хочу Вам что то доказывать.

Я же не прошу дать мне скрипты а прошу помощи.

 Насчет патронов и всего остального то смотрел уроки на канале gamehacklab.

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

Вот пример моих скриптов

Беск_патроны:

Спойлер

{ Game   : Blacklist_game.exe
  Version: 
  Date   : 2020-01-07
  Author : vitalij

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(AMMO,Blacklist_game.exe,03 42 04 5F 5E) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  push dword ptr [edx+08]
  pop dword ptr [edx+04]
code:
  add eax,[edx+04]
  pop edi
  pop esi
  jmp return

AMMO:
  jmp newmem
return:
registersymbol(AMMO)

[DISABLE]

AMMO:
  db 03 42 04 5F 5E

unregistersymbol(AMMO)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Blacklist_game.exe"+C95F72

"Blacklist_game.exe"+C95F5A: 83 C2 0C           -  add edx,0C
"Blacklist_game.exe"+C95F5D: 3B C6              -  cmp eax,esi
"Blacklist_game.exe"+C95F5F: 7C F0              -  jl Blacklist_game.exe+C95F51
"Blacklist_game.exe"+C95F61: 5F                 -  pop edi
"Blacklist_game.exe"+C95F62: 33 C0              -  xor eax,eax
"Blacklist_game.exe"+C95F64: 5E                 -  pop esi
"Blacklist_game.exe"+C95F65: C3                 -  ret 
"Blacklist_game.exe"+C95F66: 8B 81 40 01 00 00  -  mov eax,[ecx+00000140]
"Blacklist_game.exe"+C95F6C: C1 E8 05           -  shr eax,05
"Blacklist_game.exe"+C95F6F: 83 E0 01           -  and eax,01
// ---------- INJECTING HERE ----------
"Blacklist_game.exe"+C95F72: 03 42 04           -  add eax,[edx+04]
"Blacklist_game.exe"+C95F75: 5F                 -  pop edi
"Blacklist_game.exe"+C95F76: 5E                 -  pop esi
// ---------- DONE INJECTING  ----------
"Blacklist_game.exe"+C95F77: C3                 -  ret 
"Blacklist_game.exe"+C95F78: CC                 -  int 3 
"Blacklist_game.exe"+C95F79: CC                 -  int 3 
"Blacklist_game.exe"+C95F7A: CC                 -  int 3 
"Blacklist_game.exe"+C95F7B: CC                 -  int 3 
"Blacklist_game.exe"+C95F7C: CC                 -  int 3 
"Blacklist_game.exe"+C95F7D: CC                 -  int 3 
"Blacklist_game.exe"+C95F7E: CC                 -  int 3 
"Blacklist_game.exe"+C95F7F: CC                 -  int 3 
"Blacklist_game.exe"+C95F80: 55                 -  push ebp
}

Много денег:

Спойлер

{ Game   : Blacklist_game.exe
  Version: 
  Date   : 2020-01-07
  Author : vitalij

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(MANU,Blacklist_game.exe,8B 40 28 50 E8 E4 08 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov dword ptr [eax+28],#10000000
code:
  mov eax,[eax+28]
  push eax
  call 005D2060
  jmp return

MANU:
  jmp newmem
  nop 4
return:
registersymbol(MANU)

[DISABLE]

MANU:
  db 8B 40 28 50 E8 E4 08 00 00

unregistersymbol(MANU)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Blacklist_game.exe"+1D1773

"Blacklist_game.exe"+1D175B: 85 C0                    -  test eax,eax
"Blacklist_game.exe"+1D175D: 74 05                    -  je Blacklist_game.exe+1D1764
"Blacklist_game.exe"+1D175F: 8B 40 04                 -  mov eax,[eax+04]
"Blacklist_game.exe"+1D1762: EB 02                    -  jmp Blacklist_game.exe+1D1766
"Blacklist_game.exe"+1D1764: 33 C0                    -  xor eax,eax
"Blacklist_game.exe"+1D1766: 50                       -  push eax
"Blacklist_game.exe"+1D1767: E8 04 20 EE FF           -  call Blacklist_game.exe+B3770
"Blacklist_game.exe"+1D176C: 83 C4 04                 -  add esp,04
"Blacklist_game.exe"+1D176F: 85 C0                    -  test eax,eax
"Blacklist_game.exe"+1D1771: 74 09                    -  je Blacklist_game.exe+1D177C
// ---------- INJECTING HERE ----------
"Blacklist_game.exe"+1D1773: 8B 40 28                 -  mov eax,[eax+28]
"Blacklist_game.exe"+1D1776: 50                       -  push eax
"Blacklist_game.exe"+1D1777: E8 E4 08 00 00           -  call Blacklist_game.exe+1D2060
// ---------- DONE INJECTING  ----------
"Blacklist_game.exe"+1D177C: E8 CF 9D 20 00           -  call Blacklist_game.exe+3DB550
"Blacklist_game.exe"+1D1781: 8B 10                    -  mov edx,[eax]
"Blacklist_game.exe"+1D1783: 8B C8                    -  mov ecx,eax
"Blacklist_game.exe"+1D1785: 8B 82 34 01 00 00        -  mov eax,[edx+00000134]
"Blacklist_game.exe"+1D178B: FF D0                    -  call eax
"Blacklist_game.exe"+1D178D: 50                       -  push eax
"Blacklist_game.exe"+1D178E: E8 CD 25 04 00           -  call Blacklist_game.exe+213D60
"Blacklist_game.exe"+1D1793: 83 C4 04                 -  add esp,04
"Blacklist_game.exe"+1D1796: 85 C0                    -  test eax,eax
"Blacklist_game.exe"+1D1798: 74 0F                    -  je Blacklist_game.exe+1D17A9
}

Бессмертие:

Спойлер

{ Game   : Blacklist_game.exe
  Version: 
  Date   : 2020-01-07
  Author : vitalij

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(POINT,Blacklist_game.exe,D9 41 6C C3 CC CC CC CC CC CC CC CC CC CC CC CC D9 E8) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [ecx+40],(float)1
  jne @F
  mov dword ptr [ecx+6C],#1167867904
  jmp code
@@:
  mov dword ptr [ecx+6C],0
code:
  fld dword ptr [ecx+6C]
  ret 
  int 3 
  jmp return

POINT:
  jmp newmem
return:
registersymbol(POINT)

[DISABLE]

POINT:
  db D9 41 6C C3 CC

unregistersymbol(POINT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Blacklist_game.exe"+CF5790

"Blacklist_game.exe"+CF5786: CC                    -  int 3 
"Blacklist_game.exe"+CF5787: CC                    -  int 3 
"Blacklist_game.exe"+CF5788: CC                    -  int 3 
"Blacklist_game.exe"+CF5789: CC                    -  int 3 
"Blacklist_game.exe"+CF578A: CC                    -  int 3 
"Blacklist_game.exe"+CF578B: CC                    -  int 3 
"Blacklist_game.exe"+CF578C: CC                    -  int 3 
"Blacklist_game.exe"+CF578D: CC                    -  int 3 
"Blacklist_game.exe"+CF578E: CC                    -  int 3 
"Blacklist_game.exe"+CF578F: CC                    -  int 3 
// ---------- INJECTING HERE ----------
"Blacklist_game.exe"+CF5790: D9 41 6C              -  fld dword ptr [ecx+6C]
"Blacklist_game.exe"+CF5793: C3                    -  ret 
"Blacklist_game.exe"+CF5794: CC                    -  int 3 
// ---------- DONE INJECTING  ----------
"Blacklist_game.exe"+CF5795: CC                    -  int 3 
"Blacklist_game.exe"+CF5796: CC                    -  int 3 
"Blacklist_game.exe"+CF5797: CC                    -  int 3 
"Blacklist_game.exe"+CF5798: CC                    -  int 3 
"Blacklist_game.exe"+CF5799: CC                    -  int 3 
"Blacklist_game.exe"+CF579A: CC                    -  int 3 
"Blacklist_game.exe"+CF579B: CC                    -  int 3 
"Blacklist_game.exe"+CF579C: CC                    -  int 3 
"Blacklist_game.exe"+CF579D: CC                    -  int 3 
"Blacklist_game.exe"+CF579E: CC                    -  int 3 
}

 

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

11 минут назад, vitalijtuz сказал:

Так подскажи что тут не так?

Ну если делаешь на одну версию игры, то всё нормально.  Но какой тогда смысл от aobscan ?  У тебя call стоит в коде и в паттерне. Его над либо копировать readmem и делать пропуск 4 ох его байт, либо ставить хук в самом call не таща его таким вот способом с собой. 

Ну или вот сюда.

test eax,eax
jz aobcanmodule+9  // своя метка
mov dword ptr [eax+28],#10000000
mov eax,[eax+28]

 

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

2 часа назад, LIRW сказал:

Ну если делаешь на одну версию игры, то всё нормально.  Но какой тогда смысл от aobscan ?  У тебя call стоит в коде и в паттерне. Его над либо копировать readmem и делать пропуск 4 ох его байт, либо ставить хук в самом call не таща его таким вот способом с собой. 

Ну или вот сюда.


test eax,eax
jz aobcanmodule+9  // своя метка
mov dword ptr [eax+28],#10000000
mov eax,[eax+28]

 

Спасибо большое за помощь!

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

7 часов назад, vitalijtuz сказал:

Спасибо большое за помощь!

А гаджеты так не кто и не потянул... Не на cheathappens, не другие люди пытавшиеся их найти и они далеко не какие то там "Славы"  (Это был у нас чувак такой "Программист в общем) :lol:  Я попробовал - не вышло... Конечно, не сказать, что я там сидел весь день... не... но с полчасика попытался и не вышло.  Нашел 3 функции дублирующие значение значение гаджетов. Первый судя по коду рисует саму циферку и изменение его не чего не даст - ну кроме как визуального эффекта. А остальные 2 - одна функция, пашет с сотней-другой адресов, а последняя из трех, нечего существенного не даёт. Надо будет завтра от той циферки пойти попробовать еще. 

Поиграл не много, выкладываю тут найденные функции. 

Жизнь.

Спойлер

[ENABLE]
aobscanmodule(_unlimited_live_,Blacklist_DX11_game.exe,8B BE DC 04 00 00 85 * 74 * 8B * E8)
alloc(_unlimited_live_mem,$1000)
label(_restore_unlimited_live_)
label(_unlimited_live_back_)
 _unlimited_live_mem:
  mov edi,[esi+000004DC]
  test edi,edi
  jz _restore_unlimited_live_
  xorps xmm0,xmm0
  comiss xmm0,[edi+6C]
  jng _restore_unlimited_live_
  mov ecx,[edi+68]
  mov [edi+6C],ecx
 _restore_unlimited_live_:
  jmp _unlimited_live_back_
 _unlimited_live_:
  jmp _unlimited_live_mem
  db 90
 _unlimited_live_back_:
registersymbol(_unlimited_live_)
[DISABLE]
 _unlimited_live_:
  db 8B BE DC 04 00 00
unregistersymbol(_unlimited_live_)
      dealloc(_unlimited_live_mem)

 

Без перезарядки оружия.

Спойлер

[ENABLE]
aobscanmodule(_no_reload_,Blacklist_DX11_game.exe,75 * 6A * 8B * E8 * * * * 8B * E8 * * * * 84 * 74)
_no_reload_+03:
  db 00
registersymbol(_no_reload_)
[DISABLE]
_no_reload_+03:
  db 01
unregistersymbol(_no_reload_)

 

Бесконечные патроны.

Спойлер

[ENABLE]
aobscanmodule(_unlimited_ammo_,Blacklist_DX11_game.exe,E8 * * * * 84 * 75 * 8B * 3B * 7F * 6A * * * * E8 * * * * 8B)
_unlimited_ammo_+11:
  db 90 90
registersymbol(_unlimited_ammo_)
[DISABLE]
_unlimited_ammo_+11:
  db 2B FB
unregistersymbol(_unlimited_ammo_)

 

Без отдачи оружия.

Спойлер

[ENABLE]
aobscanmodule(_no_recoil_weapons_,Blacklist_DX11_game.exe,F3 * * * F2 * * * 66 * * * F3 0F 11 86 6C 15 00 00)
_no_recoil_weapons_:
  db 0F 57 C0 F3 0F 11 86 68 15 00 00 F3 0F 11 86 6C 15 00 00 90
registersymbol(_no_recoil_weapons_)
[DISABLE]
_no_recoil_weapons_:
  db F3 0F 5A C0 F2 0F 5C D0 66 0F 5A C2 F3 0F 11 86 6C 15 00 00
unregistersymbol(_no_recoil_weapons_)

 

Точность оружия.

Спойлер

[ENABLE]
aobscanmodule(_no_spread_weapon_,Blacklist_DX11_game.exe,74 * 0F 57 * EB * F3 * * * * * * * 0F 5A * F3)
_no_spread_weapon_:
  db 90 90
registersymbol(_no_spread_weapon_)
[DISABLE]
_no_spread_weapon_:
  db 74 05
unregistersymbol(_no_spread_weapon_)

 

Деньги. - можно в обще сделать бесплатные вещи. Но к такой то игре и деньги сойдут.

Спойлер

[ENABLE]
aobscanmodule(_unlimited_cash_,Blacklist_DX11_game.exe,8B 40 28 * 8B * E8 * * * * E8 * * * * 8B * 8B * 8B * * * * * FF)
alloc(_unlimited_cash_mem,$1000)
label(_unlimited_cash_back_)
 _unlimited_cash_mem:
  mov [eax+28],#99999999
  mov eax,[eax+28]
  push eax
  mov ecx,esi
  jmp _unlimited_cash_back_
 _unlimited_cash_:
  jmp _unlimited_cash_mem
  db 90
 _unlimited_cash_back_:
registersymbol(_unlimited_cash_)
[DISABLE]
 _unlimited_cash_:
  db 8B 40 28 50 8B CE
unregistersymbol(_unlimited_cash_)
      dealloc(_unlimited_cash_mem)

 

Невидимость.

Спойлер

[ENABLE]
aobscanmodule(_ghost_mode_player_,Blacklist_DX11_game.exe,74 * 8B * 8B * * FF * 85 * * * * * 74 * 8B * * * * * 85 * 74)
_ghost_mode_player_:
  db EB
registersymbol(_ghost_mode_player_)
[DISABLE]
_ghost_mode_player_:
  db 74
unregistersymbol(_ghost_mode_player_)

 

Очки пока в разработке... Вылетел, пока оставил их. Может завтра попробую еще раз гаджеты поглядеть и очки.

Ps: Да... скрипты под 11 dx но код один и тот же на функции.. Убрать из модуля dx_11 и всё будет работать и на 9 dx или какой там ? dx 10 ? я особо не смотрел. На каком игра стартанула, на таком и делал.

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

  • Xipho изменил название на [Splinter Cell Blacklist] не меняются значения
16 часов назад, LIRW сказал:

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

 

Если я правильно скриншот нашел

Спойлер

image.png

 

Гаджеты эти в инвентаре могут быть списками поведений. У списка, обычно, есть счетчик и он может выводится на экран.

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

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

42 минуты назад, MasterGH сказал:

Гаджеты эти в инвентаре могут быть списками поведений.

Чаще всего срабатывает вот эта функция. Но что самое интересное, она читает на одном адресе все значения гаджетов, а гаджетов 3 вида. Я думал, что переключусь на другой гаджет и новый адрес вылетит, а нет, существующий меняется на количество. И код интересный, напомнил мне шифровку патрон в сталкере, через imul :) вот прям очень похож.

Спойлер

"Blacklist_DX11_game.exe"+166DAD5: 32 C0                 -  xor al,al
"Blacklist_DX11_game.exe"+166DAD7: 8B 8E 38 03 00 00     -  mov ecx,[esi+00000338]
"Blacklist_DX11_game.exe"+166DADD: 8B 96 10 03 00 00     -  mov edx,[esi+00000310]
"Blacklist_DX11_game.exe"+166DAE3: 51                    -  push ecx
"Blacklist_DX11_game.exe"+166DAE4: 52                    -  push edx
"Blacklist_DX11_game.exe"+166DAE5: 50                    -  push eax
"Blacklist_DX11_game.exe"+166DAE6: E8 55 F6 DC FF        -  call Blacklist_DX11_game.exe+143D140
"Blacklist_DX11_game.exe"+166DAEB: 8B 5D EC              -  mov ebx,[ebp-14]
"Blacklist_DX11_game.exe"+166DAEE: 83 C4 0C              -  add esp,0C
"Blacklist_DX11_game.exe"+166DAF1: 33 FF                 -  xor edi,edi
// ---------- INJECTING HERE ----------
"Blacklist_DX11_game.exe"+166DAF3: 39 9E E8 02 00 00     -  cmp [esi+000002E8],ebx  // сравнивает количество 
// ---------- DONE INJECTING  ----------
"Blacklist_DX11_game.exe"+166DAF9: 0F 84 42 01 00 00     -  je Blacklist_DX11_game.exe+166DC41
"Blacklist_DX11_game.exe"+166DAFF: 89 9E E8 02 00 00     -  mov [esi+000002E8],ebx // но вот тут зачем то уже пишет. 
"Blacklist_DX11_game.exe"+166DB05: 83 FB 0A              -  cmp ebx,0A
"Blacklist_DX11_game.exe"+166DB08: 7C 29                 -  jl Blacklist_DX11_game.exe+166DB33
"Blacklist_DX11_game.exe"+166DB0A: B8 67 66 66 66        -  mov eax,66666667  // а вот это уже подобие сталкера. И пошло ниже
"Blacklist_DX11_game.exe"+166DB0F: F7 EB                 -  imul ebx
"Blacklist_DX11_game.exe"+166DB11: C1 FA 02              -  sar edx,02
"Blacklist_DX11_game.exe"+166DB14: 8B C2                 -  mov eax,edx
"Blacklist_DX11_game.exe"+166DB16: C1 E8 1F              -  shr eax,1F
"Blacklist_DX11_game.exe"+166DB19: 03 C2                 -  add eax,edx
}

 

 

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

×
×
  • Создать...

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

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