|
CreateWindow返回0,错误码是1407,大侠们帮忙看一下啊
那有可能是RegisterClass就失败了,而不是在CreateWindow处。 一般这么简单的程序找个向导生成,然后对比下就明白了。 |
|
[求助]学习VEH遇到不解的问题.
OutputDebugString 应该只会在调试器里起作用的,而且就算有调试器,也应该是debugger先收到异常,怎么会导致程序crash呢。 |
|
[原创]读取Outlook Express密码程序
LZ能不能大概描述一下过程。使用了哪些工具等。 |
|
[求助]内存访问硬件断点 Dr7应该如何设置啊
以前写的,应该还能用。 void DataBP( int arg1, char *arg2 ) { DWORD dw = 0x1234; CONTEXT cxt = { CONTEXT_DEBUG_REGISTERS | CONTEXT_FULL }, cxtOld; HANDLE h = GetCurrentThread(); //if( IsDebuggerPresent() ) { if( GetThreadContext( h, &cxt ) ) { cxtOld = cxt; cxt.Dr0 = &dw; cxt.Dr7 = 0x10501; // w1 // 00000000 00000001 00000101 00000001 // w4 // 00000000 00001101 00000101 00000001 // rw4 // 00000000 00001111 00000101 00000001 if( SetThreadContext( h, &cxt ) ) { dw = 0x4321; GetThreadContext( h, &cxt ); printf( "Break into debug with dr6 = %X, dr7 = %X.\r\n", cxt.Dr6, cxt.Dr7 ); // recovery or it won't end. SetThreadContext( h, &cxtOld ); } } } } |
|
[求助]seh时调用的一些参数
没看过你说的那书。 SEH还有点印象。 push dword ptr fs:[0] mov dword ptr fs:[0],esp 这2句代码是搭建SEH框架。前面应该至少还有一条push指令。 push dword ptr [ebp+14] push dword ptr [ebp+10] push dword ptr [ebp+C] push dword ptr [ebp+8] mov ecx,dword ptr [ebp+18] call ecx 这个函数有5个参数,在函数内部,把4,3,2,1参数入栈, 然后调用第5个参数,这是个函数指针。 int ExecuteHandler( PEXCEPTION_RECORD pExcptRec PEXCEPTION_REGISTRATION pExcptReg CONTEXT * pContext PVOID pDispatcherContext, FARPROC handler ) |
|
[求助]WinDbg在汇编窗口下怎么实现单步跟踪?
自带的帮助里都有,就看你愿不愿意去看了。 |
|
[招聘][南京 趋势科技] 诚聘
补充一点,虽然是家搞安全的公司,但应用还是主要的,开发对编程的知识比较看重。大家可以参考这2个帖子。可以从某一个侧面来了解我们的技术面试。 面试一道题--C模拟实现C++的多态 标准C++中实现线程类 |
|
[求助] Dll 注入添加用SetUnhandledExceptionFilter添加 VEH 修改内存属性,抛出异常进行跳转。求教高手
我糊涂了,也被雷了,LZ你确认你的方法是VEH嘛? 看看这个补充点基本知识,Windows平台下的异常处理 另外,不知道API怎么用无所谓的,但是要多看看MSDN, http://msdn.microsoft.com/en-us/library/aa366898(v=vs.85).aspx BOOL WINAPI VirtualProtect( __in LPVOID lpAddress, __in SIZE_T dwSize, __in DWORD flNewProtect, __out PDWORD lpflOldProtect ); dwSize [in] The size of the region whose access protection attributes are to be changed, in bytes. The region of affected pages includes all pages containing one or more bytes in the range from the lpAddress parameter to (lpAddress+dwSize). This means that a 2-byte range straddling a page boundary causes the protection attributes of both pages to be changed. |
|
|
|
[求助]win7下获取程序基址问题
如果是当前进程,GetModuleHandle( NULL )返回的是什么? 如果有其它进程的handle, HMODULE hMod; DWORD cbNeeded; HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID ); EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded); hMod应该就是。 |
|
|
|
[求助]请问互斥体支持多cpu的同步吗
mutex是个内核的数据结构,代码执行时,获得mutex的访问权的继续执行,无法获得的被阻塞。这和多CPU有什么关系?楼主想多了吧。 |
|
|
|
[讨论]windbg执行到指定模块的问题
用x命令列举一些你要断的模块中的符号,比如driverentry之类的,然后下断点。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值