吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 34853|回复: 49
收起左侧

[CTF] CTF-逆向教程1入门级

  [复制链接]
小白670 发表于 2018-5-4 18:47
本帖最后由 小白670 于 2018-5-6 14:46 编辑

1.Bugkuctf  easy_vb(OD搜索字符串,得到明文flag)
1.png

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


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

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


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

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

在程序中可以找到相应数据
5_3.png
然后写脚本处理数据,这里要注意,函数在处理时是以byte为单位的,取数据的时候要注意顺序,将第一个dword变成byte可以发现是小端序
5_4.png

脚本如下:
[Python] 纯文本查看 复制代码
v5=[104,87,25,72,80,110,88,120,84,106,25,88,94,6]

 

#倒过来处理

#先减5,再异或0x20

str1=""

for i in range(14):

    v5[i]-=5

    v5[i]^=0x20

    str1+=chr(v5[i])

 

print str1
   
6.实验吧 该题不简单 (根据用户名生成flagstrcmp比较) ida分析,shift+F12,找关键字符串,找到后找到引用,发现了关键函数
6_1.png
可以得知是根据sub_4011D0判断是否正确,进入函数分析
6_2.png
6_3.png
对了,题目还有提示
6_4.png
所以只要将hello进行处理,然后在前面加上Happy@就是最终的flag脚本如下:
[Python] 纯文本查看 复制代码
username="hello"

 

str2=""

for i in range(len(username)):

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

 

print "Happy@"+str2





入门级总结:

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







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


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












6_3.png
6_4.png
6_3.png
6_2.png
6_1.png
232423ni0ez5maqeptjane.jpg

1入门级.rar

411.36 KB, 下载次数: 217, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 15吾爱币 +19 热心值 +14 收起 理由
天空藍 + 1 + 1 谢谢@Thanks!
忆lll + 1 + 1 用心讨论,共获提升!
小小de萌新 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
不羡云卿颜_ + 1 + 1 谢谢@Thanks!
麦麦 + 1 + 1 谢谢表哥
x51zqq + 1 + 1 谢谢@Thanks!
dazhige + 1 + 1 用心讨论,共获提升!
Diemo + 1 + 1 热心回复!
Sound + 6 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
观察者布欧 + 1 + 1 热心回复!
瑟瑟发抖小菜虾 + 1 说的很好 其实像问一下有什么学习ida的方式吗 现在ida 只会打开..
堂前燕 + 1 + 1 我很赞同!
CcCody + 1 + 1 热心回复!
nanmobei + 1 + 1 热心回复!
lin_xop + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lanlana 发表于 2018-5-4 19:15
希望多多更新啊
 楼主| 小白670 发表于 2018-5-4 22:28
gunxsword 发表于 2018-5-4 21:20
没太看懂,中间的那段纯纯的源代码是怎么来的mainwindow那个?

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

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

免费评分

参与人数 1热心值 +1 收起 理由
瑟瑟发抖小菜虾 + 1 希望楼主能够把做题的文件也上传一下 谢谢啦~~

查看全部评分

qqqwww0078 发表于 2018-5-4 19:30
三滴H2O 发表于 2018-5-4 20:24
适合萌新,赞一个!
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
谢谢分享,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 12:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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