
RE
文章平均质量分 56
Persistent_s
又菜又爱学
展开
-
攻防世界-csaw2013reversing2
无壳程序IDA静态分析找到main函数wp
fastjsoN依照这个链接可以知道 跟之前长安杯和看雪KCTF题目差不多先用脚本恢复一下符号0x02, 0x3A, 0x10, 0x6C, 0x6F, 0x6E, 0x67, 0x32, 0x73, 0x74, 0x72, 0x10, 0x73, 0x74, 0x72, 0x32, 0x6C, 0x6F, 0x6E, 0x67, 0x10, 0x73, 0x64, 0x66, 0x73, 0x66, 0x73, 0x64, 0x66, 0x0E, 0x73, 0x74, 0x72, 0x32,原创 2021-10-26 22:46:43 · 361 阅读 · 0 评论 -
BUUCTF-RE-[UTCTF2020]babymips
无壳程序IDA 打开 静态分析提示输入flag 拷贝数据unk_4015F4给v7查看unk_4015F4的数据并保存进入 sub_401164(v7, v6);函数逻辑就一个异或expdata = [0x62, 0x6C, 0x7F, 0x76, 0x7A, 0x7B, 0x66, 0x73, 0x76, 0x50, 0x52, 0x7D, 0x40, 0x54, 0x55, 0x79, 0x40, 0x49, 0x47, 0x4D, 0x74, 0x19, 0x7B, 0x6原创 2021-10-15 20:20:31 · 328 阅读 · 0 评论 -
BUUCTF-RE-2020-羊城杯 login
wppyc RE先用pyinstxtractor.py反编译为pyc文件看到如下信息但是注意 要对比login和struct头部的字节差异将差异补上后 login这个文件加上.pyc后缀 然后就能用uncompyle6 将pyc反编译为python代码# uncompyle6 version 3.7.4# Python bytecode 3.6 (3379)# Decompiled from: Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018,原创 2021-09-24 15:58:58 · 1322 阅读 · 0 评论 -
攻防世界-RE-csaw2013reversing2
文章目录查看文件信息IDA 静态分析动态调试getflag查看文件信息无壳IDA 静态分析来到 main()函数处我们可以看到 程序有个if 判断 进入sub_40102A()函数 发现没什么 IsDebuggerPresent()函数猜测应该是判断程序是否进入调试阶段_debugbreak() //在代码中引起断点 提示用户运行调试程序我们进入 sub_40100()函数他返回result 明显是加密后的flag 但是 他应该没有调用那么我们就可以用OD动调就可以原创 2021-05-14 09:57:27 · 205 阅读 · 0 评论 -
BUUCTF-RE-no-strings-attached
文章目录查看文件信息IDA 分析调试get flag查看文件信息32位 elf文件 无壳IDA 分析可以看到 最后一个函数 进去我们可以知道decrypt()这个函数 我们查看反汇编代码我们可以看到 汇编代码,可以知道 flag大概在eax这个寄存器里面,那么我们可以通过运行这个函数后 查看eax里的值 就是flag调试先查看decrypt 汇编代码 disass decrypt将程序断点在 0x08048707那么 我们再单步一步时就运行在这上面 那么我们原创 2021-05-14 08:47:30 · 183 阅读 · 0 评论 -
BUUCTF-RE-[GUET-CTF2019]number_game
文章目录查壳IDA 分析IDA动调get flag查壳我们知道这是没有壳的IDA 分析我们来到关键的函数 main函数我们进入到 sub_4006D6函数看看上述函数主要是,让用户输入的长度为10 且输入范围只能是 ‘0’ - ‘4’IDA动调既然显示wrong 那我们就可以在该位置断点我们先在服务端输入0123456789然后 F8单步就行 到jz这个地方将数值改为0 使其代码继续执行执行到此处的时候我们就可以知道v7的值了那么我们就知道对应下标的值了解原创 2021-05-10 17:36:24 · 251 阅读 · 0 评论 -
BUUCTF-RE-[ACTF新生赛2020]Universe_final_answer
[ACTF新生赛2020]Universe_final_answer查壳IDA 分析get flag查壳无壳程序IDA 分析进入main函数我们进入主要的函数(sub_860)看看这种题目一看就知道是z3求解器z3学习与安装脚本from z3 import *s = Solver()v1 = Int('v1')v2 = Int('v2')v3 = Int('v3')v4 = Int('v4')v5 = Int('v5')v6 = Int('v6')v7 = Int('原创 2021-05-08 16:33:32 · 294 阅读 · 0 评论 -
BUUCTF-RE-[FlareOn6]Overlong
[FlareOn6]Overlong查壳IDA 静态分析get flag查壳程序无壳IDA 静态分析我们可以看到汇编码 压入栈的大小为 0x1C ,接着我们查看数据 B7-08 = AF 肯定是不够的,所以我们只要改变栈里面的值就可了我们可以看到16进制码 为6A 1C 所以我们可以用winhex改一下就行了get flagflag{l_a_M_th_e_e_n_C_o_D_i_n_g@flare-on.com}...原创 2021-05-06 09:42:11 · 305 阅读 · 0 评论 -
BUUCTF-RE-[MRCTF2020]Xor
[MRCTF2020]Xor查壳IDA分析get flag查壳发现是无壳的IDA分析查找字符串,找到这个Give Me Your Flag通过交叉引用 来到sub_401090然后 F5 发现报错了 不能F5,而且不是sp错误那我们干脆直接看汇编首先我们看到 这里压入了byte_4212C0 和 %s这个我们就知道 flag其实储存在byte_4212C0中然后我们看到 loc_4010B6 我们可以知道 edx 寄存器不断自增,最后退出循环,然后再与27 进行比较,这个时候我原创 2021-04-30 11:04:29 · 1633 阅读 · 2 评论 -
BUUCTF-RE-[FlareOn4]IgniteMe
[FlareOn4]IgniteMe查壳IDA (静动)分析静态动调get flag查壳发现程序是没有壳的IDA (静动)分析静态然后 我们再F5 查看start的伪代码然后我们进入 sub_4010F0 看看读取某个字符串 然后传入全局变量当中再进入sub_401050 看看那么我们现在未知v4的值 为了避免麻烦 其实我们可以直接在IDA动态调试该程序来获取v4的值动调我们首先在v4的位置下一个断点然后选择这个 然后我们在Debugger->Stare proce原创 2021-04-30 10:25:39 · 651 阅读 · 0 评论 -
BMZCTF-RE-easy_re
BMZCTF-RE-easy_re查壳知识点学习x64Debug调试get flag查壳发现是无壳的知识点学习perl是解释语言,perlapp只是把你的perl程序压缩后放在资源里面,执行的时候会自行解压关键之处…自行解压,那就好办了,我们只需要x64Debug慢慢跑就行x64Debug调试看雪相关帖子通过这个帖子我们可以知道,我们可以搜索关键字符串,“script”在解密字符串的call后面的cmp下断点F9开始运行程序按两次F9后就能看到我们需要的字符串get flag原创 2021-04-28 09:47:22 · 228 阅读 · 0 评论 -
BMZCTF-RE-时间管理大师
BMZCTF-RE-时间管理大师查壳IDA静态分析get flag查壳例行检查无壳IDA静态分析打开程序发现,You can get your flag here,but u have to be patient ,each 10000ms passed,you can get one byte of the flag(你可以在这里得到你的flag,但是你必须有耐心,每通过10000毫秒,你可以得到一个字节的flag)毫无疑问,要等,我们先用IDA打开试试关键函数,每过1000毫秒,就会原创 2021-04-28 09:30:10 · 329 阅读 · 0 评论 -
BMZCTF-RE-Simulator
BMZCTF-RE-Simulator工具的介绍关键代码get flag发现程序有那么点陌生.obj文件,没见过。。。。。查了一下资料发现,这是L3C,而且题目也给了Hint(Study 《Introduction to Computer System》 carefully,the format of flag is xmctf{})查了下这本书的资料,发现要下载 LC3Edit用来编写LC3的软件工具的介绍关键代码ps:程序中有几条指令要注意BRZ 是跳转,类似汇编中的j…(z)原创 2021-04-27 11:14:16 · 229 阅读 · 0 评论 -
BMZCTF-RE-Checkin
BMZCTF-RE-Checkin查壳IDA 静态分析查壳例行检查,无壳IDA 静态分析解题姿势①IDA+OD分析原创 2021-04-27 09:01:35 · 271 阅读 · 0 评论 -
BUUCTF-RE-[BJDCTF2020]BJD hamburger competition
[BJDCTF2020]BJD hamburger competition先查壳静态分析分析关键代码get flag先查壳先查壳,发现根本没有壳静态分析因为这是Unity3D 游戏 所以可以参考简单的Unity3D逆向发现其实关键的代码就藏在/BJD hamburger competition_Data/Managed/Assembly-CSharp.dll里面所以我们将这个.DLL文件丢入dnspy其实我们可以发现,ButtonSpawnFruit这个函数里面,有一些加密函数我们可以点原创 2021-04-26 10:44:18 · 326 阅读 · 0 评论 -
BUUCTF-RE-[HDCTF2019]Maze
BUUCTF [HDCTF2019]Maze先查壳IDA 静态分析去除花指令分析关键伪代码get flag先查壳查壳后发现是upx的壳那么我们脱壳IDA 静态分析拖入IDA发现,其实程序已经加过花指令的仔细分析我们可以发现 jnz跳转的是下一行代码 其实就相当于没有跳转一样的,还有call 根本不是一个地址 所以IDA会分析失败去除花指令先将这些部分按d转化为数据然后将下列指令(按C)转化为有效代码发现指令正常了,框中main函数(按P)声明为函数分析关键伪代码题原创 2021-04-26 10:08:15 · 282 阅读 · 0 评论 -
BUUCTF-RE-[SUCTF2019]SignIn
BUUCTF-RE-[SUCTF2019]SignIn查壳关键代码审计脚本get flag查壳发现是没有壳的关键代码审计找到main函数int mpz_init_set_str (mpz_t rop, char *str, int base)mpz_t rop:多精度整数变量char *str: 字符串int base: 进制将str按照base进制转换为ropvoid mpz_powm (mpz_t rop, const mpz_t base, const mpz_t exp,原创 2021-04-21 14:02:06 · 337 阅读 · 0 评论 -
BUUCTF-RE-[GUET-CTF2019]re
BUUCTF-[GUET-CTF2019]rePEID查壳关键代码分析脚本get flagPEID查壳发现其实是UPX的壳,所以我们要先脱壳UPX脱壳关键代码分析我们将脱壳后的文件,使用ida打开查找字符串其实这种情况有两种解法①:直接看代码,除就完事了因为他是 N*a1[n] != M那么我们就可以转化成a1[n] = M // N②:Z3求解器利用z3求解器来求解各数组的元素脚本①:a1 = [0]*32a1[0]=chr(166163712//1629056)原创 2021-04-21 09:58:51 · 1091 阅读 · 0 评论 -
BUUCTF-RE-Youngter-drive
BUUCTF-RE-Youngter-driveget flag##PEID查壳发现是UPX的壳,脱壳脱壳之后再查壳##关键代码审计进入main函数再进入到main_0函数代码分析打印并将输入的字符串保存在Source变量里面具体分析如图所示sub_411190()函数将Source的值与"TOiZiZtOrYaToUwPnToBsOaOapsyS"对比按x查看交叉引用来到StartAddress_0()函数里面dword_418008的值为29查看WaitFo原创 2021-04-19 15:41:53 · 219 阅读 · 0 评论