![]() |
eXeL@B —› Основной форум —› XOR для MZ-файлов |
Посл.ответ | Сообщение |
|
Создано: 06 марта 2005 17:24 · Личное сообщение · #1 задача, прикрутить навесную "криптовалку" к досовому ехешнику, ну начало понятно джам, правка заголовка итп, те как бы прикрутить не проблема, тупо поксорить тоже, а вот как сделать так что бы это все чудо расXORивалось нормально, Х3 это не PE, где все более менее прозрачно, а тут... если шифровать его целиком (без заголовка, естественно), то при запуске загрузчик будет настраивать адреса в соответствии с relocation table. тогда после расшифровки по адресам, которые указаны в этой таблице, получится совершенно не то, что должно было быть до зашифрования ![]() В идеале хотелось бы что-нибудь в коде, но даже нормальный туториал подойдет;) ![]() |
|
Создано: 06 марта 2005 18:01 · Личное сообщение · #2 |
|
Создано: 09 марта 2005 16:39 · Личное сообщение · #3 EvgeniCh, туторов не видал, но найти описание MZ можно... А с релоками можно поступать следующими образами (как и в случае шифровки длл в винде): 1) Убить смещение таблицы (не рекомендую); 2) Поменять указатель на оригинальную таблицу на свою (нулевую ебсессно), а после распаковки ручками пересчитать нужные вещи полагаясь на оригинальную таблицу (рекомендую ![]() 3) Если в качестве крипто тебя интересует просто ксор, то можно определить по оригинальной таблице релоков все байты, которые пересчитываются и просто их не трогать (не рекомендую, поскольку геморно и некрасиво ![]() 4) Ваще плюнуть на релоки, все раскриптовать, а дальше снова идти на проверку оригинальной таблицы релоков, снова ксорить расшифрованные, но пересчитываемые байтики, вычитать из них поправку, снова ксорить и прибавлять к ним поправку (геморрой=) А ваще, на васме тебе правильно советовали про Pklite и прочие досовые упаковщики... Думаю осталось немного людей, которые смогут отколупать ручками даже Pklite тот же... А уж если и своего потом в нем допишешь - ваще малореально=) ![]() |
|
Создано: 09 марта 2005 18:03 · Личное сообщение · #4 |
|
Создано: 06 марта 2006 18:24 · Личное сообщение · #5 Выглядеть это будет примерно так (кстати намного проще чем PE)... В DOS можно безболезненно приписать к любому COM'у или EXE'шнику сзади всё что угодно - это не повлияет на работоспособность программы. Этим и можно воспользоваться. Нужно будет написать три программы (установщик, загрузчик, защищаемая программа) 1. Задача установщика: склеить вместе загрузчик и защищаемую программу попутно ксоря последнюю. 2. Задача загрузчика: создать на диске файл и расшифровать в неё программу: 1) Открываем на чтение самого себя 2) Перепрыгиваем код загрузчика (для этого после компиляции надо запомнить размер испол няемого файла, записать его в исходник и скомпилить ещё раз). 3) Записываем в файл защищаемую программу параллельно расшифровывая её. 4) Освободить в памяти место, достаточное для выполнения программы 5) Передать ей управление 6) После завершения программы удалить её. 3. Задача защищаемой программы: всё, что угодно Временный файл злоумышленнику скопировать будет сложно, т.к. DOS - однозадачная ОС. Если что не понятно - пиши, разъясню. ![]() |
|
Создано: 06 марта 2006 19:01 · Личное сообщение · #6 |
![]() |
eXeL@B —› Основной форум —› XOR для MZ-файлов |