或者有什麼更好辦法:防止一台電腦多次安裝一個試用軟件?? 當然是盡可能...
20 个解决方案
#1
win9x/nt下不支持int13。
好象可以通过int21 的7503号功能来完成读写磁盘的工作,可以查一查。
好象可以通过int21 的7503号功能来完成读写磁盘的工作,可以查一查。
#2
to:BigBen(江南草)
int21的7503號功能我查不到,怎麼實現的可以給一個例子嗎???
我的EMail:ljy_17@163.com 先謝過了!
int21的7503號功能我查不到,怎麼實現的可以給一個例子嗎???
我的EMail:ljy_17@163.com 先謝過了!
#3
关注
#4
修改注册表,留下安装的次数,每次安装都检查,或者弄一个什么文件,安装的时候察看一下,如果没有,就说明这是第一次安装,都过已经有了,说明安装过了,这样的文件,名字奇怪一点,可以弄成什么.dll弄到系统文件夹中,然后每次开机的时候都让User32.dll加载,让User32.dll加载的方法是改注册表,这是个标准的方法,不会引起其他人的注意。这个Dll加载了,就会禁止删除,或者着注册一个服务,当然这也不让一般的用户注意。
#5
To: BlueTrees(蜗牛)
你講到的…让User32.dll加载,让User32.dll加载的方法是改注册表…怎麼做?能具體一點嗎?
如果可以的話我想知道INT13在delphi怎麼實現!
你講到的…让User32.dll加载,让User32.dll加载的方法是改注册表…怎麼做?能具體一點嗎?
如果可以的話我想知道INT13在delphi怎麼實現!
#6
修改注册表(当然要隐蔽)或者深度隐藏记录文件!
其它方法根本就没有用,有太多的方法破解了。
其它方法根本就没有用,有太多的方法破解了。
#7
asm
...
你的汇编代码
...
end;
...
你的汇编代码
...
end;
#8
TO: fenzi_123(Fenzi)
注冊表太不全安!可以備份注冊表!也可用工具監視!
TO: fenzi_123(Fenzi)
INT13中斷不能真接調用!
help me!
help me!
help me!
注冊表太不全安!可以備份注冊表!也可用工具監視!
TO: fenzi_123(Fenzi)
INT13中斷不能真接調用!
help me!
help me!
help me!
#9
同意,强烈关注这个问题
#10
1、nt下可以用createfile来操作磁盘读写,指定文件名为'\\.\x:'就可以了。.
2、win9x下读写磁盘,需要通过dos功能调用,int13/25/26都可以,但都有局限---不支持fat32(int13好象只对软盘有效),在win9x下新加了int21的7305h号调用,支持fat/12/16/32格式的磁盘的读写。
在win32中调用dos功能,需要通过vwin32.vxd(即先createfile得到此vxd的handle),使用deviceiocontrol向vwin32.vxd发控制码,deviceiocontrol的第三和第五个参数就是寄存器的设定。
int21的7305h的约定如下:
ax:7305h;
bx:指向一diskio结构;
cx:-1;
dl:驱动器号,1=a,3=c;
si:bit0=0为读,=1时为写,bit13到15另有意义。
diskio结构:
struct ds
dwStartSector dd;
wSectorCount dw;
lpBuffer dd;
ends
deviceiocontrol的第一个参数设为vwin32_dioc_dos_driveinfo,具体的可查msdn。
对于你的第二个问题,我想,你是想在硬盘的特定地方(比如某些扇区的内零头里)写入你的标记,这是可行的,然后在程序中检测或更新此设定就可了。
2、win9x下读写磁盘,需要通过dos功能调用,int13/25/26都可以,但都有局限---不支持fat32(int13好象只对软盘有效),在win9x下新加了int21的7305h号调用,支持fat/12/16/32格式的磁盘的读写。
在win32中调用dos功能,需要通过vwin32.vxd(即先createfile得到此vxd的handle),使用deviceiocontrol向vwin32.vxd发控制码,deviceiocontrol的第三和第五个参数就是寄存器的设定。
int21的7305h的约定如下:
ax:7305h;
bx:指向一diskio结构;
cx:-1;
dl:驱动器号,1=a,3=c;
si:bit0=0为读,=1时为写,bit13到15另有意义。
diskio结构:
struct ds
dwStartSector dd;
wSectorCount dw;
lpBuffer dd;
ends
deviceiocontrol的第一个参数设为vwin32_dioc_dos_driveinfo,具体的可查msdn。
对于你的第二个问题,我想,你是想在硬盘的特定地方(比如某些扇区的内零头里)写入你的标记,这是可行的,然后在程序中检测或更新此设定就可了。
#11
TO: BigBen(江南草)
能給出具體的例子嗎!比如以下的代碼中win9x\winnt下怎麼實現!
以下代碼主要是寫c盤的0,0,1扇区!
我是想在0,0,2扇区寫入標志!因為0,0,2扇区是備用的!
代碼在後面!
能給出具體的例子嗎!比如以下的代碼中win9x\winnt下怎麼實現!
以下代碼主要是寫c盤的0,0,1扇区!
我是想在0,0,2扇区寫入標志!因為0,0,2扇区是備用的!
代碼在後面!
#12
data segment
d db 800 dup(0)
a db 'yours disk ends!$'
b db 'yours disk ok!$'
c db 'sorry!$'
data ends
code segment
assume cs:code,es:data,ds:data
org 100h
start:
mov ax,data
mov es,ax
mov ds,ax
mov ax,0201h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
cmp ah,0
jnz k
mov si,01feh
mov bp,0aa55h
xor es:[si],bp
mov ax,0301h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
k:
mov dx,offset c
cmp ah,0
jnz kkk
cmp es:[si],bp
jz kk
mov dx,offset a
jmp kkk
kk:
mov dx,offset b
kkk:
mov ah,09h
int 21h
mov ax,4c00h
int 21h
CODE ENDS
END START
d db 800 dup(0)
a db 'yours disk ends!$'
b db 'yours disk ok!$'
c db 'sorry!$'
data ends
code segment
assume cs:code,es:data,ds:data
org 100h
start:
mov ax,data
mov es,ax
mov ds,ax
mov ax,0201h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
cmp ah,0
jnz k
mov si,01feh
mov bp,0aa55h
xor es:[si],bp
mov ax,0301h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
k:
mov dx,offset c
cmp ah,0
jnz kkk
cmp es:[si],bp
jz kk
mov dx,offset a
jmp kkk
kk:
mov dx,offset b
kkk:
mov ah,09h
int 21h
mov ax,4c00h
int 21h
CODE ENDS
END START
#13
混合使用汇编的时候能用OUT和IN语句吗?
#14
混合使用汇编的时候,在98下能用OUT和IN语句,在nt下不可以用OUT和IN语句!
#15
兄弟們正題啊!
請關注!
請關注!
#16
DeviceIOControl(hvxd,vwin32_dioc_dos_driveinfo,inregs,nCntIn,outregs,nCntOut);
hvxd用createfile创建vwin32.vxd得到。
vwin32_dioc_dos_driveinfo 定义为6,
inregs/outregs输入输出的寄存器组,只要填输入的inregs,按int21的7305h约定填就行了。
具体的可查呀。。。我有汇编的源码,但懒得找了。msdn上也有c的。
hvxd用createfile创建vwin32.vxd得到。
vwin32_dioc_dos_driveinfo 定义为6,
inregs/outregs输入输出的寄存器组,只要填输入的inregs,按int21的7305h约定填就行了。
具体的可查呀。。。我有汇编的源码,但懒得找了。msdn上也有c的。
#17
TO: BigBen(江南草)
網上有沒有更詳細一個資料?
汇编的源码就不要了!在汇编下我也可以實現!隻是windows不
能直接訪問硬件!
網上有沒有更詳細一個資料?
汇编的源码就不要了!在汇编下我也可以實現!隻是windows不
能直接訪問硬件!
#18
我提!
#19
你要做硬盘保护对吧!但路走错了。
在RING3级上是不可能实现的!
在RING3级上是不可能实现的!
#20
TO: smhpnuaa(农奴翻身感谢党)
ring 3 to ring 0 我有匯編的程序!不過隻能在win9x下!
請教一下ring 3 to ring 0後應該怎麼做啊???
ring 3 to ring 0 我有匯編的程序!不過隻能在win9x下!
請教一下ring 3 to ring 0後應該怎麼做啊???
#21
#1
win9x/nt下不支持int13。
好象可以通过int21 的7503号功能来完成读写磁盘的工作,可以查一查。
好象可以通过int21 的7503号功能来完成读写磁盘的工作,可以查一查。
#2
to:BigBen(江南草)
int21的7503號功能我查不到,怎麼實現的可以給一個例子嗎???
我的EMail:ljy_17@163.com 先謝過了!
int21的7503號功能我查不到,怎麼實現的可以給一個例子嗎???
我的EMail:ljy_17@163.com 先謝過了!
#3
关注
#4
修改注册表,留下安装的次数,每次安装都检查,或者弄一个什么文件,安装的时候察看一下,如果没有,就说明这是第一次安装,都过已经有了,说明安装过了,这样的文件,名字奇怪一点,可以弄成什么.dll弄到系统文件夹中,然后每次开机的时候都让User32.dll加载,让User32.dll加载的方法是改注册表,这是个标准的方法,不会引起其他人的注意。这个Dll加载了,就会禁止删除,或者着注册一个服务,当然这也不让一般的用户注意。
#5
To: BlueTrees(蜗牛)
你講到的…让User32.dll加载,让User32.dll加载的方法是改注册表…怎麼做?能具體一點嗎?
如果可以的話我想知道INT13在delphi怎麼實現!
你講到的…让User32.dll加载,让User32.dll加载的方法是改注册表…怎麼做?能具體一點嗎?
如果可以的話我想知道INT13在delphi怎麼實現!
#6
修改注册表(当然要隐蔽)或者深度隐藏记录文件!
其它方法根本就没有用,有太多的方法破解了。
其它方法根本就没有用,有太多的方法破解了。
#7
asm
...
你的汇编代码
...
end;
...
你的汇编代码
...
end;
#8
TO: fenzi_123(Fenzi)
注冊表太不全安!可以備份注冊表!也可用工具監視!
TO: fenzi_123(Fenzi)
INT13中斷不能真接調用!
help me!
help me!
help me!
注冊表太不全安!可以備份注冊表!也可用工具監視!
TO: fenzi_123(Fenzi)
INT13中斷不能真接調用!
help me!
help me!
help me!
#9
同意,强烈关注这个问题
#10
1、nt下可以用createfile来操作磁盘读写,指定文件名为'\\.\x:'就可以了。.
2、win9x下读写磁盘,需要通过dos功能调用,int13/25/26都可以,但都有局限---不支持fat32(int13好象只对软盘有效),在win9x下新加了int21的7305h号调用,支持fat/12/16/32格式的磁盘的读写。
在win32中调用dos功能,需要通过vwin32.vxd(即先createfile得到此vxd的handle),使用deviceiocontrol向vwin32.vxd发控制码,deviceiocontrol的第三和第五个参数就是寄存器的设定。
int21的7305h的约定如下:
ax:7305h;
bx:指向一diskio结构;
cx:-1;
dl:驱动器号,1=a,3=c;
si:bit0=0为读,=1时为写,bit13到15另有意义。
diskio结构:
struct ds
dwStartSector dd;
wSectorCount dw;
lpBuffer dd;
ends
deviceiocontrol的第一个参数设为vwin32_dioc_dos_driveinfo,具体的可查msdn。
对于你的第二个问题,我想,你是想在硬盘的特定地方(比如某些扇区的内零头里)写入你的标记,这是可行的,然后在程序中检测或更新此设定就可了。
2、win9x下读写磁盘,需要通过dos功能调用,int13/25/26都可以,但都有局限---不支持fat32(int13好象只对软盘有效),在win9x下新加了int21的7305h号调用,支持fat/12/16/32格式的磁盘的读写。
在win32中调用dos功能,需要通过vwin32.vxd(即先createfile得到此vxd的handle),使用deviceiocontrol向vwin32.vxd发控制码,deviceiocontrol的第三和第五个参数就是寄存器的设定。
int21的7305h的约定如下:
ax:7305h;
bx:指向一diskio结构;
cx:-1;
dl:驱动器号,1=a,3=c;
si:bit0=0为读,=1时为写,bit13到15另有意义。
diskio结构:
struct ds
dwStartSector dd;
wSectorCount dw;
lpBuffer dd;
ends
deviceiocontrol的第一个参数设为vwin32_dioc_dos_driveinfo,具体的可查msdn。
对于你的第二个问题,我想,你是想在硬盘的特定地方(比如某些扇区的内零头里)写入你的标记,这是可行的,然后在程序中检测或更新此设定就可了。
#11
TO: BigBen(江南草)
能給出具體的例子嗎!比如以下的代碼中win9x\winnt下怎麼實現!
以下代碼主要是寫c盤的0,0,1扇区!
我是想在0,0,2扇区寫入標志!因為0,0,2扇区是備用的!
代碼在後面!
能給出具體的例子嗎!比如以下的代碼中win9x\winnt下怎麼實現!
以下代碼主要是寫c盤的0,0,1扇区!
我是想在0,0,2扇区寫入標志!因為0,0,2扇区是備用的!
代碼在後面!
#12
data segment
d db 800 dup(0)
a db 'yours disk ends!$'
b db 'yours disk ok!$'
c db 'sorry!$'
data ends
code segment
assume cs:code,es:data,ds:data
org 100h
start:
mov ax,data
mov es,ax
mov ds,ax
mov ax,0201h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
cmp ah,0
jnz k
mov si,01feh
mov bp,0aa55h
xor es:[si],bp
mov ax,0301h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
k:
mov dx,offset c
cmp ah,0
jnz kkk
cmp es:[si],bp
jz kk
mov dx,offset a
jmp kkk
kk:
mov dx,offset b
kkk:
mov ah,09h
int 21h
mov ax,4c00h
int 21h
CODE ENDS
END START
d db 800 dup(0)
a db 'yours disk ends!$'
b db 'yours disk ok!$'
c db 'sorry!$'
data ends
code segment
assume cs:code,es:data,ds:data
org 100h
start:
mov ax,data
mov es,ax
mov ds,ax
mov ax,0201h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
cmp ah,0
jnz k
mov si,01feh
mov bp,0aa55h
xor es:[si],bp
mov ax,0301h
mov bx,offset d
mov cx,0001h
mov dx,0180h
int 13h
k:
mov dx,offset c
cmp ah,0
jnz kkk
cmp es:[si],bp
jz kk
mov dx,offset a
jmp kkk
kk:
mov dx,offset b
kkk:
mov ah,09h
int 21h
mov ax,4c00h
int 21h
CODE ENDS
END START
#13
混合使用汇编的时候能用OUT和IN语句吗?
#14
混合使用汇编的时候,在98下能用OUT和IN语句,在nt下不可以用OUT和IN语句!
#15
兄弟們正題啊!
請關注!
請關注!
#16
DeviceIOControl(hvxd,vwin32_dioc_dos_driveinfo,inregs,nCntIn,outregs,nCntOut);
hvxd用createfile创建vwin32.vxd得到。
vwin32_dioc_dos_driveinfo 定义为6,
inregs/outregs输入输出的寄存器组,只要填输入的inregs,按int21的7305h约定填就行了。
具体的可查呀。。。我有汇编的源码,但懒得找了。msdn上也有c的。
hvxd用createfile创建vwin32.vxd得到。
vwin32_dioc_dos_driveinfo 定义为6,
inregs/outregs输入输出的寄存器组,只要填输入的inregs,按int21的7305h约定填就行了。
具体的可查呀。。。我有汇编的源码,但懒得找了。msdn上也有c的。
#17
TO: BigBen(江南草)
網上有沒有更詳細一個資料?
汇编的源码就不要了!在汇编下我也可以實現!隻是windows不
能直接訪問硬件!
網上有沒有更詳細一個資料?
汇编的源码就不要了!在汇编下我也可以實現!隻是windows不
能直接訪問硬件!
#18
我提!
#19
你要做硬盘保护对吧!但路走错了。
在RING3级上是不可能实现的!
在RING3级上是不可能实现的!
#20
TO: smhpnuaa(农奴翻身感谢党)
ring 3 to ring 0 我有匯編的程序!不過隻能在win9x下!
請教一下ring 3 to ring 0後應該怎麼做啊???
ring 3 to ring 0 我有匯編的程序!不過隻能在win9x下!
請教一下ring 3 to ring 0後應該怎麼做啊???