i春秋作家:HAI_

0×00 前言

对so的加密,https://bbs.pediy.com/thread-191649.htm大神的帖子里已经很详细的说明了。当然加密不是我们研究的重点,如何搞掉这个so的加密才是我们的要事。

或许你想看看这里

HAI_使用手册

java开发之旅

Android开发之旅

0×01 so静态分析

1.未加密之前的so

2.加密之后的so

我们使用ida打开的时候,ida进行了报错提示。

可能在平时很多时候都会发现so是被加密了的,ida就会报这个错误,我们忽略这个,然后进入。

这个就是我们加密过后的内容。

3.结论

so文件进行加密之后效果很明显,无法在加密之后的so得出有用信息。也相当于是对so进行了加壳,再详细一点就是加密壳。

而我们最主要做的就是脱掉这个加密壳。

0×02 动态脱壳

又到了我们最好玩的脱壳环节了。

利用一个最原理就是,不管你加密成什么样子,在内存中,你总是要还原的,不还原系统怎么运行。

所以我们需要进行一个动态脱壳。

连接手机,开启服务,attach

sucd data/local/tmp./zhu -p23333adb forward tcp:23333 tcp:23333//可能会用到
adb shell am start -D -n com.example.shelldemo/.MainActivityadb forward tcp:8700 jdwp:7728jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,part=8700

成功附加。

这个时候程序已经在运行了。

所以我们需要找到demo里的so文件。

文件偏移是:75A00000
大小是:5000

我们来dump一下。

程序的话还是用之前的程序把。

static main(void){auto fp, begin, end, dexbyte;//打开或创建一个文件fp = fopen("d:\\dump.dex", "wb");//dex基址begin =  0xF34C6320;
//dex基址 + dex文件大小
end = begin + 0x00013570;for ( dexbyte = begin; dexbyte < end;     dexbyte ++ ){
//按字节将其dump到本地文件中
fputc(Byte(dexbyte), fp);}
}

稍稍的更改一下就可以使用了。

好了我们成功dump。

测试

使用ida打开。

发现ida还是报错。

先忽略,进去。

这个时候发现关键函数已经出来了。

但是我们还是想要追求一下完美。

0×03 修复

我们这里修复使用工具进行。

然后使用ida进行测试。

修复成功。

脱壳系列—— 揭开so section加密的美丽外衣相关推荐

  1. 加密解密系列文章之 - ASCII 加密解密(最简单的加密解密) 下

    继上一篇 加密解密系列文章之 - ASCII 加密解密(最简单的加密解密) 上 的下篇. 我在 上 篇里 已经给大家说了最基本的ASCII 加密 解密的东西.然后再最后 我们说了ASCII加密解密的问 ...

  2. android elf 加固_android so加固之section加密

    [TOC] 引言 如何对so文件中的核心代码进行保护? 通过将核心代码写到自定义节中,并且对该节使用加密工具进行加密,在so文件执行时,利用attribute((constructor));属性,先于 ...

  3. 物联网核心安全系列——车载物联网的加密防盗版

    物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段.在物联网高速发展的环境下,车载物联应运而生.谈到物联网,很多人会想到智能家居和可穿戴设备.其实,物联网在交通 ...

  4. OTA升级功能系列三(MD5加密)

    前言 在前面的两个章节中,我们简单介绍了在OTA升级过程中,如何对文件进行解压缩和加解密的操作.今天,就讲讲这个系列最后的内容,MD5加密. 一.MD5加密是什么? MD5加密,是一种开源的加密算法. ...

  5. 揭开真实的加密币地下瑞士银行, 特种部队巡逻、罗斯柴尔德家族投资投资的背后堪比现实版007...

    作者 | Forbes 译者 | Guoxi 责编 | Aholiab 随着加密世界的犯罪越来越猖獗,一批热爱加密货币的正义之士开始了他们的反击.他们之中,有的人成为了传奇. 在英格兰南部的一个废弃的 ...

  6. 加密之家系列发售预告:加密爸爸、加密妈妈将于1月26日火爆开售

    加密宝宝(Crypto Baby)发售之后,很多社区朋友在问我们什么时候发售加密爸爸(Crypto Daddy).现在,官方很高兴地向大家宣布,大家期待已久的加密爸爸马上就要来了! 随着春节临近,大家 ...

  7. 密码学系列之:1Password的加密基础PBKDF2

    文章目录 简介 PBKDF2和PBKDF1 PBKDF2的工作流程 详解PBKDF2的key生成流程 HMAC密码碰撞 PBKDF2的缺点 总结 简介 1password是一个非常优秀的密码管理软件, ...

  8. 加密解密系列文章之 - ASCII 加密解密(最简单的加密解密) 上

    前言: 首先.在这里声明.本人没学过加密解密专业以及没有对加密解密做过任何的系统学习.文章用来记录我自己学到的加密解密的一些我理解的东西,有错误之处欢迎大家指出.谢谢. 加密解密.在以前我的眼里.是灰 ...

  9. LKT系列加密芯片在嵌入式加密领域中占有重要地位

    凌科芯安公司作为国内最早将智能卡技术应用于嵌入式加密领域的公司,积累了极为丰富的加密经验,通过与不同行业.不同应用的广大客户不断的接触,陆续推出了更适合市场需求以及更加安全的嵌入式加密产品,从早期的L ...

最新文章

  1. 微服务下的APM全链路监控
  2. C 语言中结构体强制转换--实验
  3. Netty 框架学习(二):Netty粘包和拆包
  4. linux iso合并,把RedHat Linux 5.0的CD ISO合并成DVD的脚本
  5. 历史上最有影响力的10款开源项目
  6. jsp - 9 内置对象application详解
  7. centos 减少tty数量的方法
  8. struts2 resultType为chain时 传值
  9. linux 查看分区
  10. matlab怎么调出来的,如何调出MATLAB内部函数的源程序?
  11. 提取unity3d游戏资源文件
  12. 静态路由和直连路由引入配置
  13. BiTree T 和 Bitree T 和 BitNode *T 和 T-lchild
  14. 怎么在html5中加三角形,css中怎么设置三角形?
  15. 每一天的邂逅......
  16. 微信小程序(五)--- Vant组件库,API Promise化,MboX全局数据共享,分包相关
  17. Xilinx FPGA资源
  18. 微软关于dns配置的资料
  19. 软件质量保证与测试PTA作业
  20. pomelo服务器 性能,Pomelo游戏服务器端开发系列(1)-介绍

热门文章

  1. FANUC机器人PRIO-063故障报警原因分析及解决办法
  2. 1669: 我的算法会不会Time Limit Exceeded
  3. 深度学习主机的初步调试(一)
  4. 【用JS自制表格软件玩数据】6. 单元格的多选
  5. 博物馆展示沉浸式互动体验空间应用
  6. 2022世界杯在哪个国家举办,具体日期
  7. windows docker desktop安装mysql[有效]
  8. 奇怪的比赛(某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答)
  9. 面试中的杂七杂八-英文篇
  10. 在线查看office文档