reverse-[GWCTF 2019]re3-AES加密
情景再现
下载先查壳 然后运行一下
没啥好看的 拖入ida64分析
然后也打不开 F5 然后space看下汇编窗口
显然有问题 需要修复 这儿用到了idc脚本执行
不懂去Google 不多赘述了
从开始的地址按D 转化为data
shift + F2 打开 内置脚本命令行
执行脚本Run
1 | #include <idc.idc> |
然后
依次按c (机器语言变汇编) p(创建函数)
这个call成功修复了
跟入40207B (双击603170发现没有值 应该是个关键值)
跟进401CF9
跟进call 笔者没看懂 后来了解是MD5加密
这是MD5特征码
(603120是个标准base64表)
看不懂我们就分析外面这个call
这样看着好一些 -
所以我们可以直接动调得到上文提到的603170的值
这个值就是这个call的意义所在
不会动调的去Google 或者去看我怕前面的文章
这儿就不赘述了
1 | 603170- |
跟进这儿个关键call
经过分析这几个call 发现是AES加密
然后把MD5后的值传入作为AES的key
得到6030A0这个数组
提取这个
1 | 6030A0- |
然后 有cipher 有key
贴exp
1 | from Crypto.Cipher import AES |
提交一下 过啦
Orz
总结
今天你 RE 了嘛
这道题 学习到了 ida中怎么运行idc解密脚本(smc)
然后就是AES动调key and cipher
得出flag
好的 本期结束
感谢观看
Orz
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 摘星阁!