
1 nyanyh 2018-02-07 12:15:06 +08:00 upx -d ? |
3 zk8802 2018-02-07 13:01:08 +08:00 via iPhone 把 core dump 扔到 IDA 里面分析。没有函数名,可以和原来有函数名的可执行文件进行比较,手工或写个脚本自动把函数名映射回来。 |
4 paparika OP @zk8802 谢谢回答。其实还不太理解,upx 和一般编译器带的 stripe 参数有啥区别呢,upx -d 就可以拿到符号表信息了,那岂不是还不如直接用 stripe 更安全? |
5 BXLR 2018-02-07 13:59:18 +08:00 1.stripe 是擦除 so 节点的符号,so 装载时有些符号是用不到的,能用到的已经在动态段,这个段表的符号是有用的。 2.upx -d 是你在没改变 upx 源码的情况下,可以用来脱壳,解压缩的。 3.说的不是很清楚,推荐程序员的自我修养。 |
6 paparika OP @BXLR 谢谢,回去看看这本书。容我再嗦下,stripe 应该是会增加反向工程的难度吧? 因为脱壳的存在,那么加壳之前是不是 stripe 应该一下更安全? |
8 jyf007 2018-02-07 16:41:37 +08:00 曾经我在上小学时遇到了一位安全大牛,他说那些书都是各种帖代码,一点用都没有,当时我在看所谓黑客的杂志,想起一种可执行文件加壳方式,叫虚拟机壳,说得他一愣一愣的,当然他的主题意思是这些都没有意义,只有攻防对立统一. |
9 zk8802 2018-02-07 21:35:25 +08:00 via iPhone 大部分加密壳都会去掉多余的符号信息,你就不用单独 strip 了。UPX 是压缩壳,安全性本来就不是它的主要考虑。 |
11 zk8802 2018-02-08 11:41:44 +08:00 via iPhone Google “ open source elf packer ”。 另外,有些壳的保护强度还不如 obfuscator-llvm。 |