一、题干
二、分析
1.查
下载附件后,解压,是一个exe文件。查壳,无壳;32位,用c写的。
2.解
丢进ida32,F5反编译,主体代码分析如下
需要注意的是,被定义的转字符方式"asc_408044",其中%x是一个转换说明符,用于将整数值转换为十六进制字符串。也就是v9中的每个字符都会被转换为16进制。
三、解答
经分析,我们知道要使v10与v13相等,需要对v13进行逆16进制的转换,使用python脚本即
a='437261636b4d654a757374466f7246756e'
b=''
i = 0
while(i<len(a)): #i小于字符串a的长度
b += chr(int(a[i:i+2],16)) #a[i:i+2]是对a进行切片操作,且取两个字符
#int( ,16)是将前者作为16进制转化为整数
#chr() 是将int转化的整数转为字符串
i += 2
print(b)
运行后得到
CrackMeJustForFun