逆向刷题篇
文章平均质量分 76
逆向刷题篇
Brinmon
这个作者很懒,什么都没留下…
展开
-
BUU-Reveser-XMAN2018排位赛_easywasm(WebAssembly逆向分析)
合理猜测一下第一次的md5加密到的二次的md5加密之间的代码是在进行赋值操作,将第一次加密的md5值放入64的位置!加密算法就是:将我们输入的32个字节每个提取出来拼接上一个字符串进行md5加密产生一个16进制的字符串值,再将这个字符串进行md5加密继续产出16进制的字符串值,与目标值进行对比!而且我们的程序使用的暂存变量地址都是0,所以前面的地址内存数据会被破坏,所以我们的数据就被损坏了memcmp函数对比的两个数据!第二条加密规则:读取第一次md5加密产生的16进制字符的md5值进行再次md5!原创 2024-05-26 22:55:53 · 1189 阅读 · 0 评论 -
BUU刷题-Reveser-FlareOn5_Web2.0(WebAssembly逆向分析)
这个题型要求我们通过浏览器网址传参数‘q’所以我们要先搭建一下本地服务器用来动态调试!发现如果flag的字符正确就会在这里断下,所以要慢慢的试,我也不会所以本题跳过QAQ。接下来就是网页地址传参了!访问:传入参数“this_is_a_test”在自己的题目目录下开启服务端口再去访问地址试试!访问这个网址发现会自动打开html网页!进入里面执行的web汇编代码!原创 2024-05-26 22:53:08 · 609 阅读 · 0 评论 -
DASCTFXGFCTF2024 四月Re-unwind(SEH混淆逻辑)
调用链是:CMP_411348-》411c20(被hook)-》jmp 4110e6-》jmp 412000。可以清晰的发现这个函数是xtea加密!由之前的分析可知这个xtea加密会被调用两次!通过ida的动态的调试和xdbg的动态调试我们就可以得到真实的调用流程!发现这里会hook掉CMP_411348函数!发现主逻辑,先经过xxtea加密。解密脚本也就出来了!原创 2024-05-25 23:50:27 · 772 阅读 · 0 评论 -
DASCTFXGFCTF2024四月Re-ezVM(ida调试dll文件)
动态调试就会发现原dll文件被改为check1.dll,然后将data解密成正真的dll!发现关键数据:178是判断tar是否为0,176是对tar进行修改。添加输出发现其实就算个简单的多元一次方程,直接上z3就好了!直接叫chatgpt将c转为python,再改改就好了!里面还有一些加减乘除运算,还发现177是多余的!成功解密接下来就是调试解密出来的dll了!所以直接dll动态调试提取数据!直接上chatgpt,问代码!发现是一个超级简单的异或加密!更改一下启动文件就好了!下面是完整的揭秘脚本!原创 2024-05-25 23:47:19 · 342 阅读 · 0 评论 -
CISCN 2021初赛 little evil(Ruby+解释性语言混淆+侧信道攻击)
[[ruby语言逆向]] 用Ruby packer打包的ruby程序[侧信道爆破](侧信道爆破.md)[subprocess库pyhon的使用](subprocess库pyhon的使用.md)[VM逆向(虚拟机逆向 or 代码解释器逆向)](VM逆向(虚拟机逆向%20or%20代码解释器逆向).md)[解释性语言代码混淆](解释性语言代码混淆.md) 使用自己加密自己,运行时再自己解析自己这个VM其实是[Brainfuck解释器](Brainfuck解释器.md)原创 2024-05-17 19:50:10 · 2084 阅读 · 0 评论 -
攻防世界-RE-icekey(DnSpy的使用.NET程序反汇编)
最后在byte的内存中查看结果:5acb06231724c8c369bae711166dbe85。所以将array修改为string b的值,我们就可以直接获得flag的值!所以解密的时候需要替换掉array的值才可以获得解密后的flag!直接获取"iriszero"字符串的md5值作为key的值!进行比较正确输出true,错误输出false!首先找到程序入口点,再找到main函数!点击闪烁的光标后直接粘贴数据即可![[dnSpy的使用()]]原创 2024-05-20 01:01:15 · 389 阅读 · 0 评论