学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1171

主题
发表于 2019-1-14 14:47:05 | 查看: 11105| 回复: 5

相关题目:

这个 writeup我花了1个多小时才写出来,我感觉这已经不是 writeup了,这简直就是解题图文教程!!
每个人都是从新手过来的,几年前我初学逆向的时候,看到大牛写的 writeup,一头雾水,根本看不懂,所以我写这么详细是想让更多初学逆向的朋友能跟学会这门技术,感受她的魅力····

首先用PEID看一下有没有壳,发现没有壳,而且是个64位程序,这时候就可以排除用OD分析的可能了(很难过,最擅长的就是OD了),
316415c3c2f3143947.png
因为CTF的题目一般不会有病毒后门什么的,所以直接在物理机上或者64位虚拟机里运行一下,猜猜思路
188825c3c2f3eecab6.png
我输入序列号,发现会提示错误,但是我在IDA中搜索这个字符串,是什么都找不到的,这说明这个字符串可能是个图片,emmm·· 但是我现在有2个思路了,可能会用到GetDlgItemTextA这个函数来获取字符串,还可能有MessageBoxA这个函数来弹窗。所以直接导入IDA来看看
733145c3c2f4c2e01a.png
看到这个函数,果断跟进去看看,这里交叉引用走到调用处
408285c3c2f5b69d50.png
473195c3c2f62bb16f.png
看来我猜中了,的确是这个函数,这里可以大致的看到算法了,GetDlgItemTextA获取到文本之后,首先判断了一下我们输入的字符串的位数是不是6位,如果不是就直接报错了,不会往下判断。我们按F5转换为伪代码看
255325c3c2f759d4ca.png
如果是逆向大佬,到这里就基本能看出flag了,但是作为小白,还是需要动态调试验证一下自己的思路的


因为OD不能用,所以还剩X64Debug和MDebug,MDebug太高端····我不太会用,但是 X64Debug和OD还是长得挺像的,新手入门也快,这里就选 X64Debug了
首先载入创世纪.exe,我们有很多种方法来到算法处,第一个可以考虑用消息断点来到达关键处,但是我们前面用IDA分析出了GetDlgtemTextA这个函数,所以就直接ctrl+G到达定位到下图位置就可以了。
740515c3c2f816377f.png
下面正式开始动态分析
我们在 GetDlgtemTextA函数处下断,运行程序,随便输入字符串230597,点击cheak,断在这里
122445c3c2f8db42df.png
然后继续向下F8单步走,先判断我们输入的是不是6位,然后把第一位数字2的ASCII提出来减去30(这里的30是十六进制,下面也一样)和6进行比较,不一样就调到失败,这里我们就可以推出flag的第一位是30+6=36(十六进制),由于比较结果不为0,jne是会跳转的,我们把ZF标志位改为1,让它不跳
755635c3c2f9ae1fb6.png
继续向下分析 ,可以看出依次把第二、三、四、五、六位进相似的判断,我们依次逆向相加,推出第2-6位的ASCII十六进制依次为45 77 69 39 48
986995c3c2fa555f3a.png
判断完成后,程序对提示成功的字符串缓冲区地址进行复制等操作,最后当做参数传给这DialogBoxParamA这个函数
844965c3c2fb132b41.png
最后执行到这个call ,CM弹出正确窗口
763305c3c2fbc859ef.png
这时候我们就可以验证刚才的逆推结果了,我们把36 45 77 69 39 48转换为ASCII就是flag了
482725c3c2fc62d0bf.png
完全正确
861795c3c2fd177931.png
小白的 writeup,若有错误欢迎指正!!!
初世纪.zip (140.93 KB, 下载次数: 2)

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
发表于 2019-9-12 20:17:37
赞同“每个人都是从新手过来的,几年前我初学逆向的时候,看到大牛写的 writeup,一头雾水,根本看不懂,所以我写这么详细是想让更多初学逆向的朋友能跟学会这门技术,感受她的魅力····”
支持!
发表于 2019-9-12 20:18:31
刚开始学逆向真的是一头雾水
发表于 2019-9-12 21:12:13
初世纪.PNG
按r转成字符就行了
发表于 2019-9-12 21:34:28 来自手机
zhangziyu 发表于 2019-9-12 21:12
按r转成字符就行了

学会就行,替你开心

    发表于 2019-10-9 19:30:12
    qqqqqqqqqqqqqq

    小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

    GMT+8, 2024-12-23 18:37 , Processed in 0.171515 second(s), 64 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表