首页
社区
课程
招聘
[原创]某当网apk加固脱个so
发表于: 2022-10-25 14:13 22074

[原创]某当网apk加固脱个so

2022-10-25 14:13
22074

手生很久,纯粹为了练习,脱一下so而已
另外:顺便看看上海的工作机会,有老板认为合适的,可以私我

整个segment给加密了,解密的地方肯定是init_array中的某个地方解密的,简单起见,这里不跟踪解密的流程了。

不用怀疑getPackageInfo这个点,也不要去想我为啥在这里下断点,也可能是经验之谈吧

这个调用栈很明显,getPackageInfo是被nativeLoad函数调过来的,也就是libDexHelper.so通过jni调用的

内存大小 74d1220000 - 74d10cf000 = 0x151000

dynamic节肯定是在so被Load完成后,被梆梆置为0了,memset(dynamic, 0, size)

1040882146@qq.com
语言: java/c
7年framework经验: 不管任何项目,都是直接或者间接要对framework层进行调试,源码阅读分析
1.擅长android系统framework以及三方app等兼容性问题的分析
2.擅长安卓虚拟化技术,比如双开工具,有VMOS虚拟机的研发经验
3.熟悉AMS, Input模块
4.擅长hook点分析,解决业务痛点
5.移植linker实现GOT表hook(私人仓库)
6.有逆向/调试经验, 会用jeb/IDA工具
7.做过几款游戏的安全分析
1040882146@qq.com
语言: java/c

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

最后于 2022-11-29 11:34 被whulzz编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (16)
雪    币: 129
活跃值: (4645)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
大佬,怎么将dynamic节 覆盖dump 出来的so哇,是用010 复制 覆盖整个dynamic节吗,需要改头部一些偏移不
2022-10-25 19:14
0
雪    币: 550
活跃值: (2387)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
New对象处 大佬,怎么将dynamic节 覆盖dump 出来的so哇,是用010 复制 覆盖整个dynamic节吗,需要改头部一些偏移不
直接拷贝就行了,有其他问题再修呗
2022-10-26 08:47
0
雪    币: 5279
活跃值: (9858)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
4
就这一下子,10年功力有没有!!!
2022-10-26 09:05
0
雪    币: 550
活跃值: (2387)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
nevinhappy 就这一下子,10年功力有没有!!!
希望谅解,文档写的太深可能对于很多人消化不了。只希望能真正帮助到有需求的人
2022-10-26 11:49
0
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
大佬.有个百度加固的app.想脱壳,frida附加不上去.其它普通app就没有问题.可能是有反调试之类的.可以加好友请教一下吗?
2022-10-28 10:53
0
雪    币: 1
活跃值: (1142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
if (TextUtils.equals(calledMethod.getName(),"getPackageInfo")) {
    Debug.waitForDebugger();
    Log.d("whulzz", "getPackageInfo called");
}

这段是代码能详细说下吗,看起来是主动等待调试器来附加,这是hook了某个函数么
2023-1-18 16:15
0
雪    币: 550
活跃值: (2387)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
wx_阿达西 if (TextUtils.equals(calledMethod.getName(),"getPackageInfo")) { Debug.waitForDebugge ...
是的,hook了getPackageInfo...
2023-1-18 20:50
0
雪    币: 4446
活跃值: (3950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
大佬,VMOS有没有开源的实现方案?
2023-1-18 21:02
0
雪    币: 199
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10

菜鸡请教个问题,这种壳,通过.init_array段的函数解密后的内容是又会替换回加载壳so对应的内存中去,同时修复壳soinfo,所以dump出来的so的格式(程序头/节头等的偏移)就是对的。是这样不? 顺便问下,能提供下样本app版本号吗

最后于 2023-2-3 16:52 被mb_rwmcnzwp编辑 ,原因:
2023-2-3 16:09
0
雪    币: 550
活跃值: (2387)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
mb_rwmcnzwp 菜鸡请教个问题,这种壳,通过.init_array段的函数解密后的内容是又会替换回加载壳so对应的内存中去,同时修复壳soinfo,所以dump出来的so的格式(程序头/节头等的偏移)就是对的。是这样 ...
QQ邮箱私我,单独发你
2023-2-6 13:03
0
雪    币: 199
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
whulzz QQ邮箱私我,单独发你

我账号好像无权限发私信,邮箱:xxxx@foxmail.com

最后于 2023-2-13 11:52 被mb_rwmcnzwp编辑 ,原因:
2023-2-6 13:54
0
雪    币: 703
活跃值: (3776)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
wx_阿达西 if (TextUtils.equals(calledMethod.getName(),"getPackageInfo")) { Debug.waitForDebugge ...
大佬hook了getPackageInfo来查看如何被应用调过来,这就是等待调试器的原因。大佬就知道getPackageInfo是被nativeLoad函数调过来的。
2023-2-7 22:48
0
雪    币: 550
活跃值: (2387)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
mb_rwmcnzwp 我账号好像无权限发私信,邮箱:acmicpc@foxmail.com
请注意查收邮件,大文件在邮箱中有过期时间
2023-2-13 11:51
0
雪    币: 199
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
whulzz 请注意查收邮件,大文件在邮箱中有过期时间
收到, 感谢大佬
2023-2-13 11:53
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
牛叉,现在都开始在so层面搞事情了。不熟悉so没法搞深入了
2023-2-17 10:27
0
雪    币: 212
活跃值: (156)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
梆梆壳可没这么简单!!
2023-2-17 12:46
0
游客
登录 | 注册 方可回帖
返回
//