能力值:
( LV12,RANK:240 )
|
-
-
[求助]求助内存断点问题
没遇到过 临时想到一个方法
begin
try
asm
mov [$10b32a8], 1
end;
OutputDebugString('地址分配到的时候执行');
except
OutputDebugString('地址还没分配');
end;
end;
在 OutputDebugString('地址分配到的时候执行'); 处可以加上设置硬件的代码
给个大概方向的代码,
DWORD count;
CONTEXT c;
c.ContextFlags = CONTEXT_DEBUG_REGISTERS;
SuspendThread(hthread1);
GetThreadContext(hthread1, &c);
c.Dr0 = 0x401164;
c.Dr6 = 0xffff0ff0;
c.Dr7 = 0x401;
SetThreadContext(hthread1, &c);
ResumeThread(hthread1);
如果你多线程的话 可以把所有的都停下来 然后设置CONTEXT, 你可以试试~ 我只是随便想到的= =
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
[求助]CALL的问题
这个是DEBUG模式的一个特征吧 可能是方便调试 你用release可能就没有这个JMP了
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
[求助]关于VS.net 2003里VC++?
1,VS.net2003里的是VC++,生成的EXE文件是PE格式,一般XP系统都能执行
2,.NET是C# VB之类语言编译链接后生成的EXE文件, 不是PE格式,只能在.NET框架里运行,如果用户机上没有.NET Frame 则不能运行。
你随便建一个程序,生成EXE 开OD能正常反汇编的就是PE 不能则是 .NET
|
能力值:
( LV12,RANK:240 )
|
-
-
[求助]太郁闷了.VC的char* 怎么才能取部分文字?
#include <stdio.h>
#include "iostream"
using namespace std;
int main(int argc, char* argv[])
{
// char *a = "c:\\windows\\system32";char *a 声明出的字符串默认是只读的(const) 不能修改 不然下面会出现非法
char a[] = "c:\\windows\\system32";
char *p;
p = a;
p = strrchr(a, '\\');
*(p+1) = 0;
printf("%s\n", a);
return 0;
}
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
[求助]菜鸟遇上写CALL的问题
edi 是参数 根据你想要的效果来决定EDI
MOV ECX,ESI 类对象 或者理解为寄存器传参 要么HOOK 得到ECX 要么找到对象的基址
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|
能力值:
( LV12,RANK:240 )
|
-
-
|