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

Отладичк и НЕХ-Редактор - Почему есть отличие...и как это исправить.


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

Есть вопрос может кто подскажет.

Когда я взламываю игры и нахожу инструкцию например жизней в игре,

то смещение отличается которое отображает отладчик, от того что показывает НЕХ-Редактор.

То есть например GAME.EXE+32456 Код: 8D 88 98 64 00 00 показывает отладчик, а вот в НЕХ-Редакторе показывает совсем другое, но я вычислил базовое смещение и в НЕХ-Редакторе.

Я отнял от смещения 32456 - 0С00 = 31856 это смещение в Нех-Редакторе и код совпадает.

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

В общем смотрите скриншоты и их отличия по смещениям (игра Doom 3 BFG Edition)

И не только игра Doom 3 и другие игры тоже так же...особенно новинки.

5735223.png

5736247.png

Просто на старых играх такого не было...всё чётко совпадало.

Я такое заметил в 2009 году что смещение на некоторых играх начало отличатся в отладчике от НЕХ\RAW. А час все новинки игры выходят с такой вот лажой.

Кстати у всех игр таких сжатых - нужно отнимать от смещение что показывает отладчик (0С00 - НЕХ) (3072 - DEC),  что бы получить уже реальное в НЕХ-Редакторе (Только тогда инструкции или код совпадёт в отладчике и НЕХ-редакторе).

Я думаю что разрабы сжимают файлы...!

Если возможность как то разжать EXE или DLL ?

 

 

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

все проще...

0x00400000 BASE
0x0097CEFC VA (0x0057CEFC+0x00400000)
0x0057CEFC RVA (0x0097CEFC-0x00400000)
0x0057C2FC RAW (0x0057CEFC-0x00001000+0x00000400)
0x00001000 Section Virtual Address
0x00000400 Section Raw Address
 

возьми CFFExplorer.exe и сам посчитай xD

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

Это и так понятно!!! :mad:

Лучше бы сказал как сделать в RAW'е как VA.

Что бы там и там было одинаково.

Короче нужно как то восстановить пустоты в RAW.

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

так я показал как. только не говори что надо на СЕ Lol

то что на скринах - выравнивание. вполне вероятно когда там у тебя сходилось это был криво распак. протектор/пакер. в норм PE 512 как на скрине 1

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

так я показал как. только не говори что надо на СЕ Lol

то что на скринах - выравнивание. вполне вероятно когда там у тебя сходилось это был криво распак. протектор/пакер. в норм PE 512 как на скрине 1

 

Ты меня не понял вовсе!!! :closeyes:

На первом скрине это сжат/подрезан сам файл до смещения 400, а в старых играх там до 1000 свободно.

Например игры NFS_MW, NFS_U, NFS-U2, CS1.6 или TRA...там у них до 1000 свободно.

Просто сравни старые игры до 2009, с новыми и сразу всё поймёшь.

С этими сдвигами новыми, трудно пустоты\дыры в коде искать и вшивать скрипты АСМ в сам модуль или EXE файл.

Если узнаешь как вшивать АСМ скрипты в файлы такие где до 400 смещение,

то скажешь по какому принципу делать это, а то я не знаю.

А лучше пример сделай на кокой ни будь игре если что - где под 400 смещение!

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

на скринах - FileAlignment 0x00000200. а в nocd прим. NFSMW > FileAlignment 0x00001000 - косяк.

это не "новые сдвиги" а нормальная сборка модуля. код туда (до инициализации) нельзя вставлять так как загрузчик ставит там PAGE_READONLY - DEP включен - креш.

дыры.. модуль.. если нету места в секции кода - создай новую. например в CFFExplorer > Add Section (empty space) +PAGE_EXECUTE_READWRITE и добавляешь туда код который ты в хидер кидал. хмм тебе наверно еще ASLR помешает, если будет в коде чет типа mov [xxxxxx],eax :D

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

  • 5 недель спустя...

Всё разобрался как пользоваться CFF Explorer'ом...кстати очень хорошая вещь.

Спасибо за идею gmz

Всё тему можно закрыть.

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

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

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

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