能力值:
( LV2,RANK:10 )
在线值:

|
-
-
2 楼
收藏了
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
3 楼
有writeup吗
|
能力值:
( LV11,RANK:180 )
|
-
-
4 楼
Qira
有writeup吗
等个有缘人来分析=_=
最后于 2020-1-28 05:00
被爱吃菠菜编辑
,原因:
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
5 楼
爱吃菠菜
Qira
有writeup吗
等个有缘人来分析=_=
我直接用ida trace了一下指令 ,能看到很多重复调用指令,暂时还没仔细分析 ,不过既然是vmp了,肯定也要花很多时间去分析。另外我直接在puts下断,可以直接找到success的输出点,我想着如果但是求key ,可能用符号执行(angr)应该可以跑出来,当然我也是瞎猜
|
能力值:
( LV9,RANK:180 )
|
-
-
6 楼
我过年的时候也搞了下,没有搞出来.大概知道key的格式是xxxx-xxxx-xxxx-xxxx,其中x是数字. 我已经恢复出CFG,并把vm栈机指令转到寄存器机.如果转化没有问题的话,把附件代码编译到x86,然后后符号执行到"BB 0x00004c31 success!"所在块,应该可以解出来.
=========== 更新附件,用楼主给的key可以成功跑到success代码块.
最后于 2020-2-17 19:42
被krash编辑
,原因: 更新附件
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
把被VM的指令还原后,终于可以比较清楚到看楼主校验key的过程了.逆向出算法,用Z3算出的一些key:
1 2 3 4 5 6 7 8 9 10 | 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
|
|
|
|