考研的知识真无聊

算是无聊时候想水一篇吧。

我记得很清楚,在大一暑假的时候,我看了小甲鱼的od教程,从此踏上了一条不归路(

开学之后就参加了凝聚了招新,在招新宣讲会结束之后就放出了一个逆向题:复现招新演示时破解的福昕pdf转word的那个工具。当时也是啥都不懂,就开始瞎jb断各种 windows api,最后在 MessageBeep 的断点起了反应,当时就激动的说不出话。之后又是一顿瞎改各种条件跳转,终于实现了破解。那个时候好像已经是凌晨2点过了吧,兴奋的睡不着觉。

之后也是抄起od就开始怼其他的逆向题,但是od毕竟只能看汇编,一个ascii码相加的算法也是看了一个上午才能看出来。当然后面了解了ida这个工具,真的是感觉被f5拯救了。于是在整个大二,我基本上都是在依赖f5,可能一个逆向无法f5了之后,我就无法通过很有效的方法做出来。当时觉得似乎没有什么关系,比较当时大部分的逆向都能f5,都可以一眼看出算法。

真正让我意识到这个问题的还是去年(大概)的 sctf 的一个题,这个题总的算法是一个翻转二叉树,而且是静态编译的,很难辨认出各种库函数。虽然可以f5,但是我一直没有获得什么有效的进展。这个时候先河走过来就说我:你多调试一下嘛,不调怎么看的出来。于是和我一起打开了熟悉的od,看到一屏的汇编我就懵了,“哇,这都可以逆出算法的吗“。但是先河一步一步根据函数行为分析出了库函数,并且也慢慢的还原了整个树的结构,整个过程也没花几个小时。

慢慢的,我感受到了逆向果然不能只靠f5这种工具,不然没有办法得到提升。

那么逆向能力的提升是靠什么呢?我确实也说不清楚。但是一打开ida按完f5之后就什么都不做的,可能很难得到提升了(

之后想好好的再学习一下 windows,感觉自己对 windows 的了解实在是不够。还有一些工具,比如 pintools 之类的,感觉真的很强大。像 angr 这样的符号执行工具果然还是只能应付少部分的情况。

嗯,感觉也就这么多了,写完之后感觉也能继续复习考研数学了。