Сейчас на форуме: Rio, YDS, _MBK_ (+10 невидимых)

 eXeL@B —› Основной форум —› XOR для MZ-файлов
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 марта 2005 17:24
· Личное сообщение · #1

задача, прикрутить навесную "криптовалку" к досовому ехешнику, ну начало
понятно джам, правка заголовка итп, те как бы прикрутить не проблема, тупо
поксорить тоже, а вот как сделать так что бы это все чудо расXORивалось
нормально, Х3 это не PE, где все более менее прозрачно, а тут...
если шифровать его целиком (без заголовка, естественно), то при запуске
загрузчик будет настраивать адреса в соответствии с relocation table. тогда
после расшифровки по адресам, которые указаны в этой таблице, получится
совершенно не то, что должно было быть до зашифрования
В идеале хотелось бы что-нибудь в коде, но даже нормальный туториал подойдет;)




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 06 марта 2005 18:01
· Личное сообщение · #2

тут мало кто знает что такое ДОС.

-----
Всем не угодишь




Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 09 марта 2005 16:39
· Личное сообщение · #3

EvgeniCh, туторов не видал, но найти описание MZ можно... А с релоками можно поступать следующими образами (как и в случае шифровки длл в винде):
1) Убить смещение таблицы (не рекомендую);
2) Поменять указатель на оригинальную таблицу на свою (нулевую ебсессно), а после распаковки ручками пересчитать нужные вещи полагаясь на оригинальную таблицу (рекомендую;
3) Если в качестве крипто тебя интересует просто ксор, то можно определить по оригинальной таблице релоков все байты, которые пересчитываются и просто их не трогать (не рекомендую, поскольку геморно и некрасиво;
4) Ваще плюнуть на релоки, все раскриптовать, а дальше снова идти на проверку оригинальной таблицы релоков, снова ксорить расшифрованные, но пересчитываемые байтики, вычитать из них поправку, снова ксорить и прибавлять к ним поправку (геморрой=)

А ваще, на васме тебе правильно советовали про Pklite и прочие досовые упаковщики... Думаю осталось немного людей, которые смогут отколупать ручками даже Pklite тот же... А уж если и своего потом в нем допишешь - ваще малореально=)



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 09 марта 2005 18:03
· Личное сообщение · #4

я сто лет тому назад делал такую "криптовалку". прост ов хедере кол-во релоков поставил == 0 (предварительно его сохранив у себя). дальше все расшифровывал и сам настраивал релоки(это элементарно)



Ранг: 60.4 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 06 марта 2006 18:24
· Личное сообщение · #5

Выглядеть это будет примерно так (кстати намного проще чем PE)...
В DOS можно безболезненно приписать к любому COM'у или EXE'шнику сзади всё что угодно - это не повлияет на работоспособность программы. Этим и можно воспользоваться.
Нужно будет написать три программы (установщик, загрузчик, защищаемая программа)
1. Задача установщика: склеить вместе загрузчик и защищаемую программу попутно ксоря последнюю.
2. Задача загрузчика: создать на диске файл и расшифровать в неё программу:
1) Открываем на чтение самого себя
2) Перепрыгиваем код загрузчика (для этого после компиляции надо запомнить размер испол
няемого файла, записать его в исходник и скомпилить ещё раз).
3) Записываем в файл защищаемую программу параллельно расшифровывая её.
4) Освободить в памяти место, достаточное для выполнения программы
5) Передать ей управление
6) После завершения программы удалить её.
3. Задача защищаемой программы: всё, что угодно

Временный файл злоумышленнику скопировать будет сложно, т.к. DOS - однозадачная ОС.

Если что не понятно - пиши, разъясню.



Ранг: 12.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 06 марта 2006 19:01
· Личное сообщение · #6

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


 eXeL@B —› Основной форум —› XOR для MZ-файлов
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати