如何成为一名黑客本文章来源于网络

声明:本文章来源于网络必备设备:台式机一个,某鱼老电脑几十块,奔四都可以,能装win就行必备软件:虚拟机(VM、VB均可)、VS(写代码)、NASM、HexEditorNeo(二进制编辑器)、DiskGenius(写磁盘用的),其他的暂时想不起来,用到再说吧哈哈哈必买书籍:x86汇编语言-从实模式到保护模式、鸟哥Linux、Windows程序设计、C++反汇编与逆向工程、谢希仁计算机网络、颈椎康复指南(滑稽)参考书籍(图书馆):Intel微处理全家桶系列(很多本)、30天自制操作系统(绿皮黑猫,估计小图书馆没有)、VS高级编程、Windows程序设计第五版(珍藏版,网上很难买到了)、程序怎么跑起来的(日本人写的小书)基本素养:存储器非0即1的概念、段页以及偏移量的概念、总线和地址的理解、高级语言面向内存的思想、汇编面向寄存器的思想这里又忍不住罗嗦几句哈哈哈,关于VS的用法一定要会,但是不用深究,大体需要掌握sln、vcxproj等文件和工程目录的关系,怎么编译链接的,include、lib、dll目录怎么配的,debug和release啥区别关于Linux的学习,vim是超级重点,啥都不学这个也要学会了关于od和idapro,大家先别着急用,学出水平了再做逆向也不迟关于其他编程语言如java也是可以的但是不推荐,java更适合做网络编程,答主本人就经常用java写爬虫,其实java用起来确实方便不少,但是越高级的语言越容易让人停留在表层,很难深究,如果想要成为黑客建议还是以C语言为主关于C++,虽说也是直接底层,但是面向对象的底层太复杂,也不太适合初学者关于数学,黑客说实话如果不搞密码学和散列运算,对数学没有太高要求,主要还要把功夫放在二进制的运算原理,还有逻辑运算上高数线代适用于搞工程和科研,但是这些知识多数是黑客用不到的哈哈,很多黑客都没读过大学这点是可以证明的虽说数学要求不高,但是我以上说的这些,也够你折腾了,这知识量不差于考研,确实如大家所说没个几年功夫真啃不下来还有一点很重要啊,如果你是装X向哈哈哈(你懂的),没必要那么深入,学学win编程和基本dos命令就可以啦,但是也是要有基础的写本文的原则是纯干货,无吹逼,不贴术语不贴外网,另外有什么不足的还请各位指出一下,欢迎大家共同探讨。前言本人不善配图,还请见谅哈哈曾几何时,我室友曾经为了成为黑客,头悬梁锥刺股,将C++学到92分你以为这样就能成为黑客了吗,红红火火恍恍惚惚如果学一个C++就能成为黑客,那张小龙、吴翰青这样的大佬究竟比我们牛批在哪呢,难不成是他们C++考了分?计算机和化学很像,想要成为高手,就必须深究其原理,得底层者得黑客也何谓底层?我问你几个简单小问题:为什么内存大小是4G、8G、16G倍数增长?你调用的printf函数在哪里,为什么我写不出这样的函数操作系统怎么就启动了,我写的C++程序为什么开机就启动不了鼠标怎么移动的,键盘怎么输入的,盗号木马怎么实现的我曾经也有一种感觉,每一个小白,都有在计算机世界里掌控雷电的梦想哈哈计算机世界就像洋葱,如果你愿意一层一层剥开我的心,你会发现,你会讶异……扯远了总之,在这个领域,底层才是王道,C++只是一个工具而已记得一个笑话里面这样说,几个程序员去面试,被问2的30次方怎么算沙雕程序员:2*2*2*2……正常程序员:循环高级程序员:调函数黑客:知识体系记得自己导师说过如此一句话,安全方向不适合做学术钻研,只适合去企业工作,这句话其实暗含了一个意思——想当黑客,没有实践,不可能成功。总结的成长路线应该是:拆电脑C语言汇编80X86原理,操作系统,计组原理单片机略懂Windows编程(基本成型)计网网络编程反编译(以下开始进阶,无先后)脚本Linux单片机注册表通信……拆电脑想学好计算机,光看课本是不够的,没拆过电脑就想说自己精通,就好像你是个医学博士却没有临床经验我之所以把这个放在 的位置,就是想说如此,有条件一定要亲自试着拆装电脑,不然永远是纸上谈兵试着认识硬盘、内存、CPU、主板、显卡等硬件,对这些东西有个最基本的认识然后学着去装系统,会做启动盘,会用大白菜,会装驱动,还要会破解win(滑稽)另外多说一句,新手小白注意区分32位和64位系统别装错了C语言很多同学大学期间学过这门课,包括很多非CS专业,相信大家都有基础,没有基础的一定要硬着头皮学,初学者难啃的一块硬骨头,网上视频也是一大堆,这里不再赘述但是这里并不需要特别精通,只要照着葫芦画瓢就可以,因为有很多东西这里你可能是无法理解的,比如为什么数组长度不能变,堆栈是什么等问题,后面才能明白汇编也是有点难度,但是不需要很深入,试着写出HelloWorld即可,或者试着把曾经写的C语言程序,按照汇编的语法翻译一遍学习软件用自带虚拟机的MASM,或者用NASM写一个程序然后放在VirtualBox运行,不推荐用VS下的_ASM语法,由于Windows地址保护等原因,很多显存操作之类的代码并不能运行需要注意的是,看到王爽老师那本书,有些同学并不清楚实模式的问题,所以我对于初学者的建议是,只需要搞明白显存用法,寄存器的用法,分支循环如何实现,然后实际操练即可其实我这里比较推荐这本书,《x86汇编语言——从实模式到保护模式》,这本书讲得很详细,自己照着研究就行了。操作系统工作原理计组原理这几个知识点没有先后之分,一定要综合着看,因为他们之间是交叉的,并不能在实践上单独成为知识体系走到这里,才算真正开始了解计算机,但是要学起来也是很不容易,因为要整理很多思路,建议整理个笔记本这里入门可以看日本人写的一本小书《程序怎么跑起来的》,这本书我本人一上午就看完了,新手看顶多两天吧,为节约资金大家其实没必要买,可以去书店白嫖的哈哈CPU的功能,通常和操作系统是关联的,如ring权限级,保护模式,南北桥功能,内存分页, 访存等等,这里寄存器的功能是和上文说到的汇编相关联的计组要明白,二进制运算原理,CPU怎么实现控制周边硬件的,数据怎么写到内存的,磁盘怎么访问,磁盘结构图,扇区是什么,柱面是什么等等,还有很多计组书上没写的,比如系统启动过程,MBR等,这些都是相当重要的内容操作系统是基于CPU来说的,本科教材汤的版本,学术型书籍,讲得太抽象,并没有落到实处,对于初学者不太友好,推荐一本日本人写的书,《30天自制操作系统》,名字起得有点像地摊货,但内容 是实打实的好书另外,强烈推荐另一本书,鸟哥Linux,这本书前几章在讲计算机的基本结构,讲得非常浅显易懂,汉语教材能有讲得如此 的屈指可数了关于计组的书,实际上本科CS专业课教材中,我只推荐看谢希仁计网,还有严奶奶的数据结构,其他书讲得比较生涩,尤其是唐朔飞那本计组,讲得没什么问题,但是学术型书籍嘛,对初学者那是相当的不太友好,这里不讨论书的好坏和深入程度,我们只希望能快速入门就行即可,如果你是为了考试目的请忽略计组适合实践的书,推荐《Intel微处理器结构编程与接口》(名字略长),操作系统看《深入解析Windows操作系统》,现在应该 到第6版有中文,还有本比较好的《现代操作系统》,另外有本高大全的书,叫《操作系统精髓与设计原理》,各种系统都讲了一遍,但是实际上上文提到的《从实模式到保护模式》就是一本很不错的书另外这里还比较推荐看一些考研论坛的书,某道某勤都可以,虽说是考研书,但是讲得非常基础生动,例子也很丰富,还有一些机械工业出版社的翻译书,网上很多人推荐,多数书写的比较前沿和深入,适合深究,但个人感觉并不适合入门者看单片机略懂这个“略懂”要到什么程度?你要知道鼠标是怎么和CPU交互的,控制总线和中断系统怎么工作,等等问题,在计组里讲得比较生涩,在这里就能得到回答因为前面计组里面提到了,三大总线各是多少位的,那个有什么用?很少有同学明白,在单片机里面可以为你解决 一点疑惑此外,如果想做游戏,如OpenGL中关于VAO写入显存的问题,ShadingLanguage如何执行等,也是在这里有所体现总之,这里只需要知道原理,不需要熟练开发,不要耗费太多精力!Windows编程这是重头戏,是重点,是重中之重!!!这里和前面的操作系统还有CPU运行原理都是直接挂钩的,前面所有的工作,都是为这一步做铺垫的,直观点说,就是你的C++程序中包含了一个叫windows.h的头文件,然后你就发现,你的程序再也不是黑窗口了哈哈(你先暂时这么理解)这才是从菜鸟走向大佬的关键一步,一定要好好学,写个简单的小病*小外挂实践一下还是不成问题的,病*木马啥的可以试着在老系统如XP上运行一下,或者开个虚拟机(注意写个32位的)必须极其熟练掌握进程编程、DLL写法等,其实到这里,黑客常用的函数都逐渐浮出水面,如进程操作里的WriteMemory等,学到这里你会相当有成就感走到这里,你才会发现,之前学的C++有多肤浅哈哈,原来这才是真正的编程呢说到这里也推荐两本书,一本是常见的Windows程序设计第三版蓝皮书,讲得比较通俗,但是内容有点省略,也比较老,导致很多地方你看不太懂原理,不懂的地方一定要好好查资料还有一本是Windows编程典藏版,微软官方出的,高大全,但是已经绝版了,建议有条件搞一份看看,电子版也可以现在在售的Windows编程第6版则是用的C#,主要侧重于应用开发,建议不要买第五版的内核编程讲得太深入,不适合入门教学视频方面,现在网上培训机构的网课基本都可以,大同小异,都不错,我起初看的大内的视频,后来又看了黑马,说实话老师讲得水平都不错,但是很多知识扣得太细,建议跳着看实话实说,这方面的中文书籍,真的没看到有什么太好的入门书,多数都是些老书,要么文案高屋建瓴,要么内容老套生硬,适合初学者的很少初学者可能遇到的问题:字符编码集问题上来就能搞晕一群同学,这个一定要啃明白各种API函数,参数十多个,确实不好记,建议 准备个笔记本各种宏定义,和你以前学的C++数据类型不太一样,举个例子,DWORD=usignedint,在不同的平台上,这些数据类型的叫法都很多,一定要理解消息循环,这个相对来说还算简单一些,建议自己画图研究一下GDI和MFC酌情考虑,写木马用到,现在图形开发一般用QT,更方便一些,如果还嫌麻烦,VS可以直接生成基本窗口代码,傻瓜操作VS一定要会用,要超级熟练类比于Windows,Linux编程也是同理,熟练GCC或Clang,也是需要有编译原理基础,这里只讲入门其他Linux不得不学,DOS命令不得不学,想成为像电影里演的那种黑客,这两种命令尤其要学会,而且这两种命令在很多地方是相通的Linux照着鸟哥那本书学即可,讲得非常好,边看边实践,应该是没有什么难点,另外书里推荐用CentOS,我个人感觉Ubuntu更有感觉哈哈,喜好因人而异,装个虚拟机,建议VirtualBox免费的,网上教程也是一大堆,不会装的同学自行百度这里插一嘴,对于新手,你只需要知道,CentOS下的yum命令,在Ubuntu中替换为apt-get,其他都大同小异然后就是计网了,这个 也是超级重点,前面都在讲如何黑自己的电脑,学了网络编程后就可以黑别人的电脑了吼吼计网教材,谢希仁老师那本挺好的,但是有点学术化,不能落到实际操作上,建议也是买本考研论坛书和谢老师的书一起看,比较互补,这个尤其说一下几个对初学者不太友好的概念,一个网络分层的概念,所以我的建议是先从网络层那一章开始学,往上学到应用层,然后再从数链层往下学, 再看 章分层就会明白了,这是最快的入门方式,另一个难点就是常见的几个有漏洞的协议,如ARP、DNS、HTTP等一定好好看看,还有就是TCP滑动窗口只需要知道是流式协议即可,也是建议初学者不要深究学会计网,就要结合Windows编程开始写网络编程了,写个局域网的黑窗口通信还是没啥问题,编程的过程中可以结合WireShark使用各种加密算法、摘要算法自己酌情考虑,加密算法可以用在木马植入控制电脑发送命令的过程中,来回通信需要加密反编译是高阶深入,也是一般学校的研究生课程,算是一门高级点的学问吧,软件破解,以及病*分析,都是基于此,这里比较推荐C++反汇编与逆向那本小*书再就是通原、单片机了,还想进阶这里建议学学信道编码方式,常用搭线窃听的方式盗取信号,NFC盗银行卡身份证等,正弦、泰勒、傅里叶好好研究一下此外,注册表、系统目录、服务、组策略、自启等,都跟病*木马编写技巧有关,进阶好好研究一下,这里另外说一下Windows中存登录密码的那个文件夹,用PE系统进电脑,剪切粘回来,是破密码常用的小技巧Web安全是现在主要的就业方向,常见的浏览器攻击如XSS,数据库攻击如SQL注入,都是需要掌握的,也是目前很多网站依然没能解决的问题,也就是说,现在你依然可以用这种方式攻击一些网站,这里格外说一句,需要你学会网站开发,要有这方面的基础,如JDBC传输MySQL语句,就有两种方式,拼接方式存在注入漏洞,预编译方式就没有漏洞,这就需要实践开发经验,此外例如查看服务器的Banner的方法、查看网络拓朴的方法、查看伪静态的方法等等都是需要实践摸索的另外,新手可能不知道,PC端的浏览器权限是非常大的,甚至可以访问设备,再就是脚本语言的特殊性,所以Web安全也一直是个大问题,但是这一切还是要以前面的知识为基础后记恭喜你已经上道了,以后的路就看你自己的积累了前面讲得是知识储备,后面的需要的就是思想了这里比较系统的讲攻击思想,推荐看黑客大曝光那本书,讲得比较系统,也很全面,但是一定不要上来就看,那不是一本入门书籍!如果我说的技术,对你有帮助,让你从迷茫中走出来,记得给我点个赞,作为一个过来人,我只能给你指引,黑客之路要你自己走下去,加油!


转载请注明:http://www.xxcyfilter.com/gailian/gailian/10681.html