首页
社区
课程
招聘
[原创]**加固分析
发表于: 2022-2-15 02:53 38200

[原创]**加固分析

2022-2-15 02:53
38200

这篇帖子起因是前段时间想挂个协和的号,随便拿了个测试机下载好APP后打开卡在启动界面,以为是测试机root之类的东西被检测到后拒绝启动了。

于是准备看看怎么回事,发现这玩意儿使用了**加固,正准备分析分析,突然发现测试机WiFi没连上,连上网之后就正常了,于是就把它丢在一边没管了。

然后过年在家闲着没事,想起还有这么个东西,正好**加固以前没有遇到过,于是在垃圾桶里把它翻出来了。

分析完后,实在是忍不住想吐槽一下,,不知道是不是外包公司没给钱,这加固做得就跟期末大作业水平差不多,全程就像读源码一样,,和前一篇帖子分析的乐固差远了。。

老规矩,先把apk用jadx反编译,从AndroidManifest.xml找到application的类com.***ivm.security.StubApplication,

发现这个类的attachBaseContext和onCreate方法都是native方法,然后有个静态代码块。

在SDK大于等于29(android9)的时候,先解除对隐藏api的反射限制。

然后init方法判断cpu架构,从apk的assets目录释放对应的so进行加载。

选择分析arm32的文件kadp_armeabi。


用ida加载kadp_armeabi,发现没有.init_array段,于是直接看JNI_OnLoad函数,代码很简单,只调用了init函数

init函数的代码也很简单,判断了下sdk版本和vm版本,然后注册了两个native方法

看下off_2C124的数据,注册了attachBaseContext和onCreate这两个方法


接着看native_attachBaseContext,首先调用了init_class


init_class函数中获取了一些字段和方法的id进行缓存


回到native_attachBaseContext,获取dalvik.system.DexFile的构造方法缓存起来,然后调用函数extractDexToMemMap_zlib从apk获取dex文件,接着调用函数cfile_init对dex进行解析

函数extractDexToMemMap_zlib通过zlib库遍历apk中的文件,获取classes.dex文件并mmap


函数cfile_init先判断文件类型,找到dex的基址,计算dex所属内存页,修改属性,用于后面解密直接修改

然后解析一些用于解密dex的字段


dex中用于解密的数据从dex的data数据之后开始,即起始位置的偏移为 dex_header.data_size+dex_header.data_off

结构如下:

magic字段内容如下,不匹配则解析失败


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-2-17 20:10 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (21)
雪    币: 334
活跃值: (392)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
tql
2022-2-15 07:57
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持
2022-2-15 09:04
0
雪    币: 2225
活跃值: (1078)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
已读完源码
2022-2-15 10:00
0
雪    币: 18
活跃值: (941)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还有两so呢
2022-2-15 10:36
0
雪    币: 18
活跃值: (941)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
他还有种加载是hook一些系统函数来加载
2022-2-15 10:40
0
雪    币: 6197
活跃值: (4629)
能力值: ( LV9,RANK:185 )
在线值:
发帖
回帖
粉丝
7
bullyxy 还有两so呢
KwProtectSDK和kwsdataenc吗
2022-2-15 11:15
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
2022-2-16 17:20
0
雪    币: 4233
活跃值: (3813)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
D-t
9

根据楼主提供代码 编译了小工具 方便各位使用



最后于 2022-2-17 20:18 被kanxue编辑 ,原因:
上传的附件:
  • k.rar (33.94kb,129次下载)
2022-2-16 17:28
0
雪    币: 2415
活跃值: (1246)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我是搬运工
2022-2-16 19:11
0
雪    币: 2141
活跃值: (7221)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
11
怎么变成了**
2022-2-18 17:00
0
雪    币: 6197
活跃值: (4629)
能力值: ( LV9,RANK:185 )
在线值:
发帖
回帖
粉丝
12
爱吃菠菜 怎么变成了**[em_88]
和谐了,
2022-2-18 17:02
0
雪    币: 2089
活跃值: (3933)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
直接点,几维
2022-2-20 15:54
0
雪    币: 6197
活跃值: (4629)
能力值: ( LV9,RANK:185 )
在线值:
发帖
回帖
粉丝
14
lhxdiao 直接点,几维
你看看最后编辑人,
2022-2-20 16:20
0
雪    币: 970
活跃值: (1254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
卧勒个槽 和谐了,[em_76]
和谐不彻底 图片中package暴漏了 
2022-2-22 11:46
0
雪    币: 183
活跃值: (2427)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
打工人,何必为难打工人?
2022-2-22 11:52
0
雪    币: 2415
活跃值: (1246)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢老板娘
2022-2-23 08:50
0
雪    币: 14824
活跃值: (6063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这个软件不是靠本身实力保护,而是靠看雪保护?
2022-2-23 09:42
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
这个加壳后的apk能够提供一下吗?非常感谢。
2022-5-31 21:02
0
雪    币: 2415
活跃值: (1246)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
数字对了恭喜恭喜
2022-6-18 17:01
0
游客
登录 | 注册 方可回帖
返回
//