normal系列
normal 18
因为没有users的密钥,谷歌了一下,是BUUCTF的crackMe
题目描述:小张从网上下载到一个黑客软件,然而开发者并不打算共享,所以小张注册了一个用户名叫welcomebeijing,但是密码需要进行逆向计算,请求出密码,进行MD5的32位小写哈希,进行提交。 注意:得到的 flag 请包上 flag{} 提交
整体逻辑

一些函数已经被我重新命名了
进入init看看

类似rc4的s状态向量初始化
success_or_not里面存放的是成功或者失败的状态
而encode里面装的就是rc4的加密了吧
encode内部(上半)
这个是hexstring,转byte,因为要求输入是md5,32位捏
encode下半

encode1是什么捏
进来看看

似乎是个程序启动自检的反调试第一 部分是直接返回值
第二部分是进行异或,不过似乎不影响
compare内部

这个rc4可以不用解,越过反调试直接获取每次sbox异或的值就行
但是直接动调得出的结果不正确
因为有反调试
nop掉跳转就行
然后提取出数据
0x2A, 0xD7, 0x92, 0xE9, 0x53, 0xE2, 0xC4, 0xCD
1 | s='dbappsec' |
4eb5f3992391a1ae
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 kiki的博客!
