【转】逆向入门?别再看内些所谓从入门到高手的教程了

Verify  2019.10.13 

 

很多人学习逆向会找一些,网上的视频,笔者也接触过一些这样的视频,当时看到那无比诱人的标题,忍不住下载了一些视频。

草率的浏览了一下,所有的视频中大概包含以下内容:

C/C++,汇编,OD软件使用,CE软件使用,游戏外挂编写。

而这些内容视频中会让你在1到2个月内掌握。

??1到2个月???,C/C++都搞不定,却可以学会编写游戏外挂???

笔者抽取了几个视频看了下,每个内容讲的都很草率,准确的说应该是过于草率,后面的确讲到了所谓的外挂,其中2D的游戏,就是无脑找CALL,3D游戏找坐标,找CALL,可能看完视频的人只记得CALL这条指令了。

世界上也许有很多事情有捷径,但是逆向一定不包含在内。

 

笔者作为过来人,总结了下学习路线,但过于枯燥,可能一两个月,甚至两三个月,都在和黑窗口打交道,但绝对高效。

文末有书籍推荐。

Go:

C语言是很好的入手点,C语言的难点并不在于它的语法,而在于对地址的理解,也就是说最重要的点,在指针的那一章,对于初学者而言,这章很重要,如果你觉得很难理解,即使浪费3、4天去学习,也是值得的。

-------->分割线

接下来我们去学习汇编吧,不要觉得有点急,这刚刚好,在学习的过程中,除了指令以外,更重要的是对堆栈的理解,函数调用的过程,堆栈的分配与释放。

-------->分割线

 

是时候入手C++了,学习的时候不要想着精通这门语言,作为一个初学者,想精通,那花费的时间的代价可太大了,着重学一些新的语法就好了,像class必须要着重理解,派生,继承等等。

笔者建议学习的过程中使用微软自家的编译器,Visual Studio xxxx,注意笔者说的可不是Visual Studio Code。

在学习C++之前已经学习汇编指令,那么在学习C++的过程中,每学习一章新的内容,在学习中写的代码,跑完之后,可以对照一下汇编代码,vs中自带这项功能,看一下C++代码是怎么转换成汇编代码的,刚刚开始时,对比代码可能比学习C++的时间还要长,记住,坚持。

-------->分割线

是时候告别黑窗口了,我们来聊聊win32吧,win32是一些函数库,微软自家的,就像strcmp一样的函数,只不过win32里面的函数用来显示窗口的。如果你有兴趣可以写一些小东西,兴趣不大也要搞懂大部分API(函数),像文件类,窗口类这些相关函数必须掌握。

-------->分割线

现在你已经入门70%了,可以做一些小的破解了,你可能觉得有些无从下手,这不怪你,因为你需要一款软件,OllyDebug(OD)或者x64dbg,这两款软件的基本使用并不困难,百度一大把文章。

用我们学习的win32技术,来写一个简单的密码登录程序,像下图这种。

 

写好之后拖进OD,下断GetWindowTextW函数,当你点击对比的时候OD就会断下来,F8走几次,你就看到关键的跳转指令了。

觉得不过瘾?百度下载一些crack me,拿回来练手,别忘了,学习还没结束哦。

-------->分割线

最重要的一步来了,《PE》,这里推荐看《Windows PE权威指南》这本书,找不到更好的推荐了,比较旧的一本书了,淘宝上应该有盗版,读完它,你就可以搞定很多Hook了,脱壳必看书籍。

-------->分割线<--------

你以为结束了?并没有,只不过接下来你需要战斗一些时日,你需要看一些crackme的文章,并实践,别停下来。

后面的学习,在实践的过程中你会知道自己欠缺的是什么,该学习的是什么,也就不需要别人来指导了。

end ?? no end !

别再想着走捷径了,加油!

在这过程中,笔者不建议观看视频教程,会拖进度,在上述学习结束后,笔者推荐几本书:

《C++ 反汇编解密》

《加密与解密 第四版》

《Windows内核安全与驱动开发》 可选读。

 

文章转自简书,原文链接:https://www.jianshu.com/p/f4a800a56f06

posted @ 2020-03-06 17:39  碧水青鱼  阅读(691)  评论(0编辑  收藏  举报