Механизм шифрования / дешифрования - PullRequest
0 голосов
/ 14 ноября 2010

Я начал программировать простой механизм шифрования / дешифрования как старт для большого проекта для моей школы.Я использую ассемблер, чтобы запрограммировать его, и логика до сих пор такова: я делаю некоторый анализ аргументов в командной строке, чтобы взять имя входного файла и имя выходного файла, затем я читаю входной файл во внутренний буфер, я создаю псевдо- случайный байт для шифрования буфера, а затем я попытаюсь добавить в качестве заглушки в начало буфера процедуру расшифровки, а затем сохранить новый буфер в выходной файл, который будет создан.Это правильный способ сделать это?Я спрашиваю, потому что у меня есть сомнения, когда я читаю входной файл в буфер.Я думаю, что я прочитал весь файл, в то время как я должен читать только его часть кода?Я не уверен, что какие-либо предложения / исправления приветствуются.Я использую 32-битную Linux и сборку.

1 Ответ

1 голос
/ 14 ноября 2010

добавить процедуру расшифровки и затем сохранить новый буфер в выходной файл

Возможно, вы делаете это неправильно. Если вы хотите изменить размер кода, вы должны сделать это и с таблицами программ / разделов ELF. Вы можете написать программу, которая будет читать заголовок ELF и добавлять $ DECRYPTION_ROUTINE_SIZE к размеру секции .text, делать некоторые копии и т.д. Надеюсь, что это может быть полезно: http://www.skyfree.org/linux/references/ELF_Format.pdf

Вы можете добавить свою процедуру расшифровки в .text файла, изменить заголовок и вставить

jmp    original_entry_point
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...