Bugku-逆向类CTF写题过程
Bugku平台逆向类CTF题,写题过程
大灬白
没有绝对安全的系统
展开
-
逆向工程实验大作业——bugku-逆向-8、LoopAndLoop(阿里CTF、Android逆向)
LoopAndLoop(阿里CTF)[ LoopAndLoop ]The friendship between native and dex.下载LoopAndLoop.apk在安卓模拟器中打开:题目要求输入一串数字,随便输入字符串HYH时会显示:Not a Valid Integer number。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dci3VX7o-1598509986233)(media/image1.png)]{width=“5.767361111原创 2020-08-28 14:03:59 · 10985 阅读 · 0 评论 -
bugku-逆向-4、游戏过关(4种简单的方法介绍)
题目是个consoleapplication4.exe,运行一下:是一个游戏:n是灯的序列号,m是灯的状态如果m (n) = 1,它是开着的,如果不是,它是关着的起初所有的灯都关着现在你可以输入n来改变它的状态但是你要注意一件事,如果你改变N灯的状态,(N-1)th和(N+1)th的状态也会改变当所有的灯都亮着的时候,flag就会出现现在,输入n。就是输入一个1到8之间的数,例...原创 2019-04-20 11:10:22 · 13692 阅读 · 7 评论 -
bugku-逆向-13、Take the maze(VC++32位逆向、IDC脚本使用)
文章目录一级目录二级目录1、IDA静态分析2、主函数分析3、OD动态分析4、关键sub_463480函数分析(1)byte_541168数组分析(2)迷宫游戏的方向和形状5、脚本寻找路径6、路径转换得到flag一级目录二级目录首先下载运行ConsoleApplication1.exe:是需要输入一个字符串或者数字之类的之后PEid查壳:32位的控制台程序,没有壳。1、IDA静态分析再用IDA打开静态分析,找到main函数,按F5反编译:main_0函数带注释的源代码:__int64原创 2020-10-25 00:44:46 · 2489 阅读 · 0 评论 -
bugku-逆向-12、Mountain climbing(Win32位逆向、UPX脱壳)
文章目录1、脱UPX壳2、IDA反汇编静态分析3、伪随机数组4、第一次错误的思路(没有考虑完整)5、没有考虑的sub_41114F函数6、OD动态分析7、得到真正的flag8、继续的仔细分析(sub_411750函数)9、关键的sub_411900函数10、正确完整的代码首先下载运行ConsoleApplication2.exe:发现是输入一个字符串或者数字,错误就输出“error”.1、脱UPX壳然后用PEiD查壳:发现有UPX的壳,再用Upx静态脱壳机脱壳:2、IDA反汇编静态分析原创 2020-10-17 23:01:12 · 3948 阅读 · 11 评论 -
bugku-逆向-10、SafeBox(NJCTF)(Android逆向)
文章目录一、反编译查看源代码二、源代码分析三、方法1:正向暴力破解四、方法二:按照筛选条件,逐步缩小范围先下载软件,发现是个安卓的apk安装包,安装之后打开:一、反编译查看源代码只有一个输入框,其他的点不了。应该是要输入某个字符串然后判断是否正确,之后返回flag。打开apk反编译:发现有两个Activity,而且代码高度相似,查看AndroidManifest.xml:多个Activity可以显示多个不同的界面,setContentView就是设置一个Activity的显示界面,使用s原创 2020-09-29 23:10:02 · 7517 阅读 · 0 评论 -
bugku-逆向-9、easy-100(LCTF)(Android逆向)
文章目录一、反编译代码具体分析二、程序流程图三、逆向代码分析四、完整的Java代码五、代码运行结果六、完整的Python代码七、代码运行结果一、反编译代码具体分析二、程序流程图三、逆向代码分析四、完整的Java代码五、代码运行结果六、完整的Python代码七、代码运行结果一、反编译代码具体分析下载easy-100(LCTF).apk,最好用JEB打开反编译,其他的软件反编译出来的代码会有一些不同,影响代码的可读性。(1)、首先是MainActivity.class的代码:package原创 2020-09-27 21:32:36 · 6016 阅读 · 2 评论 -
bugku-逆向-7、love
首先下载reverse_3.exe,再用PEiD查壳:无壳,是用C++写的控制台程序。再用IDA打开,F5反编译查看源代码:我们发现代码的主要逻辑就是输入一串flag字符串Str,Str经过sub_4110BE函数,返回给v1一个字符串,v1再复制给Dest字符数组,Dest数组经过一个for循环的逐个加运算,最后将得到的Dest字符数组和Str2字符串’e3nifIH9b_C@n@dH’比较是否相等,相等则输出rigth flag!点开sub_4110BE函数:刚开始觉得这个函数怎么这么复杂原创 2020-09-26 16:15:26 · 6201 阅读 · 0 评论 -
bugku-逆向-6、逆向入门
首先下载admin.exe文件,先用PEiD查壳发现竟然不是有效的PE文件,用010Editor打开:发现前面有提示信息:data:image/png;base64,是base64转码的PNG图片,且其格式是HTML中引用Base64图片的格式,我们只要给它在最前面加上 闭合:之后就可以把它作为HTML文件中引用的Base64图片打开:扫描二维码:得到flag:bugku{inde_9882ihsd8-0}也可以直接在线Base64编码转图片https://tool.jisuapi.c原创 2020-09-26 16:05:30 · 6945 阅读 · 0 评论 -
bugku-逆向-5、Timer
下载下来,是一个apk文件,就是安卓手机软件的安装包,先把它安装看一下:只有一个界面,上面有个200000在倒计时,应该是等时间到了,就会显示flag。接下来我们反编译,可以自己逐步解压缩,用apktools、dex2jar转化为jar包,也可以直接用集成工具打开刚开始用JAD打开jar包,查看到的.class文件的代码是这样子的:public class MainActivity extends AppCompatActivity{ int beg = (int)(System.cu原创 2020-09-22 23:55:30 · 6331 阅读 · 0 评论 -
bugku-逆向-11、不好用的ce
下载程序,运行一下:点确定,有会弹出一个新的窗口:点击Command按钮,左上角的数字就会增加,大概是要我们点击一万次:再用PEiD看一下有没有加壳:并没有加壳,是MFC编程的小软件。所以我们用IDA打开,是没法查看伪代码的:查看字符串也没有找到有用的信息,只有一个标题的From1:直接用OD打开,动态调试:MFC程序停在统一的外层入口处7770A9E0,直接Ctrl+G或者点击断点跳转到我们内层程序:右键->查找->所有参考文本:其实上面的DeZmqMUhR原创 2020-09-19 14:33:56 · 7910 阅读 · 0 评论 -
bugku-逆向-3、Easy_Re
首先对Easy_Re.exe查壳:并没有壳,是用Visual C++写的控制台程序,然后就把它用IDA打开,用不同把那本的IDA打开对exe的数据解析和反汇编的伪代码是有些差异的,这是7.0版本的伪代码:这是6.8版本的伪代码:int sub_401000(){ int v0; // eax __int128 v2; // [esp+0h] [ebp-44h] __int64 v3; // [esp+10h] [ebp-34h] int v4; // [esp+18h] [eb原创 2020-09-17 23:18:38 · 7876 阅读 · 0 评论 -
bugku-逆向-2、easy_vb
下载程序,运行一下:再用PEiD看一下有没有加壳:发现是MFC编程的软件并没有加壳,再用IDA打开它:F5反编译伪代码,发现并没有源代码,这就是上面我们说的MFC编程的原因。只能看汇编代码了,先搜索文本:flag、CTF:刚好.text代码段中找到了MCTF{N3t_Rev_1s_E4ay}。提交的flag是flag{N3t_Rev_1s_E4ay}。用OD打开,程序停在入口处:在这搜索字符串flag、CTF:并没有发现flag。这时候我们发现程序的注释中写着:“下面的call原创 2020-09-15 21:26:33 · 5617 阅读 · 0 评论 -
bugku-逆向-1、逆向入门
首先下载逆向入门的exe的文件原创 2020-09-08 15:49:10 · 6140 阅读 · 0 评论