CrackRTF
CrackRTF

函数atoi将输入的字符串化为整型,同时限定了v7为长度为6的字符串,因此我门可以尝试爆破,sub_401230有标识符0x8004u,判断为sha1
1 | import hashlib |
123321@DBApp
passwd(2)只限定了输入的长度,有 95^6种可能 (可见字符),显然无法直接爆破。

在sub_4014D0我们发现了
hResInfo = FindResourceA(0, (LPCSTR)0x65, "AAA");
- 0,资源在与当前进程关联的可执行文件
- 0x65,资源的名称。
int(0x65)=101 - “AAA”,资源类型
- 返回资源的句柄
用ResourceHacker打开exe文件

将字符串与str进行循环异或

紧接着创建了一个rtf文件,将异或后的字符串写入
刚开始不是很理解,在看了师傅的wp后。如果要让此rtf文件可用,那么文件头必须是特定格式

rtf文件头为`{\rtf1,我们只需求出str前六个字符即可
1 | head='{\\rtf1' |
输出~!3a@0

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Randolfluo's blog!











