能力值:
( LV9,RANK:180 )
|
-
-
2 楼
你写的 ?
sessiondiy
X7753-DAA5T-NNDLJ-RVOMT-ABCD5
A0874A3FF692A155F4A5891A662A307F
|
能力值:
( LV9,RANK:160 )
|
-
-
3 楼
我没有这个水平啊!
在www.crackmes.de下载的,感觉比较有特点,拿来试试!
s大给说说怎么调试驱动吧。。。 确实没琢磨出来啊!
|
能力值:
( LV9,RANK:160 )
|
-
-
4 楼
s大,给点提示吧,弄不出来啊!只从IDA中找到如下代码,看不大明白
int __stdcall KeyCall(int a1, char *Irp)
{
int v2; // eax@1
size_t v3; // edi@1
char *v4; // esi@1
int v5; // eax@3
int v7; // ST0C_4@5
unsigned int v8; // [sp+0h] [bp-Ch]@1
ULONG Value; // [sp+8h] [bp-4h]@1
unsigned int v10; // [sp+4h] [bp-8h]@1
v8 = strlen("WORLD") + 1;
v4 = Irp;
Value = 0;
v10 = strlen("REGISTRED") + 1;
v2 = *((_DWORD *)Irp + 24);
v3 = *(_DWORD *)(v2 + 4);
if ( !*(_DWORD *)(v2 + 8) || !v3 )
{
DbgPrint("!inBufLength || !outBufLength");
goto LABEL_13;
}
v5 = *(_DWORD *)(v2 + 12) - 2236416;
if ( !v5 )
{
strncpy(*((char **)Irp + 3), "WORLD", v3);
if ( v3 >= v8 )
v3 = v8;
goto LABEL_11;
}
if ( v5 == 8 )
{
v7 = *((_DWORD *)Irp + 3);
Irp = (char *)*((_DWORD *)Irp + 3);
sub_146C4(v7);
RtlCharToInteger(byte_13220, 0x10u, &Value);
if ( (unsigned __int8)sub_148C4(&dword_13200, Value, &unk_13180, &byte_131A0) )
{
strncpy(Irp, "REGISTRED", v3);
if ( v3 >= v10 )
v3 = v10;
LABEL_11:
*((_DWORD *)v4 + 7) = v3;
goto LABEL_13;
}
*((_DWORD *)v4 + 7) = 0;
}
LABEL_13:
*((_DWORD *)v4 + 6) = 0;
IofCompleteRequest((PIRP)v4, 0);
return 0;
}
|
能力值:
( LV9,RANK:180 )
|
-
-
5 楼
你不是说你用 syser ? 你就不要管process了
用法都一样. bpmb 2'3下就到 ring0 里的算法了
可能你还不习惯吧
|
能力值:
( LV9,RANK:160 )
|
-
-
6 楼
应该说就不会用。。。 也没找到能看明白的帖子... s大开个帖子给科普下吧?
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
我就想到刚来时我连OD都没用过.
所以...自已努力吧. 习惯之前总是痛苦的.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
经典……
|
|
|