【WP】MOCTF-逆向-writeup(下)
- 2020 年 1 月 2 日
- 笔记
MOCTF 逆向题 writeup
moctf平台:
http://www.moctf.com/challenges
后两道题的 writeup,写完后就安心去做 160个crackme了,嗯,感觉通过前几个进步还挺大的
moctf 逆向第四题:crackme1
打开后啥都不要求输入,出现一串字符,说是 flag,但是每次打开都不一样

载入 OD,通过字符串找到

但是因为不知道该怎么分析,干脆直接段首下断,然后单步跟踪

找到算法部分,算法:
- 逐个取定义好的“2410488”
- 乘以 2 后减去 60 (十六进制)
- 除以 4 之后加上 3
- 对 10 取余,得到结果

在刚开始一直不知道这里的数是怎么出来的,在心里把[edx+edx-0x60]当作一个地址了,后来发现,这他妈的不是存放的刚赋值的字符嘛!!

写出脚本,跑出 flag:4533577

flag:moctf{4533577}
moctf 逆向第五题:crackme2
通过字符串定位获取输入的位置

然后按步跟踪找到加密函数

步入加密 CALL,分析算法:
- 依次取输入的字符串
- 从6开始,与输入的字符串进行异或
- 异或结果与定义好的字符串进行比较

红框圈出来的是定义好的字符串
0<1<>;?8:%w!##&#q./,x(,((

下面的那个 CALL 是进行对比的

可以看到我们输入的进行加密后是 7F,而规定的应该是31

写出脚本跑出应该输入的字符串

输入正确的后在进行测试,nice !!!

然而,这并不是 flag,需要将它转换成字符串形式

77486572655f30735f666c4167
wHere_0s_flAg
所以 falg 是:moctf{wHere_0s_flAg}
呼~结束了,老老实实再学那 160 个 crackme 吧
