IDF实验室之简单的PE文件逆向

来源:互联网 发布:如何评价阿凡达 知乎 编辑:程序博客网 时间:2024/05/16 03:23

原题链接:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=38


因为是个pe文件,我们现在PC上运行以下,如下图:


也就是说要输对flag,内部大概是字符串的对比

直接上IDA ,一路F5,于是在函数sub_4113A0中找到判断代码


前面一大串定义了一些int常量、一个char数组,一些字符

直接跳过前面的gech输出,进入判断

找到


好吧,它是通过v13来判断的,如果我们要输出“u r right“,那么v13肯定不能等于1,于是我们再往上面看


如果要v13不为1那么v38=49(对于字符1)。。。。

这样我们得到了1024}

跟格式wctf{xxxxx}有点像了,也就是说前面还有字符串

我们再找到定义


于是我们要找到v37[17]这个数组

我们看到前面还有一个for循环


接着我们找到这个byte_415768数组是这样子的


V14的值为1,&v14+1的意思就是&v14+size(int),v14的地址加上4个字节,于是我们再看到前面的定义。


加上4个字节也就是到了v15的地址上去

也就是说*(&v14+1)=v15,因为地址范围是连续的

这样我们只要按照v14-v33来去值就行了,如v37[0]=byte_415768[1]=w。。。

以此类推

得到

wctf{Pe_cRackme1_1024}


0 0
原创粉丝点击