目录介绍:
黑客是做什么,他们主要干什么
黑客是能进入你的电脑偷取你的信息的人,有可能给你的电脑留下病毒。
世界五大黑客是谁啊?
用自己的技术做好事的黑客被称为“白帽”黑客。白帽黑客用来指那些有道德的黑客,这些合法的黑客通常受雇于公司,来检测公司内部系统的完整性。另外一些白帽黑客,尽管没有得到公司的允许而进入其系统,然而他们致力于维护法制而不是破坏法制,渐渐得,他们有了自己独特的特征。本文选择了五大顶级合法黑客和他们的科技创新,以下是他们的故事:
1Stephen Wozniak:别号WOZ
经常被称为苹果公司创始人乔布斯第二。他和乔布斯一起创建了苹果计算机。WOZ开始他的黑客生涯是通过制作蓝盒子,这是一种通过绕路技术,使用户可以免费得打长途电话。WOZ和乔布斯把这些蓝盒子卖给他们的同学,甚至还曾经用这个蓝盒子电话冒充基辛格给教皇打电话。
WOZ大学中途退学后发明了自己的计算机。乔布斯建议将这种计算机作为自己装配的计算机电路板出售,这就是最初苹果计算机的原型。他们以666.66美元每台的单价将苹果计算机卖给一个当地经销商。
WOZ现在致力于慈善事业,已经不在苹果公司做全职工作了。他现在似乎“收养“了整个拥有不少亚裔学生的洛斯加图-萨拉托加联合高中校区,亲自向学生和老师受教,并且捐赠一些一流的设备
2. Tim Berners-Lee
他被认为是万维网的创始人。他曾经被冠以无数美誉其中就包括千禧世纪发明奖。当他还就读于牛津大学的时候,他和他的同学被发现用计算机盗取密码,因此被禁止使用学校计算机。
Tim Berners-Lee认为超文本应该和计算机网络联系起来。当他回忆他是如何实现将二者结合起来的时候,他说:我只是将超文本和TCP以及DNS联系起来,就这样万维网产生了。
在万维网产生之后,他在麻省理工大学创建了万维网协会。这个协会的会员称他们自己为:一群聚在一起研制网页规则的会员群体。Berners-Lee的万维网以及万维网协会所制定的所有规则都没有申请专利,也没有要求任何版税。
3. Linus TorvaldsTorvalds
创造了Linux这个以Unix为基础的操作系统。他把自己成为工程师。它说自己的理想很简单:我只是想从制造世界上最好的操作系统中得到乐趣。Torvalds的黑客生涯开始于十几岁的时候,在一个家庭用8位机上,使用汇编语言编写了一个Commodore Vic-20微程序,之所以使用汇编语言,主要原因是他那时还不知道有其他的编程工具可用。1991年夏,也就是李纳斯有了第一台PC的六个月之后,李纳斯觉得自己应该下载一些文件。但是在他能够读写到磁盘上之前,他又不得不编写一个磁盘驱动程序。同时还要编写文件系统。这样有了任务转换功能,有了文件系统和设备驱动程序,就成了Unix,至少成了 Unix的内核。Linux由此诞生了。之后他向赫尔辛基大学申请FTP服务器空间,可以让别人下载Linux的公开版本,为Linux使用GPL,通过黑客的补丁将其不断改善,使其与GNU现有的应用软件很好地结合起来。通过这种方式,Linux一夜之间就拥有了图形用户界面,别且不断的扩张。为表扬他的突出贡献,有一颗小行星以他的名字命名,并获得来自瑞典斯德哥尔摩大学和芬兰赫尔辛基大学的荣誉博士学位,而且被称为“60年代的英雄”。
4. Richard Stallman
Stallman,得名于GNU工程,在这个工程里他致力于开发一套免费的操作系统。为此他成为免费软件的精神领袖。他的著名的“严肃的传记”称:收费的软件使用户无助并且独立,不能分享也无法更换使用。一个免费的操作系统对于人们自由使用计算机时至关重要的。
Stallman在其在麻省理工上学期间开始黑客生涯。而他在Emac等项目上更是成为职业黑客。他严厉批评计算机介入实验室的行为。每当一个实验室计算机的密码被安装,他都要把它攻破改设置成初始化状态,然后发邮件给这个计算机的用户,通知他们密码已经被移除。
Stallman的免费软件征途同打印机一同开始的。MIT人工智能实验室买的第一台打印机附带有驱动程序的源代码,MIT人工智能实验室的黑客们可以自己修复打印机驱动程序的bug,或者根据自己的需要修改打印机的驱动程序,这为他们的工作带来了很大的方便。后来, MIT又买了一台激光打印机,这次厂商只提供了二进制的打印机驱动程序,它是MIT仅有的一个没有源代码的软件。出于工作的需要,Richard Stallman想修改一下这个驱动程序,但是他无法做到,因为他没有驱动程序源代码。这给工作带来很多不便。也更加使Stallman认识到免费软件的价值。
Stallman目前仍致力于免费软件事业的开发。他反对数码版权的保护,他认为附带源代码的行为才是符合职业道德标准的。他得到了很多任何,包括很多奖项,以及荣誉博士学位的殊荣,目前是美国国家科学院院士。
5. Tsutomu Shimomura
Tsutomu Shimomura的成名很不幸,他被黑客Kevin Mitnick袭击,后来他将帮助美国联邦调查局抓获Kevin Mitnick作为自己的事业。
Tsutomu Shimomura抓获Kevin Mitnick的事迹是值得赞扬的,然而在过程中,Tsutomu Shimomura也曾入侵ATT电话公司的服务器,监听美国国会山的通话状况,有一次他监听国会山电话的时候,联邦调查局的调查员就在旁边和他一起。Shimomura用他自己修改过的TCPDUMP版本来记录了KEVIN MITNICK攻击他系统的记录,并且依靠电话公司技术员的帮助,使用频率方向侦测天线,通过对载有方位信息的调制信号的分析,找出了米特尼克的公寓。后来他将此事写成书,随后改编成了电影。
钩子问题.
以前做过编程,但现在都忘个差不多了,给你查了一点,看能不能有帮助
HOOK编程与消息处理一2009-06-14 16:02阅读本文需要一定的C++基础和windows编程基础,另外对动态链接库原理和机制也要有一定了解。我尽量讲解得简单明了一些。
因为考试系统项目中要对系统中的键盘消息进行处理,而WEB页面中对系统热键、功能键不能进行有效处理,如(ALT+F4 ALT+TABLE等等),因此需要编写一个WIN32下的客户端程序,内嵌一个WebBrownser实现页面显示(或用CHtmlView对象实现,其实道理都是一样的),这样我可以在客户端程序框架中对键盘消息进行处理。
本文介绍的内容主要是利用动态链接库安装全局进程钩子,实现应用程序的主导控制,因此本文的范畴还是在COM相关领域中。#此前在首页部分显示#
关于Hook编程,以前我总是认为很神秘,因为黑客技术中经常用到HOOK,比如最常见的盗取密码。下面我们来一窥门径。
首先我们来简单了解一下窗口句柄和WINDOWS消息处理机制;
窗口是Windows应用程序中一个非常重要的元素,一个Windows应用程序至少要有一个窗口,称为主窗口。窗口是屏幕上的一块矩形区域,是Windows应用程序与用户进行交互的接口。在windows应用程序中,窗口是通过窗口句柄(HWND)来标识的。我们要对某个窗口进行操作,首先要得到这个窗口的句柄。句柄(HANDLE)是Windows程序中一个重要的概念,使用很频繁。在windows程序中有各种各样的资源(窗口、图标、光标等),系统在创那家这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄(图标句柄HICON、光标句柄HCURSOR、画刷句柄HBRUSH)。
Windows程序设计是一种完全不同于DOS方式的程序设计方法。它是一种事件驱动方式的程序设计模式,主要是基于消息的。例如当用户在窗口中画图的时候,按下鼠标左键,操作系统会感知这一事件,并将这一事件包装成一个消息,投递到应用程序消息队列中,然后应用程序通过调用GetMessage函数从消息队列中取出消息,然后调用DispatchMessage函数将这条消息调度给操作系统,操作系统会调用在设计窗口类时指定的应用程序窗口过程(WindowProc)对这一消息进行处理。
在实际应用中,可能要对某个特殊消息进行屏蔽,如在我的考试项目中要对键盘消息进行屏蔽,而鼠标消息不与处理。我们可以给我们的程序安装一个HOOK过程(钩子过程)来实现这一功能。在程序中,我们可以过SetWindowsHookEx函数来安装一个钩子过程。该函数声明如下:
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle to application instance
DWORD dwThreadId // identity of thread to install hook for
);
SetWindowsHookEx函数的作用是安装一个应用程序定义的钩子过程,并将其放到钩子链中。应用程序可以安装多个钩子过程,对我们感兴趣的多个消息进行检查。这样多个钩子过程就形成了钩子链,最后安装的钩子过程总是排在该链的前面。如果调用成功,SetWindowsHookEx函数返回值就是所安装的钩子过程的句柄,否则返回NULL。
各参数的含义各位读者可以看下MSDN,MSDN中的英文也是很好读懂的,各位不要害怕。
第一个参数idHook MSDN中给出的含义是Specifies the type of hook procedure to be installed. 中文意思就是指定将要安装的钩子过程的类型。在我的项目中因为要处理键盘消息,因此本文中我会将其设为WH_KEYBOARD。如果要处理鼠标消息可将其设为WH_MOUSE。
第二个参数lpfn 指向相应钩子过程。如果参数dwThreadId 为0,或者指定了一个其他进程创那家的线程的标识符,那么参数lpfn 必须指向一个位于某动态接库中的钩子过程。否则,参数lpfn 可以指向当前进程相关代码中定义的一个钩子过程。
第三个参数hMod 指定lpfn 指向的钩子过程所在DLL的句柄。如果参数dwThreadId 指定的线程由当前进程创建,并且相应的钩子过程定义于当前进程相关的代码中,那么必须将此参数设为NULL。
第四个参数dwThreadId 指定也钩子过程相关的线程标识。如果其值为0,那么安装的钩子过程将与桌面上运行的所有线程都相关。
关于进程内的钩子比较简单,大家参看MSDN中的MouseProc、CallNextHookEx以及上面的SetWindowsHookEx等函数的说明就可以实现。在这里我们要写一个应用全局钩子的应用程序,主要是我想在程序运行时对桌面运行的所有进程的键盘消息都进行屏蔽。好,我们现在建一个空的DLL工程名为HookTest,再建一个C++源文件HookTest.cpp,在源文件中写一个函数SetHook用以安装钩子过程,再写一个函数UnHook用以卸载钩子过程。代码如下:
LRESULT CALLBACK KeyboardProc(
int code, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information)
{
if(VK_F2==wParam)
{
SendMessage(hWnd,WM_CLOSE,0,0);
UnhookWindowsHookEx(hKeyboardHook);
}
return 1;
}
void SetHook(HWND hwnd)
{
hWnd=hwnd;
hKeyboardHook=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("Hook"),0);
}
void UnHook()
{
if(hKeyboardHook)
{
SendMessage(hWnd,WM_CLOSE,0,0);
UnhookWindowsHookEx(hKeyboardHook);
}
}
真正懂的进最好是黑客回答真正的黑客!请用理论回答谢谢!烦恼啊!
无论你是用软键盘和打乱顺序输的都是没有用的。真正的密码最终还是会出现在那个方框中。只要你输入是正确的密码,最终都会被盗。好点的盗号软件都是利用API HOOK 钩子技术,也就是截取方框里的密码。所以说无论你是用软键盘和打乱顺序输的都是没有用的。
还有就是到那个动态密保卡的问题,并不是他会破解你的密保卡密码,而是利用游戏BUG进入游戏,绕过了输动态密保卡的这一关。所以你的动态密保卡是没用的。当然拥有这种软件或者技术的人很少,所以一般只要提高防范意识就可以了。最好少用外挂,无论是免费的还是花钱买的,里面都不可或缺的有后门,这是通用的软件制作者的通用手段,为自己留下后路!!!
网友评论
最新评论
也就是李纳斯有了第一台PC的六个月之后,李纳斯觉得自己应该下载一些文件。但是在他能够读写到磁盘上之前,他又不得不编写一个磁盘驱动程序。同时还要编写文件系统。这样有了任务转换功能,有了文件系统和设备驱动程序,就成了Unix,至少成了 Unix的内核
黑客Kevin Mitnick袭击,后来他将帮助美国联邦调查局抓获Kevin Mitnick作为自己的事业。Tsutomu Shimomura抓获Kevin Mitnick的事迹是值得赞扬的,然而在过程中,Tsutomu Shimomura也曾入侵ATT电话公司的服务器,监听美国国
盘消息进行处理,而WEB页面中对系统热键、功能键不能进行有效处理,如(ALT+F4 ALT+TABLE等等),因此需要编写一个WIN32下的客户端程序,内嵌一个WebBrownser实现页面