能力值:
( LV4,RANK:50 )
|
-
-
26 楼
有意思,我都是hook读写内存,没OpenProcess
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
强人啊强人 学习
|
能力值:
( LV13,RANK:530 )
|
-
-
28 楼
消息钩子?注入?
其实我也想过,但是毕竟要多一个DLL而且还要释放 体积也要增大。而且有一个局限 就是无法应用在没有窗体的程序上,当然 网友都有窗体。
|
能力值:
( LV2,RANK:15 )
|
-
-
29 楼
5楼似乎wower哦
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
见过强的,没见过这么强的
|
能力值:
(RANK:1130 )
|
-
-
31 楼
我逆向过war3,记得也是这么保护的,但照样有作弊器,突破点应该不难,提升一下SeDebugPrivilege权限应该就可以了
找到shoooo的loader代码试试
void AdjustPrivilege(int pid, BOOL bEnable)
{
HANDLE hProcess;
HANDLE hToken=0;
TOKEN_PRIVILEGES tkp;
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = 0;
if (bEnable)
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (LookupPrivilegeValue(NULL, "SeDebugPrivilege", &tkp.Privileges[0].Luid))
{
if (hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid))
{
if (OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken))
{
if (AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL))
{
CloseHandle(hToken);
}
}
CloseHandle(hProcess);
}
}
}
当然,要管理员权限才能执行这段代码
|
能力值:
( LV13,RANK:530 )
|
-
-
32 楼
WOW这段保护代码本身不需要管理员权限,不过可能在WIndows XP 可以用这个方法提权实现,
反正我在Vista上面提权了还是失败。。所以我就索性不去提了 。。才有逆向这段代码的由来。
|
能力值:
( LV13,RANK:530 )
|
-
-
33 楼
WOW这段保护代码本身不需要管理员权限。不过可能在WIndows XP 可以用这个方法提权实现,
反正我在Vista上面提权了还是失败。。所以我就索性不去提了 。。才有逆向这段代码的由来。
|
能力值:
(RANK:1130 )
|
-
-
34 楼
vista下,我没研究过,XP下应该可以
这个东西当时由于时间关系我没有过多去查资料,保护时候不需要管理员权限的,这个代码的意思就是加入一个系统级的访问限制(名字可能说得不对),让所有进程没有打开它的权限(OpenProcess),所以会打开失败。但系统的SeDebugPrivilege权限非常大,能突破这个限制,所以,在OpenProcess之前要先提升权限,至于我说的要在管理员权限下,是因为,提升SeDebugPrivilege权限需要管理员权限,是这样的。
如果你有兴趣可以上网搜索 ma phack ,然后逆向一下就知道了 ,具体就不多说了
BTW:这个还是很不错的一个保护方法
|
能力值:
( LV9,RANK:190 )
|
-
-
35 楼
学习啊....
|
能力值:
( LV9,RANK:250 )
|
-
-
36 楼
太强了,学习!!!
|
能力值:
(RANK:1130 )
|
-
-
37 楼
vista把UAC关了试试?
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
error C2065: 'PROTECTED_DACL_SECURITY_INFORMATION' : undeclared identifier
VC6不能编译?
|
能力值:
(RANK:650 )
|
-
-
39 楼
让我失望了一把
|
能力值:
( LV13,RANK:530 )
|
-
-
40 楼
要嘛去下载最新的SDK
要嘛去安装VS2005。
如果不是因为这个原因 我相信魔兽也就会用VC6
所以微软的这一招是很明智的。
|
能力值:
(RANK:1130 )
|
-
-
41 楼
VC6缺一个define,自己补上就可以了
#define PROTECTED_DACL_SECURITY_INFORMATION (0x80000000L)
在vs2005的msdn中找到的。。
|
能力值:
(RANK:1130 )
|
-
-
42 楼
xp下测试通过了
vista下测试
Lock_Proc1.exe代码
{
//AdjustPrivilege(GetCurrentProcessId(), TRUE);
TestFunc();
getchar();
return 0;
}
Lock_Proc2.exe代码
{
AdjustPrivilege(GetCurrentProcessId(), TRUE);
TestFunc();
getchar();
return 0;
}
vista下截图如下:
第一个图是没开UAC的,直接运行:
第二个是开UAC的,一个是普通双击执行,一个是点右键,以管理员身份运行:
|
能力值:
( LV2,RANK:10 )
|
-
-
43 楼
嗯,我自己不上了。
|
能力值:
( LV12,RANK:210 )
|
-
-
44 楼
有了 debug 权限应该所有进程都能打开,除非一些被 hook 保护的,或者 Vista 系统上的受保护进程。
|
能力值:
( LV2,RANK:10 )
|
-
-
45 楼
虽然有效果,但是任务栏可以看到用户名,并没有跟楼主一样不显示进程用户名。
|
能力值:
( LV2,RANK:10 )
|
-
-
46 楼
WINHEX效果不大
|
能力值:
( LV2,RANK:10 )
|
-
-
47 楼
收藏学习~~
|
能力值:
( LV2,RANK:10 )
|
-
-
48 楼
注入也没问题。看样子作用不大。
|
能力值:
( LV12,RANK:470 )
|
-
-
49 楼
确实作用不大
只要你的代码有SetPrivilege() 这段代码对你就啥作用也没了
这也就是winhex能够打开他并且修改内存的原因了。。HOHO
再说一般注入也会写SetPrivilege() 函数的 所以几乎没有感觉出差别也是正常的
|
能力值:
( LV13,RANK:530 )
|
-
-
50 楼
非也,不是所有情况下你都可以获得管理员权限,比如在网吧或者是Vista默认就是没有管理员权限
对一个暴雪 我相信搞点驱动来访你 是很容易的,关键是人家考虑兼容性,不过不管怎么说这也是一个方法,至少可以过任务管理器。对于一般的应用还是足够了。
|
|
|