小白670 发表于 2018-5-4 18:47

CTF-逆向教程1入门级

本帖最后由 小白670 于 2018-5-6 14:46 编辑

1.Bugkuctfeasy_vb(用OD搜索字符串,得到明文flag)


2. Bugkuctf easy_re(flag不是明文,用函数传递值,strcmp比较)这里用了SSE2指令,这篇博客对存储指令有详细介绍,做题时直接百度不知道的函数就可以了https://blog.csdn.net/bwl111/article/details/8980449



3.南邮ctf Hello_re(flag以整数保存,以小端序存储的,反过来即可)


4.实验吧 justclick(反编译后可知根据顺序点击按钮得flag)
用PEID或者exeinfo可以发现是c#写的程序,这就需要用到一个新的工具,Reflector,用Reflector.exe打开要分析的程序,然后可以找到MainWindow,
在MainWindow里发现了如下函数,分析之后进入check发现只要每次点击的按钮和程序要求的顺序一致则成功




5.实验吧 证明自己吧(异或比较得flag)Ida分析,F5后可以看到程序逻辑清晰,函数对输入的字符串进行处理判断是否正确,关键是sub_401060


进入函数后可以看到加密过程,其中v5,v6,v7,v8,v9在地址上是挨着的,所以只需要把数据取出来然后逆向处理就能得到正确的输入,flag就是我们的输入


在程序中可以找到相应数据

然后写脚本处理数据,这里要注意,函数在处理时是以byte为单位的,取数据的时候要注意顺序,将第一个dword变成byte可以发现是小端序


脚本如下:
v5=



#倒过来处理

#先减5,再异或0x20

str1=""

for i in range(14):

    v5-=5

    v5^=0x20

    str1+=chr(v5)



print str1   
6.实验吧 该题不简单 (根据用户名生成flag,strcmp比较) 用ida分析,shift+F12,找关键字符串,找到后找到引用,发现了关键函数

可以得知是根据sub_4011D0判断是否正确,进入函数分析


对了,题目还有提示

所以只要将hello进行处理,然后在前面加上Happy@就是最终的flag了脚本如下:
username="hello"



str2=""

for i in range(len(username)):

    str2+=chr((i+i*ord(username)*ord(username))%0x42 +33)



print "Happy@"+str2




入门级总结:

入门级的逆向题,大多数程序的逻辑清晰,能很快定位到关键函数,并且加密算法既验证算法简单,刚开始学逆向的可以利用这些题目熟悉逆向工具的使用,难度不高但是可以保护新人平稳度过逆向刚开始艰难的入门期。
入门级题目一般在ctf训练平台上找,在ctf比赛中这种题目出现概率非常低。逆向入门题还是需要熟悉汇编的,所以没学过汇编的同学最好最好先去看书,然后在去做逆向题。如果入门级的题目觉得没有难度的,可以试着尝试一些更难的题。最后,希望想学习逆向的朋友都能体会到逆向的魅力!







最后谁能告诉我怎么去掉后面多出来的图片啊,我在编辑器里没有添加啊,而且也删除不了


已经把程序附件给传上来了












lanlana 发表于 2018-5-4 19:15

希望多多更新啊
{:1_919:}

小白670 发表于 2018-5-4 22:28

gunxsword 发表于 2018-5-4 21:20
没太看懂,中间的那段纯纯的源代码是怎么来的mainwindow那个?

IDA现在还不太会用,还在学习中,看IDA的代码 ...

那个是c#,要用Reflector反编译,怪我没说清,ida还是很好用的,就是需要你熟悉它F5后的代码,我一开始也是用OD的,但是OD只能调试exe,所以说学ida还是有必要的

qqqwww0078 发表于 2018-5-4 19:30

学习学习 没事看看

三滴H2O 发表于 2018-5-4 20:24

适合萌新,赞一个!{:1_921:}

gunxsword 发表于 2018-5-4 21:20

没太看懂,中间的那段纯纯的源代码是怎么来的mainwindow那个?

IDA现在还不太会用,还在学习中,看IDA的代码,有些都不如看OD来的容易,还得学啊!感谢大佬分享教程!

小白670 发表于 2018-5-4 22:29

lanlana 发表于 2018-5-4 19:15
希望多多更新啊

后面会继续更新,但是难度会提高

北岛未 发表于 2018-5-5 00:47

好教程 收藏了

liujiabing222 发表于 2018-5-5 01:17

感谢分享

myheartwillg 发表于 2018-5-5 06:29

谢谢分享,学习了
页: [1] 2 3 4 5 6
查看完整版本: CTF-逆向教程1入门级