
ctf
Wwoc
时间不会停
展开
-
南京邮电大学-RE-你可能需要一个好的MAC
将文件拖进IDA,进入main函数F5反编译。题目非常简单,读入一串字符长度限制是56,然后经过一系列的函数处理后等于某个已知的字符串。其中memcpy()函数,可以查到。__strcpy_chk()函数,将v4拷贝到input。话不多说直接在IDA中使用脚本逆向。b=[]for i in range(0,56): b.append(Byte(0x100000E...原创 2018-09-11 14:28:50 · 843 阅读 · 0 评论 -
南京邮电大学 RE-WxyVM
拿到题目拖入IDA,查看主函数。流程非常简单,输入一个字符串,长度要求为24.处理后与一个已知的字符串进行对比。然后仅需sub_4005B6处理函数查看处理过程也不复杂,可以直接进行逆向。其中v0是处理类型的标志,v3是参与处理的数据,result是处理的位置。因为一共有24位长的字符。这里有一个点困惑了我一会,byte与Dword数据进行对比,然后查找得知,对比的...原创 2018-12-06 12:47:01 · 309 阅读 · 0 评论 -
BugKuCtf-逆向-Mountain climbing
PEID查询有壳使用UPX脱壳机DLL 脱壳使用IDA打开shit+F12 查看字符串看到error字样,交叉引用到相关函数。反编译 查看到该函数的如下代码int sub_411B70(){ int v0; // edx@1 int v1; // ecx@1 int v2; // edx@5 int v3; // ecx@5 signed i...原创 2018-12-14 09:48:32 · 1494 阅读 · 0 评论 -
南京邮电大学 RE-480小时精通C++
主要收获:这题对我来说,算是第一次在Linux上调试。中间光是环境,方法之类的都花了我很多时间。尝试了IDA远程调试,尝试了EDB,和GDB。最后还是觉得EDB好用一些。但静态调试还是使用IDA很像OD的界面。我用的Ubuntu下EDB,github上上能找到安装步骤,ubuntu版本大于15.0安装方法如下,对应着输入指令。# install dependenciessu...原创 2018-12-09 23:48:24 · 436 阅读 · 0 评论 -
南京邮电大学CTF-PWN-Stack Overflow
经过双月赛,通过阅读同级人的WriteUp结合参赛的亲身体验。深深感觉到自己文字表达能力的欠缺,以及技术上的差距。但能意识到差距是好事,意识到了就努力去弥补。一直想要学习PWN,一拖再拖,终于开始了。关于write up,老师说了一句话,印象深刻。“write up 是写给别人看的,不是你自己看懂了就行。”进入正题:把文件拖入IDA,进入main函数F5反编译,先看程序流程。set...原创 2018-12-21 02:19:37 · 1512 阅读 · 1 评论 -
cumt12月双月赛部分RE
好像是第一次觉得自己在参加比赛...1.RE-open the gate of RE查看文件头是elf文件使用IDA打开,查看字符串发现什么都没有然后使用linux的edb打开动态调试。开头直接jmp到这个函数,F8执行完这个函数就显示了字符串然后F7跟进这个函数继续往下执行第二个syscall会卡住,然后直接跳过到执行下面的循环阅读汇编得知这里...原创 2018-12-17 21:45:55 · 415 阅读 · 0 评论 -
BugKuCtf-逆向-love
把文件拖入PEID没有壳,然后拖入IDA查看字符串看到有base64字样,但是主要着眼到wrong flag交叉引用到这里查看反编译函数大致流程为输入一个字符串,再进行某个函数加工处理,之后得到的字符串再对每个str[i]+i。然后再与一个已知的字符串对比,如果一样则通过。然后联想到刚刚看到的BASE64,用PEID的插件检测确实存在BASE...原创 2018-12-11 22:54:48 · 1424 阅读 · 6 评论 -
pwn学习-canary
CTF-WIKI-pwn-cannary 漏洞复现 Canary 实现原理 开启 Canary 保护的 stack 结构大概如下// ex2.c#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>void getshell...原创 2019-02-26 23:13:31 · 2381 阅读 · 2 评论 -
2019 “嘉韦思杯” -RE两题 WP
RE1查壳无壳,为32位PE文件。在IDA中查看level1 输入的V7与自定义的V8字符串相同即可通过。进入level2这里有个反调试函数,使用x86dbug调试会直接退出。但是使用OD或者吾爱破解版本的OD可以解决这个反调试函数。往后动态调试进到这里的步骤就是将内存中存在的一部分数据与0x2异或然后与输入的部分相同即可通过。a=[0x75,0x31...原创 2019-03-31 12:59:02 · 387 阅读 · 0 评论 -
SUSCTF逆向部分WP
RE1 签到题直接拖入IDA查看主函数。RE2拖入IDA查看主函数,只有一个输入和简单的比较。根据比较算法写出python脚本a=[0x53,0x54 ,0x51,0x40,0x50 ,0x43 ,0x7D ,0x26 ,0x29 ,0x28 ,0x46 ,0x5A ,0x58 ,0x6A ,0x60 ,0x66,0x69,0x74,0x6b,0x6E]for i in range...原创 2019-04-13 17:31:48 · 548 阅读 · 0 评论 -
2017 EIS 高校运维赛-RE-ReverseMe
分析打开题目尝试打开然后报错以为是很麻烦的一件事,然后搜索这个报错,好像是QT框架相关的编译问题。MinGw有关。但是神奇的是可以在OD里动态调试。先看IDA静态分析。外面的逻辑很简单,输入一个长度大于19小于30的字符串,即可进入check部分。跟进查看这样看懂,这题基本就解出来了。因为可以看出,参与异或的字符与我们的输入无关,所以直接使用动态调式将每次参与异或的值记录下来即可。...原创 2019-04-17 12:08:12 · 454 阅读 · 0 评论 -
2019 西湖论剑 逆向工程第三题 junk_..,花指令不会去花怎么办?
第一次面对此类型的题,作为新手的我一脸懵。梳理了一下自己的思路,把适合自己这种新手可以接受的解题过程描述下来。打开题目首先拖入IDA看见茫茫多的函数,无从下手。正常。这个时候需要利用一个针对MVC的工具了 XSPY将拖到按钮处,记住这里的id 0x9e。再次拖到主框处继续查看,看到check按钮的出发事件在偏移0x2420处。OK,这下我们获取了关键信息。返回IDA查看偏移地址0x...原创 2019-04-14 18:21:45 · 783 阅读 · 0 评论 -
第十二届全国大学生信息安全竞赛-RE部分WP(目前前两题,待更)
RE2-bbvvmm分析拖入IDA,题目流程基本呈现,直接看到最后的check这里即,用户名和密码都在此验证。密码最终得到的结果在ptr+25,而用户名得到的结果,像是经过一系列字符处理,最终与明文对比。这里这个明文一看非常像base64,尝试在线解base64,发现不对。经过动态调试发现是经过sub_400A6后,字符串才变为base64模样,说明在之前还有加密。base64是一种很容易...原创 2019-04-22 14:33:05 · 1509 阅读 · 4 评论 -
攻防世界两题简单RE,学习了一下手工脱壳
111原创 2019-04-15 10:49:39 · 790 阅读 · 0 评论 -
湖湘杯-RE-replace
文件拖入PEID,查看到UPX壳,使用UPXSHELL进行脱壳。然后使用IDA打开.进入main函数,F5反编译。main函数里的流程是输入一个长度不大于38的字符串,然后进行处理。进入sub_401090函数。阅读流程得:得知flag长度为35,用byte_402150处的字符串每两个一组进行处理 得到V8与V9。然后进行相关运算比对,35个字符全部验证完后即...原创 2018-11-19 22:31:06 · 1073 阅读 · 0 评论 -
矿大BXSCTF-RE-普普通通的逆向
题目地址:http://bxs.cumt.edu.cn/challenge/reverse/reverse03.exe就是给定账号要求获得具体的密码。1.直接用IDA打后发现会说IAT错误(因为本人新手,查询后才知道是壳,然后补了好多壳的知识,手动脱壳暂时不熟练,还是直接用工具方便,后续再多练练)用PEID检查,发现是UPX壳。2.于是使用UPXshell脱壳,脱壳完成...原创 2018-11-14 10:51:35 · 297 阅读 · 0 评论 -
南京邮电大学 RE-WxyVM2
把文件拖入IDA进行反编译。然后到main函数F5查看伪代码(IDA7.0版本不能查看伪代码,6.8版本可以)代码非常好读懂,输入一个数然后处理,然后再与某个字符串对比,完全一样即为flag。要对比的字符串存在dword_694060dword为双字类型,即每32位为一个字符。又因为在参与运算时候为BYTE类型所以只需要取第一个字节,共取25个形成处理后的flag字符串...原创 2018-09-10 12:55:59 · 843 阅读 · 3 评论 -
矿大BXSCTF-RE-据说数学不好不会做
还是先将文件拖入IDA,对main函数进行反编译。查看C伪代码。只有这里一个简单的处理,都在Main函数里。 将放在v15处的数组对V13处的数组进行整除,每一个结果即为FLAG的一位字符。静态观察不太好看V15与V13处的字符。使用OD进行动态调试。ctrl+F8停留在第一个CALL,程序显示需要输入。在此处下断点,CTRL F2重新运行到此处,F7进入该函数,再CTRL...原创 2018-09-19 20:49:15 · 288 阅读 · 0 评论 -
矿大BXSCTF-RE-入门3
打开后拖入IDA,发现为输入一串字符后经过很复杂的处理存入到V12中。然后与一串已知的字符串进行对比。加密过程看着十分头疼。其中比较头疼的是我用python ,进行<<位移运算的时候,发现右移出去的1,再左移就回来就只能用0补了。所以不好反解。询问学长后得知该加密为base64.直接对已知的字符串进行base64解密。得到...原创 2018-09-26 09:44:23 · 257 阅读 · 0 评论 -
矿大BXSCTF-RE-入门5
今天起把链接也复制上,题目链接:http://bxs.cumt.edu.cn/challenge/reverse/%E8%AF%BE%E5%A0%825.exe打开程序,exe文件显示输入flag,直接拖入IDA,如题目描述为简单算法题。大致流程为输入一个flag,再进行加密,然后与一个已知的字符串进行匹配。已知字符串在这里,我把它截取下来。阅读知sub_401180函数与...原创 2018-10-02 18:12:42 · 860 阅读 · 0 评论 -
矿大BXCCTF-RE-入门4
拖进IDA,仍然是算法题。由上一题直接知道是md5的加密。MD5加密后是128BYTE的字符串,其中每四位为一个字符,一共32个字符。即为7fef6171469e80d32c0559f88b374245进行md5暴力破解后得到 ...原创 2018-09-26 15:36:07 · 350 阅读 · 0 评论 -
矿大BXCCTF-RE-入门7
打开题目 shift+F12即为flag原创 2018-09-26 15:42:20 · 228 阅读 · 0 评论 -
矿大BXSCTF-RE-Easy_CrackMe
打开后拖入IDA。查看字符串找到对应的字符串函数。if函数是关键,string是我们输入的字符串。查看堆栈的位置。得知顺序。 可解题。Ea5yR3versing...原创 2018-09-26 16:38:30 · 369 阅读 · 0 评论 -
矿大BXSCTF-RE-找到字符串就赢了
拖入IDA,反编译 关键在于check函数可见,处理后的字符串存放的地址为134520928运行IDC脚本static main(){auto i=134520928,j;Message("\n");for(j=0;j<32;j++,i++) Message(Byte(i)^6);}即可出结果。 ...原创 2018-09-27 09:44:19 · 379 阅读 · 0 评论 -
矿大BXSCTF-RE-入门8
题目链接 http://bxs.cumt.edu.cn/challenge/reverse/%E8%AF%BE%E5%A0%828.exe打开题目main函数这里大致流程可以读懂,输入一串长度63位的字符,进行一串处理后,得到V3,将存在byte_403024[]处的字符串逐个与v3异或,然后得到flag.但是前面的函数阅读起来十分困难,绕地圈很多,动态调试也没有找到头绪。然后...原创 2018-10-12 12:59:51 · 327 阅读 · 0 评论 -
矿大BXSCTF-RE-普通的逆向
拖入IDA,找到主函数Main,反编译。基本流程为输入一个字符串flag,然后进入sub_401070进行处理。查看sub_401070函数通过这里的格式审核,可知道flag长度为26,格式为 xxxx{xxxx_xxx_xxxx_xxx}继续往后看1处的名称,根据它们在栈中的位置与FLAG的距离进行改名。2处可以看出前四个字符为flag,即flag格式为 fl...原创 2018-09-27 21:17:29 · 558 阅读 · 0 评论 -
矿大BXSCTF-RE-入门6
题目http://bxs.cumt.edu.cn/challenge/reverse/%E8%AF%BE%E5%A0%826.exe打开文件拖入IDA,找到主函数F5反编译此前在南京邮电大学大学练习平台做过一道maze,看到此题的v3所对应的地方,与switch 对应的l r u d分别对应着left right up down左右上下,更为简单。从v3+-8可以看出每行...原创 2018-10-06 16:18:43 · 287 阅读 · 0 评论 -
矿大BXSCTF-RE-KeygenMe
题目链接 http://download.bxsteam.xyz/re/Easy%20Keygen.exe把文件拖入IDA,找到main函数F5反编译由于本人基础原因,百度查了下sprintf函数才明白题目的简单.附上sprint函数详解:https://blog.youkuaiyun.com/oyhb_1992/article/details/75095472流程大致为: 输入一个fla...原创 2018-11-02 16:41:30 · 305 阅读 · 0 评论 -
矿大BXCCTF-RE-MAZE
题目链接http://download.bxsteam.xyz/re/maze.exe打开题目拖入IDA。反编译查看main函数关键是看懂到红圈的那句意思。之前已经做过两个maze题了,所以很容易猜想到 这次的迷宫摆放是一行15个,而且只有两个方向,向下和向右。那上面两个sub_4012A0和sub401310函数应该是迷宫的生成部分了。点进去看,迷宫是要动态生成的,我们可以不...原创 2018-11-02 15:26:53 · 415 阅读 · 0 评论 -
第五届TSCTF-RE部分题解
前言这个周末参加了一下北邮的TSCTF,可以明确感觉到自己目前缺的是处理数据的工具或者是更高的技巧,许许多多的知识待补!有幸认识了在北邮读研的直系学长,也算是一些收获。RE1 Checkin分析elf文件,IDA观察查看程序很简单。没仔细看,先上动调看看。这里处理的第一步首先循环右移数据 ror flag[x],x然后是直接进行已知字符对比验证。expa=[0x54,0xa9 ...原创 2019-05-13 14:14:43 · 966 阅读 · 0 评论