krocki

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

7 сообщений в этой теме

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

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

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

То есть например 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
0

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


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

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

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

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

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

0

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


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

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

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

0

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


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

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

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

 

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

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

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

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

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

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

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

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

0

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


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

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

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

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

0

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


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

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

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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.