
Windows
土豆吞噬者
这个作者很懒,什么都没留下…
展开
-
ZwQueryObject引起的OD无响应
最近在使用OD调试一个程序的时候经常遇到OD无响应,查看无响应时的堆栈发现OD在调用ZwQueryObject时阻塞了,根据参数可知是是在查询一个文件的ObjectNameInformation,不清楚OD为什么要做这个操作,直接Patch掉OD的这段代码,竟然就正常了。...原创 2019-01-29 19:42:02 · 664 阅读 · 1 评论 -
WIN32_LEAN_AND_MEAN的作用
WIN32_LEAN_AND_MEAN原创 2019-02-19 22:32:45 · 1332 阅读 · 0 评论 -
FreeLibrary卸载dll失败问题分析
今天遇到一个诡异的现象,程序加载一个dll,这个dll会启动一个线程,在这个线程结束前调用FreeLibrary,理论上程序应该会由于内存访问出错而崩溃才对,但是并没有崩溃,而且在线程结束后dll被正常卸载了。主程序代码int main(){ auto module=LoadLibraryA("demo.dll"); Sleep(5000); printf("ret=%d", Free...原创 2019-03-15 01:48:12 · 6160 阅读 · 2 评论 -
通过GetVersionEx获取Win10版本号
<?xml version="1.0" encoding="UTF-8"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <compatibility xmlns="urn:schemas-microsoft-com:compatibi原创 2019-03-19 23:46:27 · 3874 阅读 · 0 评论 -
Procmon打开后无反应的问题
某天在其他电脑上打开Procmon的时候发现没有反应怀疑是不是被拦截了于是对Procmon进行加壳以及改程序名称依然不行最后OD跟踪发现需要打开Netlogon服务...原创 2018-09-02 19:39:09 · 666 阅读 · 1 评论 -
一个DNS无法解析的问题
某天遇到一个域名无法解析的问题修改Host文件也没用跟踪发现浏览器在使用DNSResolver这个ALPC Port端口进行RPC通信的时候阻塞了结束掉NetWork Location Aware服务即可解决问题...原创 2018-09-02 19:41:10 · 3223 阅读 · 0 评论 -
C++结构化异常处理
什么是结构化异常处理结构化异常处理(SEH)是C语言的Microsoft扩展,可以处理各种硬件或软件异常,由于只支持Windows,所以不具备可移植性。try-except语句__try{ // guarded code}__except ( expression ){ // exception handler code}try-except语句可以使被保护的代...原创 2019-06-15 23:26:40 · 1252 阅读 · 0 评论 -
Windows下异常处理优先级
调试器VEH,顶端向量化异常处理,AddVectoredExceptionHandlerSEH,结构化异常处理,__try{}__except{}UEF,顶级异常处理,SetUnhandledExceptionFilterVCH,底端向量化异常处理,AddVectoredExceptionHandler...原创 2018-12-20 14:30:02 · 739 阅读 · 0 评论 -
create user mode stack trace database引起的“内存泄漏”
诡异的内存泄漏最近在调试一个服务端程序的内存泄漏问题,代码改好后准备再进行一次测试,为了防止出问题,特意开启了create user mode stack trace database,待程序运行后用umdh转储了一份日志文件,并记录下当时的Private Size为128M。结果第二天去看,Private Size变为了138M,还是泄漏了10M?但是诡异的是增长的这10M不是在堆里,而是在P...原创 2018-12-02 09:57:33 · 658 阅读 · 0 评论 -
测试驱动要注意的
如果驱动没有正式签名想要测试,需要运行下面的命令bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKSbcdedit -set TESTSIGNING ON 但是仅仅这样还是不够的还需要开启调试模式或者打上测试签名,两者满足一个就行bcdedit /bootdebug ONbcdedit /debug ON ...原创 2018-09-02 19:43:49 · 1125 阅读 · 1 评论 -
Unable to load image ntoskrnl.exe的问题
最近在分析一个蓝屏dump时发现,nt模块加载不了符号表,其他系统驱动的符号表都能加载成功3: kd> .reload /f ntUnable to load image ntoskrnl.exe, Win32 error 0n2*** WARNING: Unable to verify timestamp for ntoskrnl.exe*** ERROR: Module load comp原创 2017-09-22 23:52:34 · 22861 阅读 · 2 评论 -
使用原子操作进行hook
什么是原子操作资源原本的值是A,现在将资源的值修改为B,在这个过程中,其他线程访问该资源时,获取的值要么是A,要么是B,不会有中间值出现。需求最近在写一个程序的时候,需要hook其他进程代码(64位进程),对稳定性要求很高,另外为了提高隐蔽性,打算用WriteProcessMemory写入shellcode,这样不用注入dll。hook方式的选择inline hook和IAT hook都...原创 2018-11-14 21:00:49 · 390 阅读 · 0 评论 -
使用RegQueryValueEx读取注册表乱码问题
使用RegQueryValueEx读取字符串类型的值时,Windows不保证读取到的内容以空字符结尾。To ensure that any string values (REG_SZ, REG_MULTI_SZ, and REG_EXPAND_SZ) returned are null-terminated, use the RegGetValue function....原创 2019-06-12 21:42:50 · 864 阅读 · 0 评论