学习一下nullbook上的逆向题😊
reverse
babyconst (md5加密)
ida分析:
用findcrypt查看算法特征码,没有识别
跟进sub_40085B函数,发现有md5算法特征码
以及md5的加密算法
最后对比的也就是unk_603080数组了
shift+e提取数组,然后放在pycharm里面替换一下双引号,使十六进制数变成字符
1 | encode = [ "39", "6D", "F0", "D2", "42", "41", "F8", "02", "16", "7A", \ |
推荐pmd5网站,cmd5一块一条……
babyalgo (RC4加密)
跟进sub_400874加密函数,可以看出加密方法是RC4,”Nu1Lctf233”是密钥
在这两个函数中都出现了sub_400646函数,等价于swap()函数
写个idapython的脚本,提取出加密后的数组
1 | start_addr = 0x400925 |
刚开始发现出错了,到后面发现,ida里面的v8[39]没有给出……
只能猜测,v8[39]的数字,随便带入了个0x40,离答案很近了
后面猜测为0,放到cyberchef里面,对了……
下面是写的垃圾脚本……
1 | arr = [198, 33, 202, 191, 81, 67, 55, 49, 117, 228, 142, 192, 84, 111, 143, 238, 248, 90, 162, 193, 235, 165, 52, 109, 113, 85, 8, 7, 178, 168, 47, 244, 81, 142, 12, 204, 51, 83, 49, 0, 64, 214, 202, 236, 212] |
BabyLib
65537看起来有点像rsa
1 | from Crypto.Util.number import * |