近期做过的一些题目
学业&机器人挺忙的,逆向做一题就很耗时间,实在是不太有时间认真做题,准备直接找一堆wp复现一遍
湖湘杯 Hideit Hideit
进程序大致能找到这个函数
能看出是向进程内存注入了一个函数,然后根据内存地址调用该函数,断点进入函数,一直跟进去,会发现TestEv1l.dll已注入,具体注入流程尚未分析。
找到加密函数,开头有个修改注册表函数,隐藏了key
进一步分析发现先做了一次xxtea,需要令v12这个输入值正确,成功进入if后再进行一次加密,然后最后再判断是否一致
xtea解密,解密得到第一个密匙为dotitsit
1 |
|
用findcrypt插件提示为salsa20加密,一直尝试无果,最后发现了是chacha20,编写脚本即可
最后的解密脚本:(怎么看出nonce就是dotitist我忘了,大致是动调的结果)
1 | from Crypto.Cipher import ChaCha20 |
得到flag{F1NDM3_4f73r_7H3_5h3LLC0D3}
强网拟态 babyre babyre
其实题目挺简单,我硬是没看出这只是个查表法的aes解密,其余啥都没做。
扔进ida能大致发现应该是个upx,脱壳后进行分析。
强网拟态 babytms babytms
已经搭建好动调环境,有空学习一波arm指令然后复现一次。
MBCrackme MBCrackme
crazyman大佬发的题目,一个exe里就有三题,废物我只做了第一题,主要是思路挺有意思的。.net题目
按下第一个检查密码按钮进入button1_click函数,可见输入的密码作为密匙解密resources文件,然后将所得到的字节保存并执行。
解密过程为将resource图片的像素点的颜色值提取出来,然后循环取每位密码的字节作异或
先将异或前的值提取出来,然后由于最后生成的程序需要执行,不妨假设最后解密后的数据开头是pe的文件头,所以用pe头做密匙异或即可
1 | #上文b的值 |
最后得到level2.exe