安洵杯 2023 RE 你见过蓝色的小鲸鱼吗 WP

2023-12-31 20:20:10

无壳32位

没什么头绪,用findcryto查一下

找一下位置

__CheckForDebuggerJustMyCode应该是个反调试,把它nop了

X查一下交叉引用,看看父级函数什么样

大概是获取了输入和长度,根据题目提示,IpString应该是账号,WindowTextLengthA应该是账号长度

猜测v4可能是密码,v8是密码长度,v2应该是内存地址之类的东西

37行进去

反调试函数nop掉

是一个判断函数,应该存在密文对比,猜测是前文获取了用户名,将用户名作为密钥blowfish加密了输入的密文,对比成功后输出正确

这里可以用动态调试把cmp过程中调取的用于对比的密文搞出来

调用cmp函数的位置下个断点

数据就在call前面压栈的寄存器内

取出来都补成两位

连起来就是密文 11A51F049550E2508F17E16CF1632B47

找个在线工具解密(CyberChef的密钥格式支持太少,很痛苦)

注意几个参数的设置

拼接一下 D0g3{UzBtZTBuZV9EMGczQHRoZWJsdWVmMXNo}

文章来源:https://blog.csdn.net/Pisces50002/article/details/135303049
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。