Есть ли способ конвертировать .so файл в .c файл? - PullRequest
4 голосов
/ 10 апреля 2019

Я пишу программу на C и преобразовал ее из файла .c в .so, используя GCC.Мне было немного любопытно узнать, есть ли способ конвертировать обратно файл .so в файл .c.

Предположим, я отправляю свой код кому-то, и он содержит все файлы .so.Есть ли шанс, что кто-нибудь сможет получить доступ к моему исходному коду с помощью любого инструмента, редактора, техники и т. Д.

1 Ответ

13 голосов
/ 10 апреля 2019

Невозможно вернуть исходный файл исходного кода C, поскольку он содержит информацию, которая просто не представлена ​​в машинном коде в файле общего объекта (.so).

Однако объектный код можетбыть разобраным в читаемый машинный код, который может понять эксперт.Таким образом, логику в вашем C-коде не следует считать «секретной».

Существуют методы запутывания кода, чтобы затруднить понимание дизассемблированного кода, но эти методы имеют разную степень эффективности, и тем более они эффективны.больше побочных эффектов, которые они несут (в основном, делая выполнение кода намного медленнее).

...