学破解第74天,《攻防世界reverse新手练习区re1分析》
本帖最后由 小菜鸟一枚 于 2019-12-7 15:49 编辑学破解第74天,《攻防世界reverse新手练习区re1分析》
前言:
一直对黑客充满了好奇,觉得黑客神秘,强大,无所不能,来论坛两年多了,天天看各位大佬发帖,自己只能做一个伸手党。也看了官方的入门视频教程,奈何自己基础太差,看不懂。自我反思之下,决定从今天(2019年6月17日)开始定下心来,从简单的基础教程开始学习,希望能从照抄照搬,到能独立分析,能独立破解。
不知不觉学习了好几个月,发现自己离了教程什么都不会,不懂算法,不懂编程,随着破解学习的深入,越发的觉得自己没有基础,所以从第71天起,开始接触一门编程语言C++,开启新的学习之路。
立帖为证!--------记录学习的点点滴滴
1.为啥选择它呢?当然是因为楼主是个小菜鸟,这道题最简单,就拿它分析分析了!
2.首先将程序跑起来,随便输入一个字符串,了解程序执行流程!
程序要求我们输入正确的flag!
3.丢进OD跑起来,我们知道用户编写的代码在code段(00401000),所以直接Ctrl+G输入00401000,F4来到
00401000 $55 push ebp
00401001 .8BEC mov ebp,esp
00401003 .83EC 44 sub esp,0x44
00401006 .A1 00504100 mov eax,dword ptr ds:
0040100B .33C5 xor eax,ebp
0040100D .8945 FC mov dword ptr ss:,eax ;kernel32.BaseThreadInitThunk
00401010 f30f6f05 343e>movdqu xmm0,dqword ptr ds:
00401018 33 db 33 ;CHAR '3'
00401019 C0 db C0
0040101A 68 db 68 ;欢迎来到DUTCTF呦\n
0040101B .4C3E4100 dd 0448ee96.00413E4C ;ASCII "欢迎来到DUTCTF呦\n"
0040101F f30f7f45 bc movdqu dqword ptr ss:,xmm0
我们一路F8单步向下走,这里是提示字符串
00401038 .E8 3E020000 call 0448ee96.0040127B
0040103D .68 603E4100 push 0448ee96.00413E60 ;这是一道很可爱很简单的逆向题呦\n
00401042 .E8 34020000 call 0448ee96.0040127B
00401047 .68 803E4100 push 0448ee96.00413E80 ;输入flag吧:
0040104C .E8 2A020000 call 0448ee96.0040127B
00401051 .8D45 DC lea eax,dword ptr ss:
00401054 .50 push eax ;kernel32.BaseThreadInitThunk
00401055 .68 8C3E4100 push 0448ee96.00413E8C ;%s
0040105A .E8 72000000 call 0448ee96.004010D1
0040105A 这个call要求我们输入flag,我们随便输入个123456,继续单步向下走
00401062 .8D45 DC lea eax,dword ptr ss:
00401065 .8D4D BC lea ecx,dword ptr ss:
00401068 >8A11 mov dl,byte ptr ds:
0040106A .3A10 cmp dl,byte ptr ds:
两个lea传送指令,然后逐字节比较是否相等!
123456是我们输入的值,然后和"DUTCTF{We1c0met0DUTCTF}"比较,不相等就直接跳到失败提示那里了!
所以毫无疑问,flag就是"DUTCTF{We1c0met0DUTCTF}"了。
4.重新运行程序,输入DUTCTF{We1c0met0DUTCTF},得到正确提示!
5.其他方法
1)直接右键搜索中文字符串,就能看到DUTCTF{We1c0met0DUTCTF}字符串
2)使用十六进制编辑器直接搜索flag,就能在附近发现DUTCTF{We1c0met0DUTCTF}字样
总结:楼主是个小菜鸟,离了教程啥都不会! taoabsilent 发表于 2019-12-9 13:51
都是在哪里学啊``给点连接`谢谢`
兄弟,你点我主页就看得到了啊:lol
https://www.52pojie.cn/thread-1067012-1-1.html meago 发表于 2019-12-7 16:20
楼主很厉害了全自学?
我是个穷屌丝,不自学还能怎么办?好在论坛兄弟姐妹们资源多,大多数资源都能找到!:loveliness: fe1yu 发表于 2019-12-7 19:39
零基础编程语言还是汇编和c吧 直接c艹有丶打击积极性
他们说零基础学汇编是作死,而且汇编是真的看的我脑壳发麻{:1_924:},一点都看不懂,还是C++好理解多了,据说java和Python更好入门。 都七十四天了厉害 加油,你会越来越厉害的 楼主很厉害了全自学? 厉害,高手在民间,兴趣是成功的一半 还是建议做ctf用IDA 490694561 发表于 2019-12-7 16:47
还是建议做ctf用IDA
大佬,我是小白,不会IDA啊!{:1_923:} 学习是很枯燥的事。能坚持下来就表示有很大决心了