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
预期解晚点补