加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

提高反向工程C共享库更困难

发布时间:2020-12-16 03:24:53 所属栏目:百科 来源:网络整理
导读:我有兴趣采取预防措施,使得C共享库的逆向工程变得更加困难 似乎不可能完全防止,但是您可以采取可能需要更长时间的步骤,因此不太有吸引力/更昂贵的做法 像代码混淆,编译器优化选项编译器调试标志等(我会特别感兴趣的是gcc编译器) 也有兴趣在以$或人工小时为单
我有兴趣采取预防措施,使得C共享库的逆向工程变得更加困难

似乎不可能完全防止,但是您可以采取可能需要更长时间的步骤,因此不太有吸引力/更昂贵的做法

像代码混淆,编译器优化选项编译器调试标志等(我会特别感兴趣的是gcc编译器)

也有兴趣在以$或人工小时为单位的逆向工程相对困难的任何想法a?5KLOC C共享库(.so大小?200kb).

解决方法

这些是我知道的一些技巧:

>使用–strip-unneeded选项删除所有符号,除了重定位所需的所有符号(因为我们在谈论一个共享库):

strip – 不需要的libmylib.so
>与标准libc静态链接,这导致了一个更大的库/二进制,这意味着更多的代码可以通过,也是混淆,因为更容易将函数与库函数分开:

gcc -static …
>强制编译器内联小功能,这将在代码中嵌入小的函数,而不是调用它们,因此几乎不可能区分代码和标准库代码.

话虽如此,我必须补充一点,我已经使用了上述措施的二进制文件,我能在几个小时内对其进行逆向工程,如果你好奇,我开始重建symtab,而且我没有反向工程大师.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读