这个演示只能截取这个程序的Api,如何截获整个系统的Api呀!!!!(含制作API钩子,截获API的例子 源码)(16分)

  • 主题发起人 主题发起人 cntiny
  • 开始时间 开始时间
我们是学校拉的线,每个端口是10Mbps,我和同学共13个人代理上网,要买卡的,电信不给包月
每小时1.2元,30块钱买40块的卡,每个人的网费也就是一个个位数了,可惜没有交换机,如果有,只要一个交换机上接好几个端口,那网速是成倍速的增长了,

你怎么会是不要钱上网呢??
 
to:cntiny
我要,我只剩100分了,可以吗?
 
to:zyxcast
可以,助人为乐嘛,顺便捞些“外快”,嘿嘿~~双赢。把你的信箱留下。
to:3304xfq
谢谢啊,我去看看啊。我上网不要钱是因为,拉网线的老板要用到我,好听点是“提供技术支持”,所以免费提供给我。
to:panxiaosen
你好象都是凌晨来对吧???我现在都不熬夜了。见不到你,郁闷ing.我在打你的APIHOOK的注意啊,呵呵。
ps:谁能修改楼顶的函数让他截取系统的API吗??3304xfq给的是windows下的汇编看的不怎么懂,还是楼顶的好懂些,可就是不能截取系统的。

 
to cntiny
我的好友里怎么没有你? 我从晚上6点到凌晨5点左右 都在线。。。不过都是隐身的
这几天在初学数据库。。。 碰到了一些问题 郁闷ing。。。
 
to:panxiaosen
呵呵~~你没加我qq,怎么会有我啊,你只是通过了我的验证了。我给你说句话加我吧~~
 
你碰到了什么问题啊。我能帮不,数据库我也不怎么懂的,喜欢系统低层的东西,可现在就是没时间啊,有时间了。多翻翻vc,哎~~
 
我改了改你给出的代码,试试!
说明:
运行PDemo.exe后,你会发现Delphi IDE的菜单、窗体上的一些组件的Caption及
Explorer的主菜单的文字都已经变成了'AAA',这说明PDemo已经实现了对其它程
序的截获。
不过这样的示例其实用处不大,要实现真正的屏幕取词,要做的工作还很多,而
在Win9x下,这种方法其实并不可行,因为Win9x系统的核心是16位KERNEL、GDI、
USER,它们不是Win32的PE文件格式,因此会漏截很大一部分的文本输出。
另外,还需要解决间接调用和动态调用输出函数情况的截获问题。

DLL部分代码:
library MYAPIDLL;

uses
HookAPI in 'HookAPI.pas';

exports
InstallMsgHook,
UninstallMsgHook;

begin
end.

主程序代码:
program PDemo;

uses
Forms,
Demo in 'Demo.pas' {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

unit Demo;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Menus;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Panel1: TPanel;
GroupBox1: TGroupBox;
Edit1: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

procedure InstallMsgHook; stdcall; external 'MYAPIDLL.dll';
procedure UninstallMsgHook; stdcall; external 'MYAPIDLL.dll';

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
InstallMsgHook;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UninstallMsgHook;
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;

end.
 
你现在修改过的 98下能用吗??还是只在nt下能用??
 
98下可以使用
 
代码已经上传,在 http://www.efile.com.cn/?liumazi 可以下灾
 
后退
顶部