首页
社区
课程
招聘
[分享]浅谈android商业软件底层破解思路
发表于: 2014-8-13 21:09 7998

[分享]浅谈android商业软件底层破解思路

2014-8-13 21:09
7998
目前android安全板块大多还是java层的讨论,实际商业应用中,加密和解密的函数还是放在底层的.so中进行,有的还会放到linux内核中,本文只讲解未加壳的破解情况,希望对碰到相同问题的人有所帮助。

    通过对某公司android设备里面加密文件和文件名的破解,总结了下主要的破解思路,具体细节不做说明,其他各贴都有相关说明,只谈思路:
     1、PC连接android设备时,可以看到厂家信息保存的目录,对目录下的有些文件名和文件内容,厂家会加密,因此需要对目录下,厂家用到的一些.so文件用IDA查看,找到一些加密或解密的函数进行分析。

    2、如果在.so文件中看到有加密或解密的函数,可以自己编写代码调用.so中的函数,并且可以用IDA的android_server进行动态调试,只要找到相关解密的函数,一般都能破解出算法进行解密

    3、如果找到的解密函数经过IDA分析后,发现函数中的指令不正常,那很有可能是厂家把这些函数经过加密处理了,这种情况需要对.so文件进行仔细分析,看是否能找到对某段区间代码解密的函数,厂家很可能将对某段代码解密的函数放到linux内核中了,但我们还是可以查找调用内核函数的相关系统调用接口函数,并动态调试来验证自己的推断是否正确

以上只是一个大概的思路,实际破解过程中还会遇到很多问题,但只要掌握原理,能够搭建好动态调试环境,一般不会有太大问题,以后有时间再具体讲解实例。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 11
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
思路不错,期待实例
2014-8-13 21:23
0
雪    币: 738
活跃值: (3818)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
mark,学习
2014-8-14 01:00
0
雪    币: 275
活跃值: (254)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
十分期待实例!!!!
2014-8-14 09:05
0
雪    币: 250
活跃值: (251)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
剩下的就是动手了
2014-8-14 09:46
0
雪    币: 50
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
动手,很难啊
2014-8-14 11:02
0
雪    币: 232
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
刚遇到问题了,已找到so中对应的加密和解密函数,并成功实现so动态调试,在对应函数入口和返回时加断点能跟到密文和明文,但是函数体中存在多个跳转,跳转里面还有子函数跳转,已经彻底凌乱。
另外怎么才算指令不正常?
2014-9-2 16:58
0
雪    币: 6707
活跃值: (2048)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
只要找到地方能调试就成功一大半了,剩下的只是慢慢调试,判断指令正不正常一般看如下一点:
正常函数的入口指令会是如下情况:
PUSH.W          {R4-R11,LR}
SUB             SP, SP, #0xC4
LDR             R5, =(__stack_chk_guard_ptr - 0x87192)
MOV             R10, R0
ADD             R0, SP, #0xE8+var_BC
MOV             R4, R1
ADD             R5, PC ; __stack_chk_guard_ptr
LDR             R5, [R5] ; __stack_chk_guard
MOV             R6, R2
LDR             R3, [R5]

加密后函数的入口指令会变成如下奇怪的情况:
BPL             loc_44DC7C
LSLS            R6, R6, #0x17
ADD             R2, SP, #0x1E0
BMI.W           loc_434E9E
BHI             loc_44DD04
2014-9-4 20:04
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
nice
2014-10-23 12:36
0
雪    币: 232
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
思路受用,期待实例!!
2014-10-23 13:08
0
游客
登录 | 注册 方可回帖
返回
//