吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18025|回复: 137
收起左侧

[其他转载] 程序开发大牛、安全专家养成记---秘籍 HOOKSSDT保护进程C源码 过游戏TP驱动保护同理

    [复制链接]
寒雪冰熊 发表于 2016-8-24 15:47
本帖最后由 寒雪冰熊 于 2016-8-24 15:55 编辑

想成为让人尊敬的大牛,著名黑客,安全专家 。请从驱动开发开始吧
HOOK驱动文件和 加载工具下载地址http://pan.baidu.com/s/1dEEUpgP 密码jiuc      C++驱动源码下载地址 http://pan.baidu.com/s/1bpoQiMNoyh3
1.学习Windows驱动开发路线
如何学习Windows驱动程序开发(最形象的比喻,精通驱动开发是程序员的内功(九阳神功),其他编程语言是外功(剑法),驱动精通,学其他语言只是小菜一

碟)

[本内容适用环境及工具]
1> Windows系统下
2> VC6.0以及VS2013版本以上(本人两个都用)
3> Windows驱动开发包(DDK(老版本)WDK(新版本))
4> 调式驱动使用VMWare

[本内容适用群体]
1> 具有C/C++语言基础的人(C语言入门可以看伊成老师的C基础教程 或者小甲鱼老师C基础或者 孙鑫老师的C++ MFC教程(个人喜好不一样,还可以选择其他入

门的),配套教程谭浩强老师的c语言程序设计,或者 c primer plus做为参考书)
    c++ primer plus  )
2> 具备高中以上文化水平的逻辑思维

[具备Windows系统理论书籍]
1> Windows核心编程
2> Win32多线程程序设计
3> 深入解析Windows操作系统
4> Windows操作系统原理

FAQ1:为什么需要[具备Windows系统理论书籍这4本书?
答:驱动是Windows系统的一个重要的组成部分,深入Windows系统核心的一个体系,就因为驱动跟系统内核联系得十分紧密,所以涉及了不少系统的基础理论以及原理.

因此在学习驱动开发之前必须先明白Windows系统的基础开发理论,Windows系统的运作原理,Windows系统的架构体系.那么我提供的上面4本书是目前市面上我认为

最经典最全面的书籍了.

[具备Windows驱动开发书籍]
1> Windows驱动开发详解
2> Windows设备驱动程序WDF开发

FAQ2:为什么需要[具备Windows驱动开发书籍这2本书?
答:假设你对Windows系统的基础理论扎实了,也看完了所说的[Windows系统理论书籍这4本书,而且你还从事开发过Windows程序或者大程序的经验者.那么你进入

Windows驱动开发的时候,需要一本经典的驱动入门开发书籍即可正确入门.现在我提供了[Windows驱动开发书籍这2本书完完全全针对Windows驱动开发入门而编写

的书籍.当然我首要推荐<Windows驱动开发详解>这本书.本书的内容在目前来说,针对驱动开发的讲解时非常到位了.包含了驱动开发理论 配置 驱动体系 等等......是一

本不可多得的好书.那么第2本,其实有点滥竽充数,但是他里面有少少涉及到WDF这个最新的驱动开发理论的讲解,大家也就凑合着吧.

[具备Windows调试基础理论书籍]
1> 软件调试
2> Windows用户态程序高效排错

FAQ3:为什么需要[具备Windows调试基础理论书籍这2本书?
答:在开发驱动的情况下,你少不了要调试驱动程序.那么如何调试驱动程序呢? Windows已为你考虑到这个问题了并开发了一套强有力的调试工具:Windbg .如何学习

这个工具的调试呢?那么现在市面上只有这2本书针对Windbg讲解得还比较到位,至少针对调试命令的使用,已经用中文讲解了,大家可以通过2本书先大概了解

Windbg的调试命令,然后再进一步进行GOOGLE搜索并深入学习.

[驱动开发扩展书籍]
1> 寒江独钓-Windows内核安全编程
2> Windows内核原理与实现
3> Rootkit Windows内核安全防范
4>竹林蹊径 深入浅出Windows驱动开发
5>Windows驱动开发技术详解

FAQ4:为什么需要[驱动开发扩展书籍这2本书?
答:熟话说:学无止境,驱动开发领域是一个很庞大的体系,这归根于驱动框架多样化而决定的.驱动包含了:文件驱动,磁盘驱动,显卡驱动,网络驱动,等等不同的种类,每

一种类就是一个领域,你决定你的能力需要扩展到多方面,那么你可以考虑先我这里提供的这3本书来学习,通过阅读这3本书,你会发现驱动可以做很多你意想不到的事

情.本人从事开发驱动将近4年,也仅仅涉及 文件驱动,磁盘驱动以及一些小型驱动而已.这些的学习我也仅仅是根据需求来进行选择性学习.每个人都有自己的能力极

限,大家要量力而行.




2.linux驱动开发学习路线



linux学习方法
结构、操作系统、体系结构、编译原理、计算机网络你全修过


我想大概可以分为4个阶段,水平从低到高
从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码


其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数


安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式


系统编程推荐《高级unix环境编程》,黑话叫APUE
还有《unix网络编程》
这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好


内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发
参考书如下《linux device drivers》,黑话叫ldd
《linux kernel development》,黑话叫lkd
《understading the linux kernel》,黑话叫utlk
《linux源码情景分析》
这四本书为搞内核的必读书籍


最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了




学习linux/unix编程方法的建议


建议学习路径:


首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。


然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。


如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。


然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用

的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。


对于几本经典教材的评价:


《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候

我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。


《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上

它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。


《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只

要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由

《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程

》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。


《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。


《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不

得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实

用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的

答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的

telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。


《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系

统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识。


《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译

的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出

了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

HOOK.jpg
没HOOK.jpg
hook4.png
HOOK3.png
hook2.png
hook1.png
HOOK5.png
打不开进程读取内存数据.jpg

点评

感觉发展路线什么的发到水漫,这帖子就介绍下工具呗。  发表于 2016-8-24 16:05
这就是你发原创区的理由。个人认为发到水漫金山好点。  发表于 2016-8-24 15:58

免费评分

参与人数 10热心值 +10 收起 理由
qiangq233 + 1 用心讨论,共获提升!
qinzequn + 1 我很赞同!
Lnairan + 1 谢谢@Thanks!
lytalyt + 1 谢谢@Thanks!
AWEIWEI + 1 用心讨论,共获提升!
lyf9ljh + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yeluosuif + 1 谢谢@Thanks!
gets_s + 1 已答复!
啊飞 + 1 还有源码可以学习下
浪子彦 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

_vision 发表于 2016-8-24 16:15
程序开发大牛、安全专家养成记
 楼主| 寒雪冰熊 发表于 2016-8-24 17:05
虚无空幻 发表于 2016-8-24 15:57
好像64位驱动需要买签名吧.

win7旗舰版禁用驱动程序签名的步骤: 1、点开始按钮——在运行框里输入gpedit.msc,按回车键; 2、展开用户配置——管理模板——系统——驱动程序安装; 3、双击右界面的设备驱动程序的代码签名; 4、选择已禁用,点确定。
虚无空幻 发表于 2016-8-24 15:57
浪子彦 发表于 2016-8-24 15:57
不错不错,前来学习
heyteng 发表于 2016-8-24 15:58
这个学习方向太漫长了,还是谢谢分享。
___Mario 发表于 2016-8-24 15:59
想成为让人尊敬的大牛
枫MapleLCG 发表于 2016-8-24 16:01
软件留下,现在的内容觉得发到水漫好点,然后这贴就介绍下工具qwq
流心似水 发表于 2016-8-24 16:07
学习学习,谢谢楼主
csa 发表于 2016-8-24 16:12
看看下先,谢谢
啊飞 发表于 2016-8-24 16:13
还有源码学习下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-25 17:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表