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

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

Всем привет! Уважаемые господа-хацкеры, натолкните на путь истинный: не получается взломать ресурсы в act of aggression. Сразу скажу, что я новичок и в гейм хакинге буквально 2 дня, учусь по урокам Xipho. Нормально научился взламывать простые игры и решил взяться за более большие и сложные, решил попробовать AoA. Начал, естественно, с денег. Начал искать и отсеивать значения, нашел 9 штук. Опытным путем нашел 2 значения(кстати не понимаю зачем 2), которые отвечают за вывод на экран. Кроме как экранных значений ничего не нашел и сделал вывод, что реальное значение шифруется. Поставил брейк поит на один из адресов и нашел 2 инструкции. Полез в дизассемблированый код и пытался найти какие то подозрительные коллы или еще что то, но ничего не нашел, xor'ов тоже не нашел на этом и застрял... Подскажите, может я где-то что-то пропустил? 

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

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

 

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

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

 

Я именно на этот урок и опирался, когда в коде копался, но что-то не получается. Не нахожу ничего подозрительного. Никаких коллов, xor'ов.

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

Я именно на этот урок и опирался, когда в коде копался, но что-то не получается. Не нахожу ничего подозрительного. Никаких коллов, xor'ов.

 

Я закачаю игру и попробую тебе помочь если получится.

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

А в обще с чего было взято, что они шифрованные ??? Есть такая игра простенькая как солдатики - так там деньги кодированные просто. Не которые просто вот как поступают, ввели то что отображено на экране в СЕ, отсеяли пару раз и если с найденными значениями не чего не произошло при редактировании, то они почему то становится для них шифрованными. А то что есть с давних времен и кодированное значение, они не знают. Dison гляди и поможет как скачает. Я вчера эту тему ещо видел, хотел уже как бы помочь, но в то же время и занят был,а после как увидел, что игра 10 гигабайт - что то желание пропало её качать  :( А в обще, как бы сказать - игра сложная в том что на ней решил по тренеровать навыки. Не которые до сех пор не могут отделить, противника от своего персонажа. И Fling и там ещо не которые умельцы трейнеров - так и не сделали, что бы то или иное, работало только для себя и не переходило это к компьютерному боту. Можно конечно списать на то что не тестировали особо,но у того же Flinga они идут уже как пятые по счету трейнера с подобной проблемой и он не мог не заметить, данную проблему. 

Кстати там xor стоит,но это можно обойти и деньги просто ввести в hex и всё.  

b67098f602629c3e9db0d89f3b060f5b.jpg 

Короче что то намудрил. Часа полтора только искал данное значение и подбирал число в нем минут 20  :)


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


Так как человечки там работают пока не понял. Что то нет желание более в ней ковыряться. Фар край 2 задумал сегодня глядеть и время уже 11 почти. Нашел только визуальное значение,но оно не на что не влияет. Может Dison там что намудрит  :-[  Но игра не по легкая и сидеть в ней надо не мало, адреса в ней скорее всего как и в стратегий которая не так уж и давно взламывали - меняются. Выделяется наверное один адрес на каждого персонажа и на другого уже идет другой адрес. А адресов там около 2_ух тысяч предугадать это сложно. И компьютер наверное что то строит из человечков. Деньги то как пошли - так и идут и не куда они не денутся. А вот человечки, совсем другое дело. Но опять же - это только предположение. Может там и легко всё делается,но я легкого там не чего не заметил, ещо и far cry 2 подгоняет - её тоже хочу посмотреть успеть сегодня. Не хорошую в общем игру автор темы выбрал для начала. Ему вон дюну какую не будь или ред алерт 3 - что то в этом духе. 

[ENABLE]aobscanmodule(Money,ActOfAggression.exe,8B 4C * * 8B 40 * 83 F8)alloc(newmem,$1000)label(code)label(return)newmem:  mov [eax+ecx*4+10],DEBB8015code:  mov ecx,[eax+ecx*4+10]  mov eax,[eax+0C]  jmp returnMoney:  jmp newmem  nop  nopreturn:registersymbol(Money)[DISABLE]Money:  db 8B 4C 88 10 8B 40 0Cunregistersymbol(Money)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "ActOfAggression.exe"+799971"ActOfAggression.exe"+799951: 5E                       -  pop esi"ActOfAggression.exe"+799952: 64 89 0D 00 00 00 00     -  mov fs:[00000000],ecx"ActOfAggression.exe"+799959: 83 C4 34                 -  add esp,34"ActOfAggression.exe"+79995C: C2 10 00                 -  ret 0010"ActOfAggression.exe"+79995F: CC                       -  int 3 "ActOfAggression.exe"+799960: FF 74 24 04              -  push [esp+04]"ActOfAggression.exe"+799964: E8 07 FD FF FF           -  call ActOfAggression.exe+799670"ActOfAggression.exe"+799969: 8B 50 08                 -  mov edx,[eax+08]"ActOfAggression.exe"+79996C: 8B CA                    -  mov ecx,edx"ActOfAggression.exe"+79996E: 83 E1 07                 -  and ecx,07// ---------- INJECTING HERE ----------"ActOfAggression.exe"+799971: 8B 4C 88 10              -  mov ecx,[eax+ecx*4+10]"ActOfAggression.exe"+799975: 8B 40 0C                 -  mov eax,[eax+0C]// ---------- DONE INJECTING  ----------"ActOfAggression.exe"+799978: 83 F8 03                 -  cmp eax,03"ActOfAggression.exe"+79997B: 77 0A                    -  ja ActOfAggression.exe+799987"ActOfAggression.exe"+79997D: FF 24 85 A8 99 B9 00     -  jmp dword ptr [eax*4+ActOfAggression.exe+7999A8]"ActOfAggression.exe"+799984: C1 C1 10                 -  rol ecx,10"ActOfAggression.exe"+799987: 8B C1                    -  mov eax,ecx"ActOfAggression.exe"+799989: C2 04 00                 -  ret 0004"ActOfAggression.exe"+79998C: 2B CA                    -  sub ecx,edx"ActOfAggression.exe"+79998E: 8B C1                    -  mov eax,ecx"ActOfAggression.exe"+799990: C2 04 00                 -  ret 0004"ActOfAggression.exe"+799993: 81 F1 BE BA AD DE        -  xor ecx,DEADBABE} 
  • Плюс 4
Ссылка на комментарий
Поделиться на другие сайты

Как всегда только стоит взяться Lirw опережает

Да мне только охота было посмотреть, что там за шифрованное значение и всё. А ковыряться в неё - нет особого желания. Я не любитель таких игр и мало знаю о том как они работают. В принципе разница то в них не велика,но опять же не люблю данный жанр игр. Единственное что мне нравится из подобных игр, так это "Rise of Nations Extended Edition" Ранее она по другому называлась, а сейчас вот так. А ну и ещо игра там где говорят  (надо больше золота) забыл как она называется  :rolleyes:  И Dison не как всегда. Я не хотел тебе мешать,а думал ты ему сделаешь видео урок какой то или что то в этом духе. Я просто показал скрипт, что можно сделать и без, там каких расшифровок и тому подобного - нужно просто найти адрес правильный и всего лишь. Адрес естественно какой то странный, он как бы сказать - два в одном. В него как бы дописывается в начало что то и не меняется, а меняется только конец адреса. Зачем это сделано, понятия не имею,но тут не сложно предугадать.

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

А в обще с чего было взято, что они шифрованные ???

Жень, ты же сам ответил на вопрос -> у тебя, под сполером "Код функции", ответ и можно прямо из той инструкции написать скрипт с добавлением (нужен флаг, так как инструкция скорее всего очень часто работает) или с  постоянным кол-вом (это проще) денег.

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

ЗЫ: может нужно будет аобскан повыше на инструкцию взять, а может и так сработает.

[ENABLE]aobscanmodule(Money,ActOfAggression.exe,35 BE BA AD DE 89 44 91 10)alloc(newmem,$1000)label(return)registersymbol(Money)newmem:  mov eax,#1000000  xor eax,DEADBABE // "смерть тебе дитя", ну я так перевёл (разрабы прикалываются - интересная константа)   mov[ecx+edx*4+10],eax  jmp returnMoney:  jmp newmem  DB 90 90 90 90return:[DISABLE]Money:  db 35 BE BA AD DE 89 44 91 10unregistersymbol(Money)dealloc(newmem) 
  • Плюс 3
Ссылка на комментарий
Поделиться на другие сайты

xor eax,DEADBABE // "смерть тебе дитя", ну я так перевёл (разрабы прикалываются - интересная константа) :)

offtopic.gif Помнится была такая головоломка где просто давался залитый определённым цветом квадрат, и нужно было подобрать пароль от следующего уровня. Цвет был с альфа каналом - 4 байта и в hex'е читался как #DEADBEEF ("мёртвая говядина")
Ссылка на комментарий
Поделиться на другие сайты

Жень, ты же сам ответил на вопрос -> у тебя, под сполером "Код функции", ответ и можно прямо из той инструкции написать скрипт с добавлением (нужен флаг, так как инструкция скорее всего очень часто работает) или с  постоянным кол-вом (это проще) денег.

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

ЗЫ: может нужно будет аобскан повыше на инструкцию взять, а может и так сработает.

 

Работает проверил только что. Однозначно плюс.

[ENABLE]aobscanmodule(Money,ActOfAggression.exe,35 BE BA AD DE 89 44 91 10)alloc(newmem,$1000)label(return)registersymbol(Money)newmem:  mov eax,#1000000  xor eax,DEADBABE // "смерть тебе дитя", ну я так перевёл (разрабы прикалываются - интересная константа)   mov[ecx+edx*4+10],eax  jmp returnMoney:  jmp newmem  DB 90 90 90 90return:[DISABLE]Money:  db 35 BE BA AD DE 89 44 91 10unregistersymbol(Money)dealloc(newmem) 
Ссылка на комментарий
Поделиться на другие сайты

Жень, ты же сам ответил на вопрос

Игорь - это я написал до того, как ковырялся в игре. Править не стал своё сообщение. Подсобил чем мог. Вопрос в обще был в теме о xore которого якобы нету. Да и можно было не расшифровывать и так работает.

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

Работает проверил только что. Однозначно плюс.

Dison, спасибо!!!

В одной из тем (нами обсуждаемых), я уже писал, что после видео MasterGH

http://gamehacklab.ru/video_lessons/109-issledovanie-i-vzlom-loki-xor-shifrovanie.html

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

 

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

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

LIRW, А где ты xor нашел? D: Я тыкал по всем ближайшим коллам и джампам, но что-то никак не могу найти xor. 

WenSiL, Женя скорее всего вышел на XOR поиском "Неизвестного значения".

Т.е., если предполагается что значение шифрованное, то поиск производится:

Ищется - "Неизвестное значение", тип "4 байта" (или float, как предпочитает LIRW), метод "изменилось/не изменилось".

Конечно это долго, но в результате получаем и реальные (шифрованные) значения и экранные.

На шифрованные ставим бряк (как всегда) и отсюда уже и выходим на нужные инструкции.

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

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

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

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