解密入门….必备基础知识

前言


很多人都想学习解密,这东西刚入门时会让人沉迷进去,可以饭不吃、觉不睡。出现这种现像,也许是解密满足了人们的猎奇心里吧。但掌握这方面技术,对自身的提高确实有好处。可以通过跟踪软件,提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序。研究解密技术有助于掌握一些系统底层知识,系统底层知识绝对是构造起大型软件的坚实基础。许多程序发展,都经历了这一锻炼过程的。 而大多数人可能认为解密是一门高深的学问。造成这种原因是以前这方面的技术资料缺乏,从而将“解密”这一技能“神”化了。初学者一般不知从何下手,由于没方向,花费了大量时间和精力,走了不少弯路。这里就给对这方面感兴趣的读者指明一个方向。


讨论前,先了解一下计算机中的程序。高级语言编写的程序,会编译成机器语言在CPU中执行,如Visual C++等。由于机器语言与汇编语言是一一对应的,因此就可将机器语言转化成汇编语言,这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流程,解析其功能了,这个过程就是解密(俗称破解)。也就是说,解密的基础是建立在汇编语言级别上的,因此想涉足这一领域的朋友,汇编语言一定得学好。汇编语言是大学计算机的必修课,这方面的书籍品种很多,虽然大多书本是以DOS汇编为讲解平台,但对理解汇编指令功能是没影响的。

建议:在学汇编前,最好先掌握一门高级语言编程,推荐是C语言,这样再学汇编应容易些

http://bbs.pediy.com/upload/bbs/faq/prg8086.jpg


汇编教学资源:



中山大学的教程,学习时一天看一级,一级看2-3次为好,并随时做好笔记。一月下来就会有效果的。学完后可以到

http://www.315safe.com/download/SmallClass.asp?BigClassid=92&SmallClassid=134&page=2 再巩固下汇编。


等汇编学好了,此时一般的破解文章己能看懂了,但为了水平提高的更快些,建议再掌握Win32编程。Win32程序设计就是API方式的Windows编程,学习Windows API将使您更深入地了解Windows工作方式。此类书籍有Charles Petzold著的《Windows程序设计》(以VC来讲解)。另一本是罗云彬著的《Windows环境下32位汇编语言程序设计》,它以MASM汇编为讲解平台。

http://bbs.pediy.com/upload/bbs/faq/Petzold.jpg




有了上面这些基础,你就能看懂论坛中的一些文章了,也能看懂《 加密与解密(第二版) 》这本书了。
http://bbs.pediy.com/upload/bbs/faq/jm2.gif


学习解密其实很累的,需花费大量的时间,而且经常会碰壁,三五天毫无进展是极为平常的事情。这时你可能有点想退却,其实你不要着急,只要你认真学习,成功就在眼前。没有人是生来就什么都会的,如果你有问题,就大胆的去问你周围的人。学解密的秘诀就是勤奋+执着!记住并能做到这两点,你会变得很优秀的。


等你解密入门后,建议再看看Matt Pietrek、Jeffrey Ritcher等大师的专著,这些书是每个程序员都应该阅读的:《Windows 95 System Programming Secrets》(中文译名《Windows 95 系靳程式设计大?秘》),《windows高级编程指南》,《Windows2000编程技术内幕》,《Win32系统编程