|
|
|
[求助]关于IoGetDeviceObjectPointer获得设备对象的疑问?
对驱动还不熟,不过看IoGetDeviceObjectPointer的函数参考说明,IoGetDeviceObjectPointer函数返回的值并不是设备对象的值,而是让你用来判断获取设备有没有成功的值。 Return Value IoGetDeviceObjectPointer can return one of the following NTSTATUS values: STATUS_SUCCESS STATUS_OBJECT_TYPE_MISMATCH STATUS_INVALID_PARAMETER STATUS_PRIVILEGE_NOT_HELD STATUS_INSUFFICIENT_RESOURCES STATUS_OBJECT_NAME_INVALID |
|
[求助]想学VC++的dll编程。。。
写Dll和写exe程序是一样写的,只是将函数从exe中调用转到dll调用而已。 |
|
[求助]如何往unicode字符串后面添加NULL字符?
1、如楼上所说,没有这样做的必要。如果你的驱动结构中指向的名字没有超出你的缓冲区,你的缓冲区本身就已经是以NULL结尾的了。如果你的驱动结构中指向的名字超出你的缓冲区或刚好和你设定的缓冲大小一样,你再添加NULL只会另缓冲区更加溢出。 2、wcscat函数两个参数都是指针,而你传给wcscat函数的第二个参数是NULL,导致系统读取0地址,当然会蓝屏了。 |
|
[求助]怎样把\x00写入文件
WriteFile写文件时并不是以NULL作为结束符的,而是指定写入大小的。 char oepdata[4] = "\x00\x13\x00\x00"; DWORD nWriteLen; WriteFile(hFile,(LPCVOID)&oepdata,4,(DWORD*)&nWriteLen,NULL); |
|
|
|
[求助]CONTAINING_RECORD????????
汇编中取地址是十分方便的。如果是全局普通变量或结构变量,可以mov eax,offset GlobalVarStruct或者lea eax,GlobalVarStruct,局部普通变量或结构变量可以用lea指令取得。lea eax,LocalVarStruct。 在汇编中指针就是一个DWORD值,这个DWORD值对汇编来说,没有什么类型之分,你可以将这个指针当成任意的类型指针传给API都没问题。根本就不用像C一样要强制转换。 |
|
[求助](图)小菜菜求助 C++取具体地址中edi的值
像你这种情况只有使用DebugAPI函数对目标程序进行调试,并对那个地址下断,断下后可以用GetThreadContext函数获取目标进程的相关寄存器的值。 关于如何使用DebugAPI,论坛上有相关代码文章或参考相关文章,你可以找一找。 |
|
[求助].if !eax 的意思?
'!'操作符是反向判断的意思,就是.if eax是如果eax“不为零”则TRUE,那么加上"!"反向判断则是.if !eax的意思就是如果eax“为零”则TRUE。 not 20h就是将20h的值取反,另其等于-20h,也就是十六进制的0FFFFFFECh |
|
编写钩子函数的问题,都进来瞧瞧,搞了几个星期了
/*hookdll.h*/ //我只将你下面的DllImport extern "C" __declspec(dllimport)改成DllImport extern "C"__declspec(dllexport)就没有inconsistent dll linkage. dllexport assumed.这个错误了。 //#define DllImport extern"C"__declspec(dllimport) DllImport void InstallHook(int nCode); DllImport LRESULT CALLBACK KeyBoardProc (int nCode,WPARAM wParam, LPARAM lParam ); DllImport void EndHook(void); //下面这个错误在我这里没有出现有,你这里可能是工程设置有问题,建议你重新新建一个Dll工程再将前面的代码拷贝进去编译试试。 Creating library Debug/hook_exec.lib and object Debug/hook_exec.exp LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/hook_exec.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. |
|
[求助]请教一个宏问题???
呵,我发上来的宏就是从Debug.inc中拷出来的。 |
|
[求助]请教一个宏问题???
是你的宏有问题。你将你的宏改成我下面的宏就没问题了。 CTEXT macro Text local szText .data szText byte Text, 0 .code exitm <offset szText> endm |
|
[求助]请教一个宏问题???
也可能是你的CTEXT宏定义的问题,将你的CTEXT宏也发上来看一看, |
|
[求助]请教一个宏问题???
你的错误代码是什么?我刚才测试过,在aaaaa.asm文件里定义一个CTEXT宏我这里是可以编译通过的。 |
|
[求助]菜菜求助之读取内存中的ASCII码
// 大概像下面这样调用。不过,0x381A8这个地址看起来不像是程序自身拥有的,可能是动态申请的内存地址,所以,这个内存地址很可能在你读取这个内存时已经被目标程序释放而读取失败了。 char szBuff[256] = {0}; ReadProcessMemory(hProcess,(void*)0x381a8,(void *)&szBuff,8,NULL); |
|
[求助]请教一个宏问题???
不是不能,而是你的程序里面没有包含有CTEXT这个宏在文件里面,程序找不到这个宏。你可以在aaaaa.asm文件前面定义一个CTEXT宏或者用include将定义这个宏的文件包含进程序里就行了。 |
|
[求助]请教一个fasm的问题
对fasm不太熟悉,不过,有一句却是明显错的, proc _ProcWinMan, hwnd, wmsg, wparam, lparam push ebx esi edi ; 保存指针寄存器 cmp [wmsg], WM_CLOSE je .wmdestroy ; 这一句不管消息是什么都会跳到关闭窗口的代码中去,窗口当然显示不出来,因为都被你关闭了。 .wmdestroy: callw DestroyWindow,hWinMain callw PostQuitMessage, 0 xor eax, eax .defwndproc: callw DefWindowProc, [hwnd], [wmsg], [wparam], [lparam] pop ebx esi edi ret endp |
|
[求助]大大们救命啊,快疯掉了“我的练习题:想做一个简单的查找QQ聊天窗口工具”
将你的MFC代码改成SDK吧。 HWND hList = GetDlgItem(myhwnd,IDC_LIST1); SendMessage(hList,LB_ADDSTRING,0,(LPARAM)tt); |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值