社区
Windows SDK/API
帖子详情
关于变速齿轮的问题.
YUGIBALSA
2003-06-29 06:01:48
最近要做一个项目,要用到变速齿轮那样的功能,我知道网上有相关的源程,但都是C的,我只会VB与DELPHI,谁有译过来的程序,麻烦发到YUGIBALSA@HOTMAIL.COM,分不够可另给,最多250
...全文
88
15
打赏
收藏
关于变速齿轮的问题.
最近要做一个项目,要用到变速齿轮那样的功能,我知道网上有相关的源程,但都是C的,我只会VB与DELPHI,谁有译过来的程序,麻烦发到YUGIBALSA@HOTMAIL.COM,分不够可另给,最多250
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
武稀松
2003-07-02
打赏
举报
回复
不过是APIHook罢了。拦截GetTickCount等几个API,把时间调快一点
YUGIBALSA
2003-07-01
打赏
举报
回复
自己再UP一UP
YUGIBALSA
2003-07-01
打赏
举报
回复
API陷阱是不是API HOOK,这个我有点认识,至于大家说要用汇编,我认为应该没这么麻烦,我对汇编不太感冒我想控制的不是系统底层,而只是随便一个知道句柄的控件,我同意楼上的说法,因为我会用SETTIME和KILLTIME来控制软件时间的减慢,现在的问题是加快,最多加快两倍就够,我又想过用TTHREAD,不知是不是???
huoxingdi03
2003-06-30
打赏
举报
回复
我看过一遍关于《变速齿轮》的文章,变速齿轮其实并不是修改8253控制器,这个方法比较麻烦(特别是在NT下),并且所有的软件都会影响,它是采用API陷阱技术,对时间API实现拦截修改它的返回值,这样它可以对定点的软件进行控制并且不影响其他的软件。
yansea
2003-06-30
打赏
举报
回复
CSDN上有关于齿轮的讨论,找找看
naughtyboy
2003-06-30
打赏
举报
回复
呵呵
这个属于系统的底层操作了
不知道你想要9x下的还是nt/2000下的?
nbforyou
2003-06-29
打赏
举报
回复
新鲜呀
czp
2003-06-29
打赏
举报
回复
Mark
纯冰糖
2003-06-29
打赏
举报
回复
同意ehom(?!) ,c可是基础啊,楼上的代码我收了看看
grail_
2003-06-29
打赏
举报
回复
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
procedure TrackBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure SetRing(value:word); stdcall;
const ZDH = $03; // 设一个中断号
var
IDT : array [0..5] of byte; // 保存IDT表
OG : dword; //存放旧向量
begin
asm
push ebx
sidt IDT //读入中断描述符表
mov ebx, dword ptr [IDT+2] //IDT表基地址
add ebx, 8*ZDH //计算中断在中断描述符表中的位置
cli //关中断
mov dx, word ptr [ebx+6]
shl edx, 16d
mov dx, word ptr [ebx]
mov [OG], edx
mov eax, offset @@Ring0 //指向Ring0级代码段
mov word ptr [ebx], ax //低16位,保存在1,2位
shr eax, 16d
mov word ptr [ebx+6], ax //高16位,保存在6,7位
int ZDH //中断
mov ebx, dword ptr [IDT+2] //重新定位
add ebx, 8*ZDH
mov edx, [OG]
mov word ptr [ebx], dx
shr edx, 16d
mov word ptr [ebx+6], dx //恢复被改了的向量
pop ebx
jmp @@exitasm //到exitasm处
@@Ring0: //Ring0,这个也是最最最核心的东东
mov al,$34 //写入8253控制寄存器
out $43,al
mov ax,value
// mov al,value //写入定时值
out $40,al //写定时值低位
mov al,ah
out $40,al //写定时值高位
iretd //返回
@@exitasm:
end;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
SetRing(strtoint('$'+inttostr(1742+(10-trackbar1.Position)*160)));
end;
end.
grail_
2003-06-29
打赏
举报
回复
我有DELPHI的代码
hansion3406
2003-06-29
打赏
举报
回复
不会..
ehom
2003-06-29
打赏
举报
回复
分9X和NT两种处理办法~~~
9X下先需要进入Ring0层执行
不会?找段CIH病毒的源代码看看,用用搜索引擎找到一大堆
http://www.delfan.com/language/delphi/self/ring0.html
进入Ring0层后,核心代码就几句
cli ;关中断
mov al,34h
out 43h,al ;写入8253控制寄存器
mov ax,value ;value默认为1742H
out 40h,al ;写定时值低位
mov al,ah
out 40h,al ;写定时值高位
sti ;开中断
iretd ;中断返回
//一般大学的汇编教材上都有这类基础知识
在NT/2000/XP下进入Ring0层比较困难
http://www.pcvc.net/category/content.asp?sendid=139
一般可使用一些现成的设备驱动写I/O端口
另外,像掌握C这种基础语言应该是必须的
Eastunfail
2003-06-29
打赏
举报
回复
注:不长的概念是少于700行
Eastunfail
2003-06-29
打赏
举报
回复
你把源代码贴给我,如果核心代码不长我可以帮你翻译
genre
变速齿轮
0.441
标题中的“genre
变速齿轮
0.441”指的是一个名为“
变速齿轮
”的软件,其版本号为0.441。这个软件通常用于调整计算机系统中的速度,特别是游戏或者应用程序的运行速度,允许用户根据需要加快或减慢程序的执行速率。...
变速齿轮
0.451免注册
变速齿轮
0.451是一款历史悠久的系统优化工具,尤其在早期互联网时代,它因其能够改变应用程序运行速度而备受用户青睐。这款软件的核心功能在于它能够调整计算机内部时钟频率,从而实现对程序运行速度的控制,无论是...
变速齿轮
0.443
以下是关于
变速齿轮
0.443的详细知识点: 1. **功能原理**:
变速齿轮
通过修改系统时间间隔,影响程序内部的时间计算,从而达到加速或减速程序执行的效果。它可以独立于操作系统核心运行,使得用户可以在不改变硬件...
变速齿轮
0.451 无广告版本
变速齿轮
0.451是一款经典的软件,专用于调整计算机上的应用程序运行速度。这款无广告版本为用户提供了更纯净的使用体验,没有烦人的广告打扰,使得操作更加专注且高效。下面将详细介绍这款软件的功能、用途及其优势...
变速齿轮
0.443加速工具
变速齿轮
0.443是一款经典的软件,主要用于调整计算机上应用程序的运行速度,它能够实现游戏、软件甚至操作系统运行速度的增快或减慢。在本文中,我们将深入探讨
变速齿轮
0.443的工作原理、功能、使用方法以及相关的...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章