как скрыть информацию или сделать неиспользуемые исполняемые функции с помощью gcc - PullRequest
2 голосов
/ 30 октября 2010

Как мне создать исполняемые файлы, используя GCC, чтобы не было возможности поиска по ключевому слову. Например, я написал свой код, используя функцию «PascalTriangle», и создал исполняемый файл и распространил его. если я выполню grep «PascalTriangle» в исполняемом файле, то смогу хотя бы знать, что двоичный файл был создан с использованием этой функции. Как мне скрыть эту информацию?

Извинения, если мой вопрос не актуален. Спасибо.

Ответы [ 2 ]

3 голосов
/ 30 октября 2010

Имена функций являются частью символов, которые удаляются путем удаления символов из вашего исполняемого файла.На Unix-подобных платформах удаление символов может быть выполнено с использованием strip .

Например:

diciu$ nm ./a.out 
0000000100000f06 s  stub helpers
0000000100001048 D _NXArgc
0000000100001050 D _NXArgv
0000000100000ec4 T _PascalTriangle
0000000100001060 D ___progname
0000000100000000 A __mh_execute_header
0000000100001058 D _environ
                 U _exit
0000000100000ecf T _main
                 U _printf
0000000100001020 s _pvars
                 U dyld_stub_binder
0000000100000e88 T start
diciu$ strip ./a.out 
diciu$ nm ./a.out 
0000000100000000 A __mh_execute_header
                 U _exit
                 U _printf
                 U dyld_stub_binder
0 голосов
/ 30 октября 2010

есть некоторые продукты, которые запутывают ваш код и заменяют все на «случайные» строки.

есть некоторые методы написания кода, чтобы было сложнее его реконструировать.

прочитать эту статью:

Запутывание кода

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