首页
社区
课程
招聘
[原创] 安卓VmpCrackMe一枚
发表于: 2020-1-16 14:09 6885

[原创] 安卓VmpCrackMe一枚

2020-1-16 14:09
6885
硬盘里曾经的遗留物,
无膨胀,
无反调试,
无混淆变形,
纯VM代码,
密钥逻辑比较简单,可以尝试使用Z3破解.



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-1-16 18:04 被爱吃菠菜编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 175
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
收藏了
2020-1-17 09:25
0
雪    币: 0
活跃值: (633)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有writeup吗
2020-1-19 21:15
0
雪    币: 2141
活跃值: (7226)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
4
Qira 有writeup吗
等个有缘人来分析=_=
最后于 2020-1-28 05:00 被爱吃菠菜编辑 ,原因:
2020-1-28 04:21
0
雪    币: 0
活跃值: (633)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
爱吃菠菜 Qira 有writeup吗 等个有缘人来分析=_=
我直接用ida trace了一下指令 ,能看到很多重复调用指令,暂时还没仔细分析 ,不过既然是vmp了,肯定也要花很多时间去分析。另外我直接在puts下断,可以直接找到success的输出点,我想着如果但是求key ,可能用符号执行(angr)应该可以跑出来,当然我也是瞎猜
2020-1-29 23:54
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6

我过年的时候也搞了下,没有搞出来.大概知道key的格式是xxxx-xxxx-xxxx-xxxx,其中x是数字.
我已经恢复出CFG,并把vm栈机指令转到寄存器机.如果转化没有问题的话,把附件代码编译到x86,然后后符号执行到"BB 0x00004c31 success!"所在块,应该可以解出来.

 

===========
更新附件,用楼主给的key可以成功跑到success代码块.

最后于 2020-2-17 19:42 被krash编辑 ,原因: 更新附件
上传的附件:
2020-2-11 00:08
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7

把被VM的指令还原后,终于可以比较清楚到看楼主校验key的过程了.逆向出算法,用Z3算出的一些key:

1111-9199-8376-4455
3200-8798-6979-8554
1111-8997-1286-3834
0121-1935-8879-3348
5000-0899-7988-4386
2200-8813-9698-7443
4002-9896-8989-5658
3200-9698-7979-6836
3110-7795-9878-6843
1201-3631-9896-4534
上传的附件:
2020-2-23 23:24
2
游客
登录 | 注册 方可回帖
返回
//