1.   最近研究so文件的保护,在网上搜索发现爱加密支持对so文件的保护,然后联系客户,本来是想让客户保护一个自己的so文件来做测试的,结果客户各种不愿意,说要签什么XX协议后才能给so保护,各种蛋疼..最后客户给了我一个他们保护后so和一个保护前的so与一个说明文档,如下图:

今天我们主要是分析它这个加密后的so,看它是用什么方式保护的,是否具有安全性。

2. 根据它.doc中的说明"加密前so文件大小为14KB,加密后so文件大小为9KB。加密后so库体积可以减小40%左右。"如下图

猜测可能是upx保护的,要是的样的话,我们是不是可以用"upx.exe -d 加密后的.so"来脱壳呢?当然不行,测试效果如下图(我用的是3.92)。

无法脱壳!!我们用十六进制工具打开加密后的.so发现它把UPX加壳后的标志"UPX!"改成了AJM!所以只要我们将其改回去应该就可以脱壳了。是不是很骚!

如下图所示:

成功了!!然后就是改回原始入口点就可以了!

我们来比较下脱壳后与原始的没有加密的so是那些不同!

如下图:

只有两个字节不一样,那就是入口了,我们改回去后就能正常使用了!!

样本及文档下载

http://yunpan.cn/cVKThr9uAH2za (提取码:dfb4)

最新文章

  1. 手机app开发:浅谈APP登录方式的优劣
  2. SQL Server 2012安装后找不到服务器名称的解决办法!!!
  3. C#-WinForm-进程、线程
  4. 工作流学习——Activiti流程定义管理三步曲 (zhuan)
  5. 在 Java EE 组件中使用 Camel Routes
  6. ASP.NET自定义控件组件开发 第一章 第三篇
  7. 一步步学习Python-django开发-Mac下搭建Python-Django环境
  8. vue组件通信的几种方式
  9. collect_list/collect_set(列转行)
  10. P1036 选数 题解
  11. java面试复习题四
  12. uwsgi和nginx的故事
  13. Android项目实战(三十二):圆角对话框Dialog
  14. go标准库的学习-reflect
  15. [转载]ASP.NET页面之间传递值的几种方式
  16. servlet路径映射中的完全路径匹配、目录匹配、扩展名匹配
  17. MyBatis 3 使用注解配置SQL映射器
  18. python+selenium:iframe框架中多种定位
  19. Python开发【模块】:Concurrent
  20. Windows 环境下分布式跨域Session共享(转)

热门文章

  1. p2345 奶牛集会
  2. 在VM12中安装ubuntu系统下的VMTOOLS
  3. appium+python+jenkins+selenium grid+unnittest+生成报告打造UI自动化回归、监控体系
  4. svn的revert、checkout、clean up、setting
  5. setTimeout关于函数名做参数的问题
  6. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第五篇(用户管理之“用户权限分配”)
  7. 某欧洲电信运营商OSS功能架构
  8. Android 设计模式情景分析——观察者模式
  9. redis集群搭建踩坑笔记
  10. Equals 和 == 的区别--转