另一种做题方式。
前言:学习笔记。 例题学习,涨大知识。
深入刨析,学习。
常规什么的这次就不写了,这篇wp主要是用于学习,以及分析。
以资料,代码理解,编程思维、编程手法等为主。
重在分析学习,不以解题为目的。
关键代码:
第一部分:
跟进之后的部分内容:
标识符:(网上记录很少,不过还是发现了一篇。)
【
哈希加密算法的算法标识符-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com/article/1141803
】
思路:
① 已知输入的Destination字符是6位,且和@DBApp拼接之后,用atoi转换为纯数字长度大于10000。
② 将拼接之后的Destination 使用SHA-1加密 生成长度为40的哈希值:
6E32D0943418C2C33385BC35A1470250DD8923A9(记得转小写。)
在已知部分明文,以及知道Destination的范围(>=100000)情况下,进行爆破。得到明文。
那么使用脚本进行爆破。(python有众多库,学习python真的必不可少。)
脚本如下:
怎么使用 python haxhlib 可以看这个:我感觉还可以,我能看懂。
【
Python中hashlib模块详解-CSDN博客https://blog.csdn.net/weixin_42444693/article/details/104575153】
验证:
所以第一层密码:123321
第二部分:
sub_401019跟进如下:
试了一下,因为没有str的范围很难爆破。
接着往下看:
第三部分:
sub_40100F内容如下:
跟进如下:
先用ResourceHacker查看AAA:
在电脑中搜索.rtf后缀:
分析:
烧脑,或者说需要大胆去揣测。
a2 a3 的值不知道。
但告诉我们 AAA 以及 。dbapp.rtf
那么,我们假设其是a2 a3的值。
具体呢?因为第二层密码是6位字符。
我们取前6位去进行异或操作。
010 editor:
winhex:
ResourceHacker查看AAA:(上面有提。)
提取 编写脚本。(可以用C也可以python。)
验证:
OK,结束。
总结:
难点一:对SHA-1的爆破。
难点二:MD5没有条件无法爆破,只能根据上下文已知的信息进行大胆推测。
难度三:对于API的理解,以及参数信息的了解、翻译。
难点四:脑筋急转弯,对于AAA以及.rtf文件的异或操作。【确实想不到。】
总之,涨见识了。