CTF—逆向入门题目(超详细)_第1页
CTF—逆向入门题目(超详细)_第2页
CTF—逆向入门题目(超详细)_第3页
CTF—逆向入门题目(超详细)_第4页
CTF—逆向入门题目(超详细)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CTF逆向门题(超详细)以下为本观点结合其他write up总结出来的,如有错误请指出,谢谢1.Bugkuctf平台中的逆向题第道easy_vb:打开件发现需要输注册码获取flag话不多说先放PEID看看,养成这个好习惯,发现是VB6写的我们载IDA进分析,alt + t搜索字符串CTF,然后crtl + t搜索下个字符串,直到看到flag2.Bugkuctf平台中的逆向题第道Easy_Re:先把件下载下来载PEID运件发现有字符串flag,于是考虑IDA打开件查找字符串flag来到这发现xmmword后有两串奇怪的字符串,我们将其选中按R键将其变成字符串发现flag3.南邮CTF逆向题第道H

2、ello,RE!下载件PEID载,壳,运下发现让输flag,办法IDA打开查找字符串flag查找到之后f5查看伪代码看到如下结果,将v5v11的结果R改为字符串得到flag4.实验吧 Just Click下载件exeinfo这款软件查看发现程序C#撰写打开软件发现需要点击相应的数字才能发现flag因为是C#写的所以我们考虑Reflector软件将其打开找到MainWindow发现类似主函数的东西,分析发现需要按顺序点击8次就能出现flag按这个顺序点击即出现flag。5.南邮CTF py交易反编译后发现是这样的分析算法:先输段字符串,进encode函数之后与字符串correct进较encode

3、函数就是将输的字符串中每个字符ascii都与32进异或运算,然后每个在加上16得到新的字符串,最后再将这个字符串进base64加密。所以我们只需将XlNkVmtUI1MgXWBZXCFeKY+AaXNt进base64解密,再将每个字符ascii码都减16,接着与32异或即可得到flagpython代码如下:import base64correct =XlNkVmtUI1MgXWBZXCFeKY+AaXNts = base64.b64decode(correct)flag =for i in s:i = chr(ord(i)-16)32)flag += iprint flag运即可得到flag:

4、nctfd3c0mpil1n9_PyC6.Jarvis OJ :FindKey下载件发现是个很复杂的东西款叫做斯托夫件格式分析器分析下这个软件的类型发现是python写的,将其后缀名改为.pyc然后放在线反编译站得到如下import syslookup = 196,153, 149,206, 17,221, 10, 217, 167, 18, 36, 135, 103, 61, 111, 31, 92, 152, 21, 228, 105, 191, 173, 41, 2, 245, 23, 144, 1, 246, 89, 178, 182, 119, 38, 85, 48 pwda = 1

5、88, 155, 11, 58, 251, 208, 204, 202, 150, 120, 206, 237, 114, 92, 126, 6, 42pwdb = 53, 222, 230, 35, 67, 248, 226, 216, 17, 209, 32, 2, 181, 200, 171, 60, 108flag = raw_input(Input your Key:).strip()if len(flag) != 17:print Wrong Key!sys.exit(1)flag = flag:-1for i in range(0, len(flag):if ord(flagi)

6、 + pwdai & 255 != lookupi + pwdbi:print Wrong Key!sys.exit(1)print Congratulations!下写个脚本就ok了import syslookup = 196,153, 149,206, 17,221, 10, 217, 167, 18, 36, 135, 103, 61, 111, 31, 92, 152, 21, 228, 105, 191, 173, 41, 2, 245, 23, 144, 1, 246, 89, 178, 182, 119, 38, 85, 48 pwda = 188, 155, 11, 58, 2

7、51, 208, 204, 202, 150, 120, 206, 237, 114, 92, 126, 6, 42pwdb = 53, 222, 230, 35, 67, 248, 226, 216, 17, 209, 32, 2, 181, 200, 171, 60, 108flag = for i in range(0,17): /这就是要满wrong key的条件才能得到正确的flagflag+=chr(lookupi + pwdbi-pwdai & 255)flag=flag:-1print flag运下就得到flag了7.Jarvis OJ :stheasy拿到题下载了个很复杂的件

8、,我们先放斯托夫件格式分析器分析,发现:我们IDA将其打开,很容易找到关键函数位置:按下F5编译下,获得如下函数:有个sub_8048630函数决定了Flag的对错,所以我们只需要研究下它:这我为了便于观察重新命名了a,b函数,我们双击a和b查找下他们具体的值,将a这两排选中shift + E快捷键选择第四个选项,数组表a如下,b同理:研究完算法之后就可以写脚本了:a = 0 x48, 0 x5D, 0 x8D, 0 x24, 0 x84, 0 x27, 0 x99, 0 x9F, 0 x54, 0 x18,0 x1E, 0 x69, 0 x7E, 0 x33, 0 x15, 0 x72, 0

9、 x8D, 0 x33, 0 x24, 0 x63,0 x21, 0 x54, 0 x0C, 0 x78, 0 x78, 0 x78, 0 x78, 0 x78, 0 x1Bb = 0 x6C, 0 x6B, 0 x32, 0 x6A, 0 x39, 0 x47, 0 x68, 0 x7D, 0 x41, 0 x67,0 x66, 0 x59, 0 x34, 0 x64, 0 x73, 0 x2D, 0 x61, 0 x36, 0 x51, 0 x57,0 x31, 0 x23, 0 x6B, 0 x35, 0 x45, 0 x52, 0 x5F, 0 x54, 0 x5B, 0 x63,0 x76, 0 x4C, 0 x62, 0 x56, 0 x37, 0 x6E, 0 x4F, 0 x6D, 0 x33, 0 x5A,0 x65, 0 x58, 0 x7B, 0 x43, 0 x4D, 0 x74, 0 x38, 0 x53, 0 x5A, 0 x6F,0 x5D, 0 x55, 0 x00flag = c = for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论