![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
逆向
文章平均质量分 55
Persistent_s
又菜又爱学
展开
-
攻防世界-csaw2013reversing2
无壳程序IDA静态分析找到main函数![image.png](https://img-blog.csdnimg.cn/img_convert/d937d85acd09e34b9ae05d2e9e3d68e2.png#clientId=ufefc85f1-ac53-4&from=paste&height=426&id=u7c49415e&margin=[object Object]&name=image.png&originHeight=426&原创 2021-11-07 21:19:28 · 154 阅读 · 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 · 258 阅读 · 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 · 1193 阅读 · 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 · 207 阅读 · 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 · 239 阅读 · 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 · 255 阅读 · 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 · 1185 阅读 · 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 · 557 阅读 · 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 · 186 阅读 · 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 · 277 阅读 · 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 · 188 阅读 · 0 评论 -
BMZCTF-RE-Checkin
BMZCTF-RE-Checkin查壳IDA 静态分析查壳例行检查,无壳IDA 静态分析解题姿势①IDA+OD分析原创 2021-04-27 09:01:35 · 228 阅读 · 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 · 251 阅读 · 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 · 238 阅读 · 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 · 272 阅读 · 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 · 771 阅读 · 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 · 167 阅读 · 0 评论 -
BUUCTF-RE-[ACTF新生赛2020]rome
BUUCTF-[ACTF新生赛2020]romePEID查壳关键代码审计编写解密脚本get flagPEID查壳PEID查壳发现没有壳关键代码审计将程序放入IDA pro进行分析int __cdecl main(int argc, const char **argv, const char **envp){ __main(); func(); return 0;}进入_main函数为程序初始化函数,我们看到关键代码funcint func(){ int result;原创 2021-04-19 10:40:57 · 338 阅读 · 0 评论