GUET-CTF2019-encrypt 比对RC4加密算法(CRYPTO-RC4加密 - 知乎 (zhihu.com)),可以确认是RC4加密。然后还有一个魔改base64,就是编码的时候给每位数 +61。 题目难就难在初始识别RC4加密,解密过程是很简单,脚本如下: 123456789101112131415161718192021222324252627282930313233from Crypto.Cipher import A 2023-09-04 Reverse #Reverse
WUSTCTF2020-funnyre 分析elf文件,__libc_start_main函数启动 main 函数,init 函数中执行了三个函数,但对我们要求解的flag无影响,影响的是byte_603049,对应main函数中最后的 puts(s) 中的 s 变量。(废话咯) 直接来看 main 函数,发现存在花指令,如下图所示: 第一处很明显,两个跳转都几乎是零距离跳转且第二个指令永假(根本不会执行),nop掉这两个指令。然后是 2023-09-04 Reverse #Reverse
安洵杯2019-crackMe 一、题解主函数的伪代码如下: 可以看出整个流程是:先输入flag,然后弹出一个警告弹窗,之后有sub_41100F和sub_411136两个函数。第一个函数比较复杂,可能是一堆加密操作,在最后面会进行分析。第二个函数是最终是将两个字符串相比较,如下图所示: Str2已知,而Str1未知,但是可以发现它在另一处被引用了,如下图所示: 问题就来了,这个函数是怎么被调用的呢,目前来看是不可能执行这 2023-09-04 Reverse #Reverse
NPUCTF2020-你好sao啊 代码意思很明确,让我们输入一个33bytes的字符串,进行加密后,跟已知字符串相比较,如果相等就成功,否则失败。 因为windows上数据存储是小端存储,所以已知字符串的顺序需要手动调整,当然也可以动态调试之后直接从内存中复制过来。 1234567unsigned char ida_chars[] ={ 0x9E, 0x9B, 0x9C, 0xB5, 0xFE, 0x70, 0xD3 2023-09-04 Reverse #Reverse
GKCTF2021-QQQQT Exeinfo PE查看exe信息,发现是Enigma Virtual Box。这是啥玩意,网上搜索到了相关信息: Enigma Virtual Box是软件虚拟化工具,它可以将多个文件封装到应用程序主文件,从而制作成为单执行文件exe 也就是说这个exe文件是通过打包得到的,那么我们应该对其进行解包,工具下载链接如下: EnigmaVBUnpacker v0.59(Enigma Virtua 2023-09-04 Reverse #Reverse
QCTF2018-Xman-babymips 可以看到上述代码不同于汇编代码,是MIPS指令,不过好在IDA有相应的插件反汇编这种代码。 整个代码流程为:我们输入32bytes的字符串,先进行异或,然后比较前5bytes的字符是否相等,然后进入sub_4007F0函数。 将后27bytes字符串进行移位运算,然后再与字符串比较。 相应的逆向比较简单,代码如下: 12345678910111213141516171819202122232 2023-09-04 Reverse #Reverse
羊城杯2020-login 附件是个python编写的exe程序(从图标中就可以看出来),先运行一下,给出了字符串input somthing,然后尝试用IDA分析,可惜不行,shift+F12也找不到相应的字符串。 因为python代码要通过打包才能变成exe文件,所以借助浏览器搜索python编写的exe如何反编译py文件,找到了相应的文章: Python解包及反编译: PyInstaller Extractor+unc 2023-09-04 Reverse #Reverse
SWPU2019-ReverseMe 方法一IDA打开如下图所示(部分分析在图上): 基本可以确定,我们要让v16=0才是正确的,而能使v16=0有两条路径,第一条是伪代码中第89103行的 while 循环,第二条是伪代码中第105111行的if语句。显然,第二条路径是走不通的,因为不可能存在同时满足如下条件: 123v17 = v18 < *((_BYTE *)v13 + 1), v18 == *((_BYTE *)v13 2023-09-04 Reverse #Reverse
2019红帽杯-childRE 部分分析如图所示。第29行的sub_xxxx是个复杂的函数,尝试分析过。第33~34行的这两个函数是二叉树的后序遍历 且遍历的结果存储到name中。 之后比较关键的函数是UnDecorateSymbolName函数,这个函数在官方文档上有介绍,但不是很详细,于是问了问chatgpt: 12345678910111213141516171819202122232425262728好的,让我们以 2023-09-04 Reverse #Reverse
AOSP源码编译 下载AOSP源码根据中科大的来:AOSP 镜像使用帮助 — USTC Mirror Help 文档 这里我用的是第二种方法,虽然不推荐,但是必须得尝试一下。 首先是下载 repo 工具: 1234mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 2023-08-28 Android #环境配置 #AOSP