首页
社区
课程
招聘
[原创]简单反arm混淆脚本
发表于: 2017-10-19 01:54 5123

[原创]简单反arm混淆脚本

2017-10-19 01:54
5123
本帖仅仅作为一个学习记录,本脚本不具备通用性。

故事是这样的:样本源于一位意大利的小哥哥,几个月前他用邮件联系上我,然后我们就开始用小学生英语BB=。=交流时,他讲他的,我讲我的,诶,最后互问你说的是什么??他告诉我他喜欢中国的咏春拳,喜欢用Google翻译看雪的文章。说好的意大利礼物现在还没下落。。

libDxDrmDlcCore.so 这个SO在加载阶段各种乱七八糟的检测,我是不搞懂小哥哥到底想干什么,但是init_array 里面的代码是混淆过的。

格式大概如图,仔细观察:

流程是乱的,不能nop......  有几万个节点,IDA图形模式直接崩。

所以自己乱写了一个脚本自娱自乐,送给意大利小哥哥方便调试。
提取后效果是这样的:

前面地址不是连续的,但是指令逻辑上是连续的,不连续的原因就是混淆的跳转指令拼接的。
吐槽Capstone反汇编引擎的arm语法,很丑,优化做得不够ida好。

编译环境:
Linux 系统、MAC,CMake,Capstone
Capstone 编译后要安装,貌似支持包管理器安装的。

附件因为有SO文件,比较大,只有传百度云了。((github又上不去))
链接:c6aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8U0q4H3d9#2u0z5g2W2t1I4i4K6t1$3L8X3u0K6M7q4)9K6b7R3`.`. 密码:8zpv

//看雪代码编辑框问题有点多,,,,所以代码不挂贴了。


===
后记,Italy小哥哥不停夸clever,我一直发where where。他才是真的厉害,一行一行的硬玩找出crc校验

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 4425
活跃值: (3587)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
无名侠不仅技术好,而且幽默
where  where
2017-10-19 09:17
0
雪    币: 93
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你发where  where  小哥哥没有回你  everywhere  everywhere  吗  23333
2017-10-19 10:21
0
雪    币: 745
活跃值: (1520)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
4
无名侠不仅技术好,而且幽默
where    where
2017-10-20 10:53
0
雪    币: 61
活跃值: (1046)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
膜拜会小学生英语的
2017-10-20 10:59
0
雪    币: 8
活跃值: (505)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
2017-11-12 19:00
0
雪    币: 15947
活跃值: (7193)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
ARM混淆总不如X86系统。因为ARM机器指令是等长的,而X86指令是变长的
2017-11-14 10:28
0
游客
登录 | 注册 方可回帖
返回