【WP】MOCTF-逆向-writeup(下)

时光总嘲笑我的痴心妄想 提交于 2021-02-15 06:31:56


 MOCTF 逆向题 writeup 


moctf平台:

http://www.moctf.com/challenges


后两道题的 writeup,写完后就安心去做 160个crackme了,嗯,感觉通过前几个进步还挺大的


moctf 逆向第四题:crackme1


打开后啥都不要求输入,出现一串字符,说是 flag,但是每次打开都不一样


载入 OD,通过字符串找到


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


找到算法部分,算法:

  1.  逐个取定义好的“2410488”

  2. 乘以 2 后减去 60 (十六进制)

  3. 除以 4 之后加上 3

  4. 对 10 取余,得到结果


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


写出脚本,跑出 flag:4533577


flag:moctf{4533577}


moctf 逆向第五题:crackme2


通过字符串定位获取输入的位置


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


步入加密 CALL,分析算法:

  1.  依次取输入的字符串

  2. 从6开始,与输入的字符串进行异或

  3. 异或结果与定义好的字符串进行比较


红框圈出来的是定义好的字符串

0<1<>;?8:%w!##&#q./,x(,((


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


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


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


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


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


77486572655f30735f666c4167

wHere_0s_flAg

所以 falg 是:moctf{wHere_0s_flAg}


呼~结束了,老老实实再学那 160 个 crackme 吧


本文分享自微信公众号 - 陈冠男的游戏人生(CGN-115)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!