CrackRTF

拿到这个题的时候,首先看了看,第一个反应就是动态调式一下。看能不能把程序运行下去,满足所有条件看看,但是中间有一个错误

1
401492: The instruction at 0x401492 referenced memory at 0x42F260. The memory could not be written -> 0042F260 (exc.code c0000005, tid 10132)

401492:0x401492的指令在0x42F260引用内存。无法写入内存 -> 0042F260(exc.code c0000005,tid 10132)

啊?内存写入….不是很懂耶,反正就是我太垃圾弄不出来。

image-20230615232545910

这里点过去,看不懂没关系,查一下

image-20230615232732462

image-20230615232821576

很容易就得知了,这个是一个sha1加密

这里想着解密一下….但是貌似解密不出来

image-20230615225326743

这里https://blog.csdn.net/qq_42967398/article/details/96492843

看了他才知道 这个比较厉害

1
2
3
4
5
6
7
8
9
10
11
import hashlib

flag = "@DBApp"

for i in range(100000,999999):
s = str(i)+flag
x = hashlib.sha1(s.encode())
cnt = x.hexdigest()
if "6e32d0943418c2c33385bc35a1470250dd8923a9" in cnt:
print(cnt)
print(str(i)+flag)

image-20230615233748236

image-20231012135527900