首页
论坛
课程
招聘
[原创] 安卓VmpCrackMe一枚
2020-1-16 14:09 5259

[原创] 安卓VmpCrackMe一枚

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



[2022冬季班]《安卓高级研修班(网课)》月薪两万班招生中~

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

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

 

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

最后于 2020-2-17 19:42 被krash编辑 ,原因: 更新附件
上传的附件:
雪    币: 3918
活跃值: 活跃值 (3917)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
krash 活跃值 4 2020-2-23 23:24
7
1

把被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
上传的附件:
游客
登录 | 注册 方可回帖
返回