- 博客(18)
- 收藏
- 关注
原创 NSSCTF——[NSSRound#3 Team]jump_by_jump
拖入DIE中,发现32位,无壳在ida中打开,定位到标红的代码段,jx和jnx是常见的花指令类型,具体可以看看[这位师傅的博客]([花指令相关-),这里详细讲讲怎么修改首先将E8改为90,点击左上角的编辑->修补程序->单字节修改修改完后,我们需要将黄色的地址一个一个按< C >来转化成代码最后在main函数的地址处按< P >重新定义函数这时候就可以反编译了,伪码如下:直接就能得到flag。
2025-07-22 23:59:50
239
原创 NSSCTF——[GFCTF 2021]wordy
将文件拖入DIE中,64位,无壳在ida64中打开,因为题目标签给的就是花指令,所以浏览了一下,发现有标红的代码段同时发现jmp,这是常见的花指令,我们需要做的是将E8改成90,这里可以手工改,但是太慢了,看了[这位师傅的博客]([),借用了一下代码用法就是点击文件->脚本命令->复制代码->运行(然后进行搜索,左上角点搜索->文本->这里搜索大括号,因为别的c、t、f都太多了找到了flag段。
2025-07-22 23:46:28
344
原创 NSSCTF——[NISACTF 2022]ezpython_WP
将文件拖入DIE中检测,发现是pyinstaller打包的打开pyinstxtractor.py的文件夹,将exe文件拖进去,打开命令行,执行这样我们就得到了一个文件夹找到src.pyc分析源码,逻辑比较简单,用了encrypt1和encrypt2两种加密方式,以及对应的decrypt1和decrypt2两种解密方式,重点代码是虽然这里有一个flag,但是提交上去是假的,这也就印证了题目描述。
2025-07-21 09:52:21
249
原创 BUUCTF——简单注册器
因为不会java,所以让AI解释一下,发现主要的逻辑在这段代码可以分为两部分来看,第一部分分别对x[2],x[4],x[30],x[14]进行修改,第二部分是一个for循环,实际上做的是对字符串进行逆向操作,直接上脚本。
2025-07-17 15:10:51
454
原创 BUUCTF——[ACTF新生赛2020]easyre
拖入DIE中检测,有壳,32位手动脱壳:再次拖入DIE中检测,发现壳已去壳:在ida中打开,< shift + f12 >定位到关键字符串其实逻辑比较简单,就是从v4这个字符串中一次取出一个字符来,在_data_start__数组对应的索引进行比对,如果相同就输出正确双击_data_start__查看值:这道题的难点我觉得就是找出_data_start__数组的值,传统的< shift + e >失效了,我看了别的师傅的wp,好像都没人将如何找值(可能我太cai了T_T),只有手搓了。
2025-07-17 00:47:26
416
原创 BUUCTF——刮开有奖
拖入DIE中检测,32位,无壳在ida中打开,< SHIFT + F12 >查看所有可打印字符,找到字符串"U g3t 1T!"(这里我看了别的师傅的WP,我没注意到这个字符串T_T)思路在注释里面。简单分析伪码,先是调用sub_4010F0函数对v7字符串进行处理,然后又调用sub_401000函数得到v4和v5,最后有一个if判断。
2025-07-16 22:38:07
495
原创 BUUCTF——Java逆向解密
这是一道Java逆向解密,第一次做这种题,看了别的师傅的WP,用到的工具是jd-gui,[下载地址](在jd-gui.exe里打开文件,伪码如下:这里让AI解读一下代码,就是对字符串进行加密操作后与KEY值进行比对,相同就正确。KEY值已经给出,我们拿着KEY值再做一遍加密操作的逆向就出来了。
2025-07-16 15:53:25
997
原创 BUUCTF——特殊的 BASE64
拖入DIE中检测,64位,无壳在ida64中打开,< SHIFT + F12 >查看可打印字符串,双击含有flag的字符串这里我不是太懂C++,我交给AI解读了一下,关键函数就是base64Encode(&result),然后result与rightflag进行比较,相同就输出正确。
2025-07-14 11:09:42
196
原创 BUUCTF——[FlareOn3]Challenge1
将文件拖入DIE中检测,32位,无壳从下往上分析伪码,我们可以得知str1与str2比较后相同则输出正确,而str2又是已知的。再往上看,str1是由用户输入的buffer经过函数sub_401260得到的,这里的函数就是我们的主要研究对象。而上面的WriteFile和ReadFile函数猜测功能就是printf和scanf,不用多管。其实就是一个base64换表编码,熟悉了自然就知道了,也可以问下ai函数的逻辑/功能。
2025-07-13 18:03:09
511
原创 BUUCTF——[羊城杯 2020]easyre
拖入DIE中检测,64位,无壳在ida64中打开,< shift + f12 >查看所有可打印字符串这里看到了base64标准表,其实可以猜到是base64算法。
2025-07-13 00:14:59
355
原创 BUUCTF——[WUSTCTF2020]level4
拖入DIE中检测,64位,无壳这里有三个关键函数type1,type2,type3这里我第一眼没看出来,因为有*((_QWORD *)a1这样的有点陌生,但是很显然type1是中序遍历,type2是后序遍历,那么type3就是前序遍历咯。先运行下程序,看看分别输出什么。在kali linux中打开,运行结果如下:中序遍历是2f0t02T{hcsiI_SwA__r7Ee}后序遍历是20f0Th{2tsIS_icArE}e7__w这里我尝试手搓了以下二叉树,发现有点复杂。看了,发现有现成的。
2025-07-12 23:19:34
391
原创 BUUCTF_REVERSE_学习日记
拖入DIE中检测,64位,有壳打开cmd,进入upx的文件夹(如果没有下载upx,可以在[这里]()下载)输入即可脱壳这里再次拖入DIE中检测,发现已经无壳了,在ida64中打开这里可以发现是经过sub_4009AE()这个函数的判断后输出的flag,所以我们点击sub_4009AE()函数跟进这里可以发现sub_4009AE()这个函数其实看着复杂,但是逻辑比较简单,但是需要注意的是这里没有给a[6]这里可以使用两种方法,一种比较常规,另一种是我看了别的师傅的WP学习到的。
2025-07-08 03:45:00
854
原创 BUUCTF_REVERSE_学习日记
拖入DIE中检测,64位,无壳在ida64中打开,< shift + F12 >定位到含有flag的字符串按< R >将关键数字转化为字符串后分析伪码我们可以看出伪码的关键部分是5种case,这里可以发现case2和case3啥也不是,case1是最后输出flag,case4是定义f2,case5是对f2进行处理,所以我们可以得出case的顺序:case4->case5->case1。
2025-07-06 18:45:28
781
原创 BUUCTF_REVERSE_学习日记
拖入DIE中检测,32位,无壳在ida中打开,< shift + F12 >查看可打印字符串,发现A-Za-z还有=,打过misc的师傅应该很快能发现这是base64加密。双击含’flag’的字符串后,定位,反编译这里直接定位到关键部分,从下往上分析,发现destination是一个字符串,与str2比较后输出正确,上面是对destination这个数组的处理,处理方式也是比较简单,对于从0到len(destination),对每个destination[i]进行加i。
2025-07-06 00:53:33
742
原创 BUUCTF_REVERSE_学习日记
拖入DIE中,发现是64位的,无壳用ida64打开,按F5反编译,flag是flag{this_Is_a_EaSyRe}
2025-07-02 19:23:04
893
原创 prompt之BROKE
(根据实际需求结合AI的回答)向AI提出更多限制条件以优化(如请您更加详细地回答这个问题,请您想出更有创意的方案,请您重新想出一种方案......):请您......(详细/简要讲解某个问题,设计试验方案,给出可行的做法......):作为......(计算机学家,数学家,文学家,物理学家,密码专家......):请以......(不少于200字.......)的格式/模式输出。:在......的背景下。
2024-10-19 20:50:01
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人