![]() |
Всем привет.
Немного "отдохнули" на ZipLock, идем дальше. Скачали файл, разархивировали, смотрим file task4.exe Видим в результате, что это data, т.е. файл то действительно сломан. Смотрим hexeditor task4.exe https://forum.antichat.xyz/attachmen...b128ae59e9.png Видим, что написано, что это PE, но он не запускается, не просматривается ghidra и ida, даже file ничего не показывает. Надо проверить магические байты. Погуглим какие должны быть для PE и DOS[S].[/S] Вот тут видим много их всяких разных https://forum.antichat.xyz/attachmen...65bcd30185.png Видим, что в файле и в таблице магических байтов есть как общее, так и разное, то прямо в hexeditor меняем и сохраняем. Ура, можем видеть в ghidra. Видим main, видим какие-то нечитаемые данные и функцию check2, в который передается элемент из данных. https://forum.antichat.xyz/attachmen...8ed3d98302.png Проваливаемся в check2 и видим check, в который передается переданное, но еще и xor-ится. https://forum.antichat.xyz/attachmen...d275af3f26.png Проваливаемся в check и видим, что там происходит побитовый сдвиг и xor. https://forum.antichat.xyz/attachmen...4ddcfa0750.png Дебажить в линуксе я так и не научился, потому я возвращаюсь к питону. Во время реверса надо знать, что все команды которые в коде делаются надо делать в обратную сторону, благо xor работает в обе стороны, но вот сдвиги, сложения, вычитания и деления и прочее уже так не работают. Т.е. надо выполнять команды в обратной последовательности и с обратными знаками, т.е. если был +, то делать надо - и т.д.. Python: Код:
data |
| Время: 01:24 |