BUUCTF–findKey
IDA打开,发现没有直接找到加密函数,通过字符串查找**flag{}**找到函数,发现没有转换成函数,选中区域,通过p键转换成函数。
将0kkd1a55k222k2a776jbfgd`06cjjb给了str,SS给了v13,sub_401005函数发现是一个异或,那就是str和v13异或,下面一个if判断String1和Str是否相等。回过头去找String1在哪里出现过,发现上面的sub_40101E对String1进行了加密
API CryptCreateHash,0x8003u可以知道是MD5
接下来unk_423030给v12,与原来的String1异或
第一个过程,使用0kkd1a55k222k2a776jbfgd`06cjjb和SS异或,得到c8837b23ff8aaa8a2dde915473ce0991,md5解密得到String1=123321
1 | # -*- coding:utf-8 -*- |