怎么能取到计算机的sid,不是用户的sid 从网上下了个工具 Newsid 这个工具能把计算机的sid取出来,我想知道是怎么取的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想要的是计算机sid,你的合集贴里好像没有啊取CPUID现在好多主板都不让取 注册表里HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 真的不知道计算机sid(难道是主机序列编号?)和用户sid的区别楼主顺便扫下盲吧。 各位去下一个Newsid这个工具就知道了 http://bbs.51cto.com/topic/thread-202076.html NewSID 首先读取现有计算机 SID。计算机的 SID 存储在注册表的 SECURITY\SAM\Domains\Account 下的 SECURITY 配置单元中。此项包含一个名为 F 的值和一个名为 V 的值。V 值是一个将计算机 SID 嵌入到其数据末尾的二进制值。NewSID 能够确保此 SID 具有标准格式(三个 32 位子颁发机构位段的前面带有三个 32 位颁发机构位段)。以上摘自微软的http://technet.microsoft.com/zh-cn/sysinternals/bb897418(en-us).aspx你可能在regedit下权限不够,导致看不到或者不能访问这个键。你可以右击HKEY_LOCAL_MACHINE\SECURITY把“读写控制”选为允许,然后刷新下注册表,就能找到HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account,然后开打V值就能找到了。给你帖一段逆向的NewSID代码void *__cdecl sub_4031E0(){ void *v0; // ebp@1 void *result; // eax@2 void *v2; // edi@3 void *v3; // esi@3 const void *v4; // eax@5 const void *v5; // esi@7 HKEY phkResult; // [sp+Ch] [bp-Ch]@1 DWORD Size; // [sp+10h] [bp-8h]@3 DWORD Type; // [sp+14h] [bp-4h]@3 v0 = (void *)sub_401740(HKEY_LOCAL_MACHINE, L"SOFTWARE", 4u); if ( RegOpenKeyW(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", &phkResult) ) { MessageBoxW(0, L"NewSID was unable to access the\nComputer's SID.", L"NewSID", 0x10u); result = 0; } else { v2 = (void *)sub_401690(phkResult); sub_4016F0(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", v0, &phkResult); Size = 0; RegQueryValueExW(phkResult, L"V", 0, &Type, 0, &Size); v3 = malloc(Size); if ( RegQueryValueExW(phkResult, L"V", 0, &Type, (LPBYTE)v3, &Size) ) { sub_4016F0(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", v2, &phkResult); MessageBoxW(0, L"NewSID was unable to access the\nComputer's SID.", L"NewSID", 0x10u); result = 0; } else { sub_4016F0(0, 0, v2, &phkResult); RegCloseKey(phkResult); v4 = (const void *)sub_403130(v3, Size); if ( v4 ) { v5 = v4; result = v0; memcpy(&dword_42C488, v5, 0x18u); } else { MessageBoxW(0, L"NewSID does not understand the format of\nthe Computer's SID.", L"NewSID", 0x10u); result = 0; } } } return result;}bool __cdecl sub_4016F0(HKEY hKey, LPCWSTR lpSubKey, PSECURITY_DESCRIPTOR pSecurityDescriptor, PHKEY phkResult){ bool result; // eax@2 if ( RegSetKeySecurity(*phkResult, 4u, pSecurityDescriptor) ) { result = 0; } else { if ( hKey ) { RegCloseKey(*phkResult); result = RegOpenKeyW(hKey, lpSubKey, phkResult) == 0; } else { result = 1; } } return result;} 您好,由于您长时间不结贴,上一次答复已超一个月并且已有最佳答案,本人帮你结贴。若是觉得答案不嘉,请放在本版的疑难杂症帖链接:http://bbs.csdn.net/topics/390351579。如果您有什么意见,请您联系我。 使用csdn上一个可用的ie工具条,编译后有问题请教 消息如何过滤要怎么实现?? 如何调用 DLL 请教各位,怎么把ComboBox的滚动条做成自定义的大小??? 如何修改在程序中产生的对话框的背景色? 几个问题:1.怎样在mfc中判断一个文件是否存在,最好用Cfile类......2.怎样在mfc中用c/c++的文件流 CRecordset的Close()函数干了些什么? 我要送分了了(关于画图的问题) 关于像素着色器的问题 推荐软件:短小精悍安装程序生产器 【求助】三维向量旋转 vc中CListView子类怎样响应呢?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
楼主顺便扫下盲吧。
以上摘自微软的http://technet.microsoft.com/zh-cn/sysinternals/bb897418(en-us).aspx
你可能在regedit下权限不够,导致看不到或者不能访问这个键。你可以右击HKEY_LOCAL_MACHINE\SECURITY把“读写控制”选为允许,然后刷新下注册表,就能找到HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account,然后开打V值就能找到了。
给你帖一段逆向的NewSID代码void *__cdecl sub_4031E0()
{
void *v0; // ebp@1
void *result; // eax@2
void *v2; // edi@3
void *v3; // esi@3
const void *v4; // eax@5
const void *v5; // esi@7
HKEY phkResult; // [sp+Ch] [bp-Ch]@1
DWORD Size; // [sp+10h] [bp-8h]@3
DWORD Type; // [sp+14h] [bp-4h]@3 v0 = (void *)sub_401740(HKEY_LOCAL_MACHINE, L"SOFTWARE", 4u);
if ( RegOpenKeyW(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", &phkResult) )
{
MessageBoxW(0, L"NewSID was unable to access the\nComputer's SID.", L"NewSID", 0x10u);
result = 0;
}
else
{
v2 = (void *)sub_401690(phkResult);
sub_4016F0(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", v0, &phkResult);
Size = 0;
RegQueryValueExW(phkResult, L"V", 0, &Type, 0, &Size);
v3 = malloc(Size);
if ( RegQueryValueExW(phkResult, L"V", 0, &Type, (LPBYTE)v3, &Size) )
{
sub_4016F0(HKEY_LOCAL_MACHINE, L"SECURITY\\SAM\\Domains\\Account", v2, &phkResult);
MessageBoxW(0, L"NewSID was unable to access the\nComputer's SID.", L"NewSID", 0x10u);
result = 0;
}
else
{
sub_4016F0(0, 0, v2, &phkResult);
RegCloseKey(phkResult);
v4 = (const void *)sub_403130(v3, Size);
if ( v4 )
{
v5 = v4;
result = v0;
memcpy(&dword_42C488, v5, 0x18u);
}
else
{
MessageBoxW(0, L"NewSID does not understand the format of\nthe Computer's SID.", L"NewSID", 0x10u);
result = 0;
}
}
}
return result;
}
bool __cdecl sub_4016F0(HKEY hKey, LPCWSTR lpSubKey, PSECURITY_DESCRIPTOR pSecurityDescriptor, PHKEY phkResult)
{
bool result; // eax@2 if ( RegSetKeySecurity(*phkResult, 4u, pSecurityDescriptor) )
{
result = 0;
}
else
{
if ( hKey )
{
RegCloseKey(*phkResult);
result = RegOpenKeyW(hKey, lpSubKey, phkResult) == 0;
}
else
{
result = 1;
}
}
return result;
}
您好,
由于您长时间不结贴,上一次答复已超一个月并且已有最佳答案,本人帮你结贴。
若是觉得答案不嘉,请放在本版的疑难杂症帖链接:
http://bbs.csdn.net/topics/390351579。
如果您有什么意见,请您联系我。