其他分享
首页 > 其他分享> > buu-CrackRTF

buu-CrackRTF

作者:互联网

exe文件,输错就直接退出
在这里插入图片描述
32位无壳
在这里插入图片描述
32位ida看main函数
有两段scanf和两段字符串
在这里插入图片描述
逐个分析:
(1)、
转为整数型后连接上@DBApp
sub_40100A()函数处理后于’6E32D0943418C2C33385BC35A1470250DD8923A9’比较
跟进函数
在这里插入图片描述

粉色的系统函数CryptCreateHash()
以0x8004u为标识码的hash的加密函数
官方文档里找到是sha1
在这里插入图片描述
借助python的hashlib模块可以得到第一串字符是123321

import hashlib
flag2='@DBApp'
for i in range(100000,999999):
     h2 = hashlib.sha1((str(i)+flag2).encode("utf-8"))
     flags = h2.hexdigest()
     if "6e32d0943418c2c33385bc35a1470250dd8923a9" == flags:
              print (str(i)+flag2)
              print(flags)

在这里插入图片描述

非预期

(2)、
第二次输入字符串后要加上之前得到的123321@DBApp
在这里插入图片描述
8003u为md5
在这里插入图片描述
可能做的人多了,网站倒是能解出来
在这里插入图片描述
~!3a@0123321@DBApp
输入两次密码后会得到一个.rtf文件,打开就是flag
在这里插入图片描述
预期解晚点补

标签:hashlib,sha1,CrackRTF,DBApp,buu,flags,flag2,函数
来源: https://blog.csdn.net/qaq517384/article/details/122833332