Запутывание двоичных файлов на основе C, чтобы избежать декомпиляции - PullRequest
22 голосов
/ 16 февраля 2010

Есть ли какой-нибудь способ запутать исполняемые файлы или библиотеки на основе C для предотвращения декомпиляции?

Ответы [ 13 ]

0 голосов
/ 11 декабря 2011

Компилятор Tiny C изменен для получения запутанного кода: http://blogs.conus.info/node/58

0 голосов
/ 16 февраля 2010

Если вы действительно хотите перемешать, вам нужна отдельная программа для этого. Как разработчик, вы пишете свой код в самой чистой и удобочитаемой форме. После компиляции вы запускаете отдельное приложение, чтобы сделать запутывание. Вы можете купить такие приложения примерно за 100 тысяч долларов.

Если ваше намерение состоит в том, чтобы не допустить реверсирования кода, это, вероятно, сработает. Если ваше намерение состоит в том, чтобы помешать кому-либо взломать систему безопасности, то одно только запутывание не остановит решительного нападающего. В какой-то момент есть решение да / нет, им не нужно понимать код, чтобы найти его или обойти.

0 голосов
/ 16 февраля 2010

Один из способов сделать вещи немного сложнее - упаковать их. UPX запакует ваши двоичные файлы, что затруднит декомпиляцию из коробки. Технически можно распаковать, а затем декомпилировать, но это немного повысит планку. Предполагая, что вы работаете в операционной системе пользователя vanilla, не так уж много можно сделать, чтобы предотвратить декомпиляцию без использования неприятных трюков.

...