我怎样远程更改硬盘共享?帮up者有分 (300分)

  • 主题发起人 slxiao112
  • 开始时间
很容易的,在对方放一个木马,自己可以写一个,然后远程控制修改对方的对注表即可。注
册表的位置你可以查一下,我现在忘了。
 
家里的机子c盘是不共享的
 
to zlj555
帮我们查查,修改注册表里的哪个键值?

 
注册表的位置是:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Network/LanMan/
 
98下可以改注册表,但2K下就麻烦了,涉及到权限问题。
unit RegOptUnt;

interface

uses
Windows, SysUtils;

const
SubKeys='Software/Microsoft/Windows/CurrentVersion/Network/LanMan';
WRITE_SHARED = 258;
READ_SHARED = 401 ;

function gfunAddToRegRun(KeyName,KeyValue:String):Boolean;
procedure SharedFolder(Shared_Name:pChar;Shared_Mode:DWORD;file_path:pChar;remark:pChar);

implementation

//功能:共享一个目录
//
//输入:共享名(Shared_Name);
// 共享模式(Shared_Mode);
// 本地机路径(file_paht);
// 备注(remark)
//
//输出:无
procedure SharedFolder(Shared_Name:pChar;
Shared_Mode:DWORD;
file_path:pChar;
remark:pChar);
var
retLng:integer;
tmpParam:integer;
sa:SECURITY_ATTRIBUTES;
h_key:HKEY;
p_dword:pDWORD;
values:DWORD;
ptmpChar:pChar;
begin
p_dword:=nil;
ptmpChar:=new(pchar);
ptmpChar:='';
//建立主键SubKeys
//Shared_Name是共享后的共享文件夹的名字
//h_key是建好后返回的主键句柄
strCat(ptmpChar,SubKeys);
strCat(ptmpChar,'/');
strCat(ptmpChar,Shared_Name);

retLng:=RegCreateKeyEx(HKEY_LOCAL_MACHINE,
ptmpChar,
0,
Shared_Name,
REG_OPTION_VOLATILE,
KEY_ALL_ACCESS,
@sa,
h_key,
p_dword);
//创建主键时,失败!
if(retLng<>ERROR_SUCCESS) then exit;

{
p_dword是windows返回的错误编号
if (p_dword^=REG_OPENED_EXISTING_KEY) then
Application.MessageBox('','',MB_OK)
else if (p_dword^=REG_CREATED_NEW_KEY) then
Application.MessageBox('','',MB_OK);
}

//建Dword值:Flags
//共享的模式分别:完全共享、只读共享
retLng := RegSetValueEx(h_key,
'Flags',
0,
REG_DWORD,
@Shared_Mode,
sizeof(Shared_Mode));

//建二进制值串:parm1enc
//完全共享的密码
tmpParam:=0;
retLng := RegSetValueEx(h_key,
'Parm1enc',
0,
REG_BINARY,
0,
0);

//建二进制值串:parm2enc
//只读共享的密码
tmpParam:=0;
retLng := RegSetValueEx(h_key,
'Parm2enc',
0,
REG_BINARY,
0,
0);

//建字符串:Path
//要共享的文件夹的绝对地址
retLng := RegSetValueEx(h_key,
'Path',
0,
REG_SZ,
file_path,
length(file_path));

//建字符串:Remark
//共享文件夹的备注
retLng := RegSetValueEx(h_key,
'Remark',
0,
REG_SZ,
remark,
sizeof(remark));

//建DWORD值:Type
//我也不知道,反正windows中大多是0x0
tmpParam:=0;
retLng := RegSetValueEx(h_key,
'Type',
0,
REG_DWORD,
@tmpParam,
sizeof(tmpParam));

//关闭
ptmpChar:='';
RegCloseKey(h_key);
end;
 
to kgafly:
通过 internet 远程能该吗?
 
没试过,没条件试。
在internet上的话,关键是要看你是否能找得到你家里的机器的IP。
 
能,在某范围查看工作组,计算机名及用户名是可以知道ip的。

 
你能Telnet上去吗?
如果可以Telnet上去,试试net share命令。
 
net share {DISK}$ /delete
 
能给命令步骤吗?
 
我这里有一个,应该可以的.主要用的是NetShareAdd这个API,还有要定义这个结构体,你试试:

type _SHARE_INFO_2 = record
shi_netname : PWideChar ;
shi_type : LongWord ;
shi_remark : PWideChar ;
shi_permissions : LongWord ;
shi_max_uses : LongWord ;
shi_current_uses: LongWord ;
shi_path : PWideChar ;
shi_passwd : PWideChar ;
end;
P_SHARE_INFO_2 = ^_SHARE_INFO_2 ;

如果试不通,你留个MAIL.我给你把程序发过去.
 
我试在局域网内是可以的,但此时你定要有那台机的超级用户权限.
 
to DEN:
家里的是 Windows me ,不知可否有用户权限.?
我只是设了只读共享,别的都没设置。

e-mail:
slxiaodong@163.com
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
522
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部