bph*_*bph 10 c obfuscation decompiling reverse-engineering
我对您可以采取的预防措施感兴趣,以使逆向工程C共享库变得更加困难
似乎不可能完全阻止,但你可以采取可能需要更长时间的步骤,因此不那么有吸引力/成本更高
代码混淆,编译器优化选项编译器调试标志等等(我会特别感兴趣的是gcc编译器)
对于以$或工时等方式逆向工程~5KLOC C共享库(.so大小~200kb)的相对难度的任何想法也感兴趣.
这些是我所知道的一些技巧:
使用strip与--strip-unneeded选项删除只是需要搬迁(因为我们正在谈论的共享库)中的那些所有符号:
strip --strip-unneeded libmylib.so
静态链接标准libc ,这会产生更大的库/二进制文件,这意味着需要更多的代码进行处理以及混淆,因为将函数与库函数分开将更加困难:
gcc -static ...
强制编译器内联小函数,这会在代码中嵌入小函数而不是调用它们,因此几乎不可能区分代码和标准库代码.
话虽如此,我必须补充一点,我有一个使用上述措施的二进制文件,我能够在几个小时内对其进行逆向工程,我开始重建,symtab如果你很好奇,我就没有逆向工程大师.
| 归档时间: |
|
| 查看次数: |
3969 次 |
| 最近记录: |