如何获得2000/XP的所有账户、密码?

d983074 2003-02-10 10:07:06
只有user用户的情况下,如何用程序获得账户、密码?
请教原理方法或源代码。
...全文
56 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
纯冰糖 2003-02-18
  • 打赏
  • 举报
回复
gz
pyxiao 2003-02-17
  • 打赏
  • 举报
回复
哥们:在什么地方可以下到 Win2kPass2.4 。我也试试
d983074 2003-02-12
  • 打赏
  • 举报
回复
up
怎么没人来:(
d983074 2003-02-11
  • 打赏
  • 举报
回复
up
Jim3 2003-02-11
  • 打赏
  • 举报
回复
关注
d983074 2003-02-11
  • 打赏
  • 举报
回复
to hansion3406(阿木): 我要的是获得账户密码,而不是删除所有用户
to westfly(西翔): 已经有软件实现了相似的功能了,只不过它要重起后才能得到不知道为什么:(
westfly 2003-02-11
  • 打赏
  • 举报
回复
它的密码应该是单向加密的吧
hansion3406 2003-02-11
  • 打赏
  • 举报
回复
呼...看看..
你可以找个启动盘,把SAM直接删了..那样什么都没了..
d983074 2003-02-11
  • 打赏
  • 举报
回复
UP
d983074 2003-02-11
  • 打赏
  • 举报
回复
up
Billy_Chen28 2003-02-10
  • 打赏
  • 举报
回复
interface

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

type
TForm1 = class(TForm)
EdtHostName: TEdit;
Button1: TButton;
Label1: TLabel;
cpDomain: TLabel;
lbAdmin: TLabel;
Label3: TLabel;
Label2: TLabel;
ListBox1: TListBox;
Bevel1: TBevel;
StatusBar1: TStatusBar;
Panel1: TPanel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
SaveDialog1: TSaveDialog;
Options: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure OptionsClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
seedline:String;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var
seaNetResource:NETRESOURCE;
seaResult:DWORD;
seaAccessBuffer:string[255];
seaAccessBufferLength:DWORD;
sidbuffer:string[255];
lpAccessBuffer:PChar;
seaSID:PSID;
seaSIDlength:DWORD;
seaReferencedDomainName:string[255];
seaReferencedDomainNameLength:DWORD;
lpReferencedDomainName:PChar;
seaSIDnameuse:SID_NAME_USE;
tempPchar:Pchar;
SidSubCount:PUCHAR;
i,j:integer;
StoreCount:byte;
tempPDWORD:PDWORD;
tempDWORD:DWORD;
storeSIDsub: array [0..8] of Integer;
seaSidIdentify:PSIDIdentifierAuthority;
newSID:PSID;
seaAccountBuffer:String[255];
pAccountName:LPTSTR;
AccountLength:DWORD;
BlResult:Boolean;
const
AccountType:array [0..8] of string=('','User','Group','Domain','alias',
'WelknowGroup','Deleted','Invalid','Unknown');
begin
Button1.Enabled:=False;
lpAccessBuffer:=@seaAccessBuffer;
lpReferencedDomainName:=@seaReferencedDomainName;
seaSID:=@sidbuffer;
seaAccessBufferLength:=64;
seaSIDLength:=255;
seaReferencedDomainNameLength:=255;
seaNetResource.dwScope:=RESOURCE_GLOBALNET;
seaNetResource.dwType:=RESOURCETYPE_ANY;
seaNetResource.lpLocalName:=PChar('');
seaNetResource.lpRemoteName:=PChar('\\'+EdtHostName.Text+'\IPC$');
seaNetResource.lpProvider:=PChar('');
seaResult:=WNetAddConnection2(seaNetResource,PChar(''),PChar(''),CONNECT_PROMPT);
if seaResult=NO_ERROR then
begin
if LookupAccountName(PChar('\\'+EdtHostName.Text),Pchar(seedline),seaSID,seaSIDlength,
lpReferencedDomainName,seaReferencedDomainNamelength,seaSIDnameuse)
then
begin
cpDomain.Caption:=string(lpReferencedDomainName);
seaSidIdentify:=GetSidIdentifierAuthority(seaSID);
SidSubCount:=GetSidSubAuthorityCount(seaSID);
StoreCount:=SidSubCount^;

for i:=0 to Integer(StoreCount)-1 do
begin
tempPDWORD:=GetSidSubAuthority(seaSID,i);
storeSIDsub[i]:=tempPDWORD^;
end;

//start to get username
pAccountName:=@seaAccountBuffer ;
seaReferencedDomainNameLength:=255;
AccountLength:=255;
storeSIDsub[StoreCount-1]:=500;
if AllocateAndInitializeSid(seaSidIdentify^,SidSubCount^,StoreSidSub[0],
StoreSidSub[1],StoreSidSub[2],StoreSidSub[3],StoreSidSub[4],
StoreSidSub[5],StoreSidSub[6],StoreSidSub[7],newSID) then
begin

if LookupAccountSid(PChar('\\'+EdtHostName.Text),newsid,
pAccountName,AccountLength,lpReferencedDomainName,
seaReferencedDomainNameLength,seaSIDnameuse)
then
begin
lbAdmin.Caption:=String(pAccountName);
ListBox1.Items.Add('\\'+lpReferencedDomainName+'\'+pAccountName+' Built-in Admin');
end
else
exit;
FreeSid(newSID);
//tempDWORD:=GetLastError;
j:=1;
i:=1000;
while j<=30 do
begin
seaReferencedDomainNamelength:=255;
AccountLength:=255;
StoreSidSub[StoreCount-1]:=i;
AllocateAndInitializeSid(seaSidIdentify^,SidSubCount^,StoreSidSub[0],
StoreSidSub[1],StoreSidSub[2],StoreSidSub[3],StoreSidSub[4],
StoreSidSub[5],StoreSidSub[6],StoreSidSub[7],newSID);
if LookupAccountSid(PChar('\\'+EdtHostName.Text),newsid,
pAccountName,AccountLength,lpReferencedDomainName,
seaReferencedDomainNameLength,seaSIDnameuse)
then
begin
if seaSIDnameuse=sidTypeInvalid then j:=j+1
else if seaSIDnameuse<>sidTypeDeletedAccount then
begin
j:=0;
ListBox1.Items.Add('\\'+lpReferencedDomainName+
'\'+pAccountName+' '+AccountType[seaSIDnameuse]);
StatusBar1.SimpleText:=pAccountName;
end;
end
else
j:=j+1;
Application.ProcessMessages;
i:=i+1;
FreeSID(newsid);
end;
end;

end
else ShowMessage('Cannot locate sid infomation!');
end
else ShowMessage('Connection Error!');
WNetCancelConnection2(PChar('\\'+EdtHostName.Text+'\IPC$'),0,true);
Button1.Enabled:=True;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ListBox1.Items.Clear;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
SaveDialog1.Execute;
if SaveDialog1.FileName<>'' then ListBox1.Items.SaveToFile(SaveDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage('如果有任何意见或者咨询'#13#10'请与ciert@soim.net联系');
end;

procedure TForm1.OptionsClick(Sender: TObject);
begin
seedline:=InputBox('Input seed','Input seed(recommend "domain users" or "guest")','guest');
end;

procedure TForm1.FormShow(Sender: TObject);
begin
seedline:='guest';
end;

end.
lw549 2003-02-10
  • 打赏
  • 举报
回复
找到sam文件.用工具破解.
blackfiles 2003-02-10
  • 打赏
  • 举报
回复
试试先
d983074 2003-02-10
  • 打赏
  • 举报
回复
今天下载了个Win2kPass2.4,运行后重起,管理员密码就写在temp文件夹里了
不知道他是如何实现的???
d983074 2003-02-10
  • 打赏
  • 举报
回复
to cg1120(代码最优化-§新年祝福你,好运伴着你§) :
你的代码无法得到账户密码:(
一、启用guest来宾帐户; 二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户; 三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾; 四、设置共享文件夹; 五、控制面板→管理工具→本地安全策略→本地策略→安全选项里,把“网络访问:本地帐户的共享和安全模式”设为“仅来宾-本地用户以来宾的身份验证”(可选,此项设置可去除访问时要求输入密码的对话框,也可视情况设为“经典-本地用户以自己的身份验证”); 六、右击“我的电脑”→“属性”→“计算机名”,该选项卡中有没有出现你的局域网工作组名称,如“work”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,如“work”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。 访问网上邻居时显示:" windows xp系统访问局域网时显示 "WORKGROUP无法访问.您可能没有权限使用网络资源.请与这台服务器的管理员联系以查明您是否有访问权限.此工作组的服务器的列表当前无法使用." 我用的是xp系统 我也遇到过这样的情况,当时也是着急得不轻,后来看到了以下的内容,照着一步步的做了做,真的好了。内容不少,但是仍然希望你能耐住性子,仔细的看看自己属于那种情况,应该会有所收获。 局域网互访 - [ 网络 ] 我也是类似问题。 以前一个局域网10多台机子互访问。安了蕃茄花园v2.3,感觉主题漂亮,桌面壁纸自动换,很爽。访问局域网计算机没问题。可网内其它机子在工作组内能看到我的机子,但打不开。说什么“没有权限”。所有设置都作了如下改动(网上找的),依然无效,何故?但求高手指点。 “网上邻居”无法互访问题解决方法大全 “网上邻居”无法互访的问题实在是太常见了,无论在学校,网吧还是家里多台电脑联机,都有可能遇到网上邻居无法互访的故展。“网上邻居”无法访问的故障多种多样,总结起来基本上有下面的几个: 1,没有共享资源/共享服务未启用。 症状:电脑与电脑间可以Ping通,但无法访问共享资源,在“计算机管理”中查看“本地共享”后会弹出“没有启动服务器服务”的错误对话框。 解决:在控制面板-管理工具-服务中启动Server服务。并设置“启动类型”为“自动”。 2,IP设置有误。 症状:双机之间无法互Ping,连接用的双绞线经过测试没有问题,没有安装防火墙。 解决:检查两台电脑的IP是否处在同一网段,还有子掩码是否相同。 3,WINXP默认设置不正确。 症状:从WIN98/2000/2003上无法访问另一台WINXP的机器。 解决:在“控制面板”中的“用户帐户”启用Guest帐号。然后在运行中输入secpol.msc启动“本地安全策略”。 本地策略 -> 用户权利指派,打开“从网络访问此计算机”,添加Guest帐户 本地策略 -> 安全选项,禁止"帐户:使用空白密码的本地帐户只允许进行控制台登陆"。 另外有时还会遇到另外一种情况:访问XP的时候,登录对话框中的用户名是灰的,始终是Guest用户,不能输入别的用户帐号。 解决:本地策略 -> 安全选项 -> "网络访问:本地帐户的共享和安全模式",修改为"经典-本地用户以自己的身份验证" 4,系统漏洞修补软件修改了安全策略。 症状:在“网上邻居”中可以看到对方的计算机,但是访问共享时却提示“没有权限访问网络” 解决:在开始菜单运行中输入secpol.msc启动“本地安全策略”,本地策略 -> 用户权利分配,打开“拒绝从网络访问这台计算机”,删除guest用户。 5,防火墙规则。 症状:安装了防火墙(包括WINXP系统自带的防火墙),出现无法Ping通,或者是访问共享资源的时候提示"XXX无法访问"、"您可能没有权限使用网络资源"、"请与这台服务器的管理员联系以查明您是否有访问权限"、"找不到网络路径"等类似的提示。 解决:停止防火墙或者添加局域网的访问规则。 WINXP自带的防火墙:打开控制面板 -> 网络和Internet连接 -> Windows防火墙 -> 例外,勾选“文件和打印机共享”。 6,Win2000/XP与Win98互访 症状:Ping命令可以通过,但无法在“网上邻居”中实现互访。 解决:在WIN2000/XP系统中:控制面板 -> 管理工具 -> 计算机管理 -> 本地用户和组 -> 用户,在Guest帐户上点击鼠标右键,选择属性,在常规项里取消

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧