黑客hook(黑客红客的区别)
本文目录一览:
hook.dll是个什么东东?
你猜对了
hook.dll是勾子dll
一般在做外挂时会用到它
但是也不排除有人用它盗QQ或是游戏帐号
怎样设置win7的本地安全策略来防止黑客攻击
1、点击“开始”,在搜索框中输入“本地安全策略”,点击“本地安全策略”,就可以打开了。如图1所示
2、打开“本地安全策略”界面,点击“本地策略”——“安全选项”,找到“网络访问:可远程访问的注册表路径”和“网络访问:可远程访问的注册表路径和子路径”这两个选项。如图2所示
3、双击打开“网络访问:可远程访问的注册表路径”,删除“注册表路径”,点击“确定”。如图3所示
4、双击打开“网络访问:可远程访问的注册表路径和子路径”,删除“注册表路径”,点击“确定”。如图4所示
电影hook经典台词(中英对照)
1. Hate got me into prison,love is gonna break me out. 仇恨使我进了监狱,爱将使我重获自由。——《飓风》 (丹左华盛顿扮演的飓风拳王一生被囚禁在监狱中,但清白的他永远不会放弃希望) 2. I'll have what she's having. 她吃什么,我吃什么。——当哈里遇到莎莉 (爱屋及乌,非常好的拍马屁台词) 3. The kid just won't quit peeing and throwing up.He's like a cocker spanial. 这个小家伙不停地上吐下尿,像个英国小猎狗。——《天才老爹》 (美国人视狗为最好的朋友,用狗来形容小孩,决不是恶意的) 4. The blue pill or the red pill? 蓝色药片,还是红色药片?——《黑客帝国》 (在我们的生活中,确实经常会面临着这样必须做出没有退路的选择) 5. I don’t kown if you are keeping up with current events but we just got our asses kicked! 我不知道你是否掌握最近的状况,但我们刚被狠狠的收拾了!-----《异形》 (其实这句话按照中国人说话习惯,可以说:“我们都忙死了,你装什么傻呀!”) 6. I make this look good. 我衬得这衣服很好看。----《黑衣人》 (非常自恋的人可以这么说,不是衣服衬得人好看,而是人衬得衣服好看。) 7. I’m going to make you an offer you can’t refuse. 我会给你一个你难以拒绝的出价。----《教父》 (看来美国人也是非常相信有钱能使鬼推磨的,实际上这句话的意思就是“你不能拒绝我”) 8. I could tell you but I would have to kill you. 我可以告诉你,但那样我就必须杀了你。----《壮志凌云》 (从电影热播之后,这句话就经常被利用来以开玩笑的方式拒绝回答对方的问题。) 9. Get busy living or get busy dieing. 要么忙于活着,要么忙于死去。----《肖申克的救赎》 (总之,人生不能就是这么忙碌地活着。) 10. ----You want answers? 你要知道答案吗? ----I want the truth! 我要知道真相! ----You can’t handle the truth. 你承受不了真相。----《好人无几》 (杰克尼克森的这句台词非常有力,它证明真理总是赤裸裸的,而赤裸裸总是难以接受的。) 11. Say hello to my little friend. 来跟我的小朋友打招呼。---《疤面煞星》 (这个“小朋友”当然就是自动步枪了,我们中国古代的武士会这么说:“那要问问我的刀了。”) 看片学英语的几大误区 影视节目“Super一句”是怎样炼成的? 【全方位实战】看电影,学英语 《时尚女魔头》地道口语学习 12. Why do I do this? Because the money’s good, the scenery changes ,and they let me ues the explosives. okay? 我干嘛干这个?因为他们给钱多,路上风景不错,而且他们让我玩炸弹,怎样?---《世界末日》 (为了拯救地球而毅然登上太空飞机,前往迎地球而来的陨石并拼命炸毁它,这么危险的工作却被标准的美国个人英雄主义说得像娱乐,也是美国人举重若轻的思维惯性。) 13. If you build it ,he will come . 你建好了,他就会来.-------《梦幻成真》 (电影结束了,也不知道“他”到底是谁,但这句话给主人公以无穷的动力和信心。) 14. We are not here because we are free .we are here because we are not free. 我们在这里不是因为我们自由,我们在这里是因为我们不自由。——《黑客帝国》 (注意其翻译。黑客电影里很多台词都可以使人想一下人生的道理。) 15. I’ll never let go ,I’ll never let go ,Jack . 我决不放弃,我决不放弃,杰克。——《泰坦尼克号》 (决不放弃就会有希望) 16. Death smiles at us all. All a man can do is smiles back . 死神在向我们每个人微笑,我们所能做的只有回敬微笑。---《角斗士》 (有点“我自横刀向天笑”的意思) 17. That’s all I got to say about that. 我只能说这么多了。---《阿甘正传》 (有些话真的不必说出口,有心人自然会心领神会) 18. Come Luck, together we can rule the galaxy as father and son . 想清楚吧,卢克,作为父子,我们可以统治整个银河。-----《星球大战之帝国反击战》 (这句台词充满诱惑力,当然并没有足够的诱惑力使卢克投向黑势力。它之前的那句台词“我是你爸爸”似乎更为美国观众经常挂在嘴边) 19. Life is like a box of chocolate. 生活就像一盒巧克力。-----《阿甘正传》 (从1995年电影热播之后,这句台词风靡全世界,流行了至少5年。它阐述了简单到极致的知天命的人生态度) 20. Houston, we have a problem. 休斯敦,我们有麻烦了。-----《阿波罗十三号》 (休斯敦代表美国航天航空局,汤姆汉克斯的这句台词随电影而流行,以至于在生活中你会听到学生不会做作业时也会这么说。) 21. The things you own, end up oweing you. 你所拥有的东西最终拥有了你。-----《搏击俱乐部》 (我们每天追求物质上的享受,慢慢就会真的发现自己已经被已有的成就套牢,没办法脱身) 22. Bond, Jams Bond. 邦德,詹姆斯邦德。-----所有《007》系列电影 (二十多部007电影中,这句台词从来都是必说的,四十多年下来,不想成为经典台词都不行) 网上有很多..查查就好了..O(∩_∩)O
谁比较了解HOOK技术帮一下
Hook解释
Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会受到系统的通知,这时程序就能在第一时间对该事件做出响应。
另一解释:
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
Hook原理
每一个Hook都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的,应用程序定义的,被Hook子程调用的回调函数,也就是该钩子的各个处理子程。当与指定的Hook类型关联的消息发生时,系统就把这个消息传递到Hook子程。一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。
Windows 并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows 便释放其占用的内存,并更新整个Hook链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。
钩子子程是一个应用程序定义的回调函数(CALLBACK Function),不能定义成某个类的成员函数,只能定义为普通的C函数。用以监视系统或某一特定类型的事件,这些事件可以是与某一特定线程关联的,也可以是系统中所有线程的事件。
系统钩子与线程钩子
SetWindowsHookEx()函数的最后一个参数决定了此钩子是系统钩子还是线程钩子。
线程勾子用于监视指定线程的事件消息。线程勾子一般在当前线程或者当前线程派生的线程内。
系统勾子监视系统中的所有线程的事件消息。因为系统勾子会影响系统中所有的应用程序,所以勾子函数必须放在独立的动态链接库(DLL) 中。系统自动将包含“钩子回调函数”的DLL映射到受钩子函数影响的所有进程的地址空间中,即将这个DLL注入了那些进程。
几点说明:
(1)如果对于同一事件(如鼠标消息)既安装了线程勾子又安装了系统勾子,那么系统会自动先调用线程勾子,然后调用系统勾子。
(2)对同一事件消息可安装多个勾子处理过程,这些勾子处理过程形成了勾子链。当前勾子处理结束后应把勾子信息传递给下一个勾子函数。
(3)勾子特别是系统勾子会消耗消息处理时间,降低系统性能。只有在必要的时候才安装勾子,在使用完毕后要及时卸载。
Hook的应用模式
观察模式
最为常用,像Windows提供的SetWindowHook就是典型地为这类应用准备的。而且这也是最普遍的用法。
这个模式的特点是,在事情发生的时候,发出一个通知信息。观察者只可以查看过程中的信息,根据自己关心的内容处理自己的业务,但是不可以更改原来的流程。
如全局钩子中,经常使用的鼠标消息、键盘消息的监视等应用。金山词霸屏幕取词的功能是一个典型的应用(具体技术可以参考此类文章)。
注入模式
这个模式和观察模式最大的不一样的地方在于,注入的代码是为了扩展原始代码的功能业务。插件模式是此类模式的典型案例。
不管瘦核心的插件系统(如Eclipse)还是胖核心的插件系统(如Delphi、Visual Studio等IDE环境),其对外提供的插件接口都是为了扩展本身系统的功能的。
这种扩展的应用方式的典型特点,就是新的扩展代码和原来的代码会协调处理同类业务。
替换模式
如果针对应用目的不同,可以叫修复模式或破解模式。前者是为了修改系统中的BUG,后者是为了破解原有系统的限制。
很多黑客使用此种模式,将访问加密锁的DLL中的导出表,替换成自己的函数,这样跳过对软件的控制代码。这类应用的难点是,找出函数的参数。
这类模式的特点是,原有的代码会被新的代码所替换。
前面三个是基本模式,还有很多和实际应用相关的模式。
集权模式
此类模式的出现,大都是为了在全部系统中,统一处理某类事情。它的特点不在于注入的方式,而在于处理的模式。
这个模式,大都应用到某类服务上,比如键盘服务,鼠标服务,打印机服务等等特定服务上。通过统一接管此类服务的访问,限制或者协调对服务的访问。
比如键盘锁功能的实现,就是暂时关闭键盘的所有应用。
这类模式的特点主要会和特点服务有关联。
修复模式
替换模式的一种,这里强调的是其应用的目的是为了修复或扩展原有系统的功能。
破解模式
替换模式的一种,这里强调的是其应用的目的是为了跳过原有系统的一部分代码。如加密检测代码,网络检测代码等等。
插件模式
注入模式的一种,在系统的内部直接依靠HOOK机制进行扩展业务功能。
共享模式
这类应用中,经常是为了获取对方的数据。必然我希望获取对方系统中,所有字符串的值。可以通过替换对方的内存管理器,导出所有字符串。
这个应用比较特殊。不过其特点在于,目的是达到系统之间的数据共享。
其实现,可能是观察模式,也可能是替换模式。
VB中的Hook技术应用
一、Hook简介
Hook这个东西有时令人又爱又怕,Hook是用来拦截系统某些讯息之用,例如说,我们想
让系统不管在什么地方只要按个Ctl-B便执行NotePad,或许您会使用Form的KeyPreview
,设定为True,但在其他Process中按Ctl-B呢?那就没有用,这是就得设一个Keyboard
Hook来拦截所有Key in的键;再如:MouseMove的Event只在该Form或Control上有效,如果希望在Form的外面也能得知Mouse Move的讯息,那只好使用Mouse Hook来栏截Mouse
的讯息。再如:您想记录方才使用者的所有键盘动作或Mosue动作,以便录巨集,那就
使用JournalRecordHook,如果想停止所有Mosue键盘的动作,而放(执行)巨集,那就
使用JournalPlayBack Hook;Hook呢,可以是整个系统为范围(Remote Hook),即其他
Process的动作您也可以拦截,也可以是LocalHook,它的拦截范围只有Process本身。
Remote Hook的Hook Function要在.Dll之中,Local Hook则在.Bas中。
在VB如何设定Hook呢?使用SetWindowsHookEx()
Declare Function SetWindowsHookEx Lib 'user32' Alias 'SetWindowsHookExA' _
(ByVal idHook As Long, _
ByVal lpfn As Long, _
ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long
idHook代表是何种Hook,有以下几种
Public Const WH_CALLWNDPROC = 4
Public Const WH_CALLWNDPROCRET = 12
Public Const WH_CBT = 5
Public Const WH_DEBUG = 9
Public Const WH_FOREGROUNDIDLE = 11
Public Const WH_GETMESSAGE = 3
Public Const WH_HARDWARE = 8
Public Const WH_JOURNALPLAYBACK = 1
Public Const WH_JOURNALRECORD = 0
Public Const WH_KEYBOARD = 2
Public Const WH_MOUSE = 7
Public Const WH_MSGFILTER = (-1)
Public Const WH_SHELL = 10
Public Const WH_SYSMSGFILTER = 6
lpfn代表Hook Function所在的Address,这是一个CallBack Fucnction,当挂上某个
Hook时,我们便得定义一个Function来当作某个讯息产生时,来处理它的Function
,这个Hook Function有一定的叁数格式
Private Function HookFunc(ByVal ncode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
nCode 代表是什么请况之下所产生的Hook,随Hook的不同而有不同组的可能值
wParam lParam 传回值则随Hook的种类和nCode的值之不同而不同。
因这个叁数是一个 Function的Address所以我们固定将Hook Function放在.Bas中,
并以AddressOf HookFunc传入。至于Hook Function的名称我们可以任意给定,不一
定叫 HookFunc
hmod 代表.DLL的hInstance,如果是Local Hook,该值可以是Null(VB中可传0进去),
而如果是Remote Hook,则可以使用GetModuleHandle('.dll名称')来传入。
dwThreadId 代表执行这个Hook的ThreadId,如果不设定是那个Thread来做,则传0(所以
一般来说,Remote Hook传0进去),而VB的Local Hook一般可传App.ThreadId进去
值回值如果SetWindowsHookEx()成功,它会传回一个值,代表目前的Hook的Handle,
这个值要记录下来。
因为A程式可以有一个System Hook(Remote Hook),如KeyBoard Hook,而B程式也来设一
个Remote的KeyBoard Hook,那么到底KeyBoard的讯息谁所拦截?答案是,最后的那一个
所拦截,也就是说A先做keyboard Hook,而后B才做,那讯息被B拦截,那A呢?就看B的
Hook Function如何做。如果B想让A的Hook Function也得这个讯息,那B就得呼叫
CallNextHookEx()将这讯息Pass给A,于是产生Hook的一个连线。如果B中不想Pass这讯息
给A,那就不要呼叫CallNextHookEx()。
Declare Function CallNextHookEx Lib 'user32' _
(ByVal hHook As Long, _
ByVal ncode As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
hHook值是SetWindowsHookEx()的传回值,nCode, wParam, lParam则是Hook Procedure
中的三个叁数。
最后是将这Hook去除掉,请呼叫UnHookWindowHookEx()
Declare Function UnhookWindowsHookEx Lib 'user32' (ByVal hHook As Long) As Long
hHook便是SetWindowsHookEx()的传回值。此时,以上例来说,B程式结束Hook,则换A可
以直接拦截讯息。
KeyBoard Hook的范例
Hook Function的三个叁数
nCode wParam lParam 传回值
HC_ACTION 表按键Virtual Key 与WM_KEYDOWN同 若讯息要被处理传0
或 反之传1
HC_NOREMOVE
Public hHook As Long
Public Sub UnHookKBD()
If hnexthookproc lt;gt; 0 Then
UnhookWindowsHookEx hHook
hHook = 0
End If
End Sub
Public Function EnableKBDHook()
If hHook lt;gt; 0 Then
Exit Function
End If
hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf MyKBHFunc, App.hInstance, App.ThreadID)
End Function
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
MyKBHFunc = 0 '表示要处理这个讯息
If wParam = vbKeySnapshot Then '侦测 有没有按到PrintScreen键
MyKBHFunc = 1 '在这个Hook便吃掉这个讯息
End If
Call CallNextHookEx(hHook, iCode, wParam, lParam) '传给下一个Hook
End Function
只要将上面代码放在VB的模块中,用标准VB程序就可以了,当运行该程序后,就能拦截所有键盘操作。