NCTF2025 reverse WP
EZDOS处理花指令不说了。输入flag,并判断长度0x26:接着是循环压栈,然后弹栈,看比较是0x100,这个长度可以留心一下中间的操作(逻辑看起来很多,还有几个函数调用),那就先不看,往下找有没有类似right,congratulation的东西。往下翻找到关键词,这里有比较,上方给了比较的地址,一个是输出的密文,一个是输入:对应地址找到密文:返回去看中间的操作逻辑,先看哪里调用了这个“输出正确”的函数,发现了异或和一些交换赋值:嗯……256,交换赋值,疑似RC4。往上看验证猜想,看看有没有key,发现了设置的地方(其实在取密文的时候也注意到了密文上方特殊的字符串):中间看了一下其他的逻辑,call 函数都是用来混淆视听的,核心逻辑只有rc4,上面256的弹栈改了Sbox,这里用dosbox直接动调到最后rc4异或的地方,取出异或值。异或就有了flag:异或:32 7d 59 7a f3 0d b3 7b 64 8c eb 28 c4 a4 50 30 a0 ed 27 6a e3 76 69 0c da 28 f8 08 ba a6 17 3e 12 59 45 06...
buu page5 [SUCTF2019]Akira Homework
查壳不说了,ida开64位,进入main,里面已经手动改了一些函数名字进入func1看一下好了都看不明白,上动调。这个时候习惯看一下导出,发现tls知识点搜搜就知道了,直接改一下执行流跳转绕过就行 有虚函数表能发现三个虚函数:其中一个的密钥脚本解出,另外两个题目告诉我们了,106和0 12345678910111213data1=[0x11, 0x45, 0x14, 0x49, 0x86, 0x64, 0x40, 0x50, 0x60, 0xC1, 0x39, 0x2D, 0x00, 0x00, 0x00, 0x00]str=[0x2F, 0x1F, 0x20, 0x2E, 0x34, 0x04, 0x37, 0x2D, 0x10, 0x39, 0x7C, 0x22, 0x7B, 0x75, 0x0A, 0x38, 0x39, 0x21,0,0,0]for i in range(0x13): str[i]^=data1[1]v5=[1,5,4,2,3,0]data=[0]*25for i in range(0x12): data[6 * (i // 6) +...
buu page3-page5 reverse部分题目知识点索引
本章背景:源自笔者入门时想要但没找到的东西入门了一小段时间后的总结,供初学者针对性刷题持续更新ingpage3 [SCTF2019]babyre:花指令/迷宫/base64/异或+位运算 [FlareOn2]very_success:ida动调/异或+位运算 [SCTF2019]Strange apk:apk动态解密/dexdump/d8合并dex/base64 [2019红帽杯]Snake:unity/dll动态链接库/dll调用爆破 [GWCTF 2019]babyvm: [安洵杯 2019]game:数独/deflat去混淆/位运算 [SUCTF2018]babyre:迷宫/base64/仿写逻辑位运算/分组参与循环 [BSidesSF2019]blink:apk/base图片加密 [网鼎杯 2020...
about me
devote to learning Reverse Engineeringthe member of UKY欢迎来到大鹅的博客!!