首页
论坛
课程
招聘
雪    币: 231
活跃值: 活跃值 (13)
能力值: ( LV9,RANK:245 )
在线值:
发帖
回帖
粉丝

[原创]第二题

2018-12-4 08:37 714

[原创]第二题

2018-12-4 08:37
714
逻辑比较清楚,静态链接了,需要重命名下库函数,主逻辑如下:


对于输入进行了变化,异或0x1f,,如下:

此处检查输入的是通过钩子来进行了,没有找到直接的引用,通过对全局变量input_buff进行xref,可以定位到检查的逻辑如下。

与结果进行对比,如下:

其中结果是invalid argument进行了变换,如下:

最终解密脚本如下:
a_string = "invalid argument"
a_string = a_string[:7] + "#" + a_string[8:]

def crypto(str_info, v):
	str_info_v = [chr(ord(c)^v) for c in str_info]
	return "".join(str_info_v)

final_str = "invalid argument"
mid_str = crypto(final_str, 0x1c)

orign_str = crypto(mid_str, 0x1f)
print orign_str

orign_str = orign_str[:7] + "A" + orign_str[8:]
print orign_str

结果:



HWS计划·2020安全精英夏令营来了!我们在华为松山湖欧洲小镇等你

最新回复 (0)
游客
登录 | 注册 方可回帖
返回