VC程序查错之内存访问异常

作者:langouster

先来看下面这张图,相信很多程序员都见过类似。

---------------------------
test1.exe - 应用程序错误
---------------------------
"0x00401002" 指令引用的 "0x00000000" 内存。该内存不能为 "written"。

要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
---------------------------
确定   取消  
---------------------------

...

VC程序查错之序言

作者:langouster

一直准备写一个关于C、C++程序调错的专题,这个专题面向的主要人群是程序开发人员,从今天开始争取每周写一点,把我所知的一些小东西和大家分享分享。

一。工具准备,我常用的工具有:

VS2005是我用的最多的开发工具,他的强大的调试分析能力注定会成为我们调试程序的首选。

Windbg是微软出的专门的调试器,功能非常强大,支持应用程序与双机驱动调试,但它的界面实在是太简略。

IDA是一款强大的二进制反汇编与分析工具,其中的F5插件支持直接把exe文件反编译成C语言。

...

VC向网页注入脚本

IHTMLDocument2 *pDoc2

......

IHTMLWindow2 *pWindow;
HRESULT hr=pDoc2->get_parentWindow(&pWindow);
VARIANT ret;
ret.vt=VT_EMPTY;
CComBSTR func="alert(document.cookie)";
CComBSTR lang="JAVAScript";
hr=pWindow->execScript(func,lang,&ret);

...

另一种枚举进程模块的方法

在ntdll里有一张表,叫作LdrpHashTable,这张hash表中保存了进程已经的模块列表,函数GetModuleHandle就是通过查找这张句返回模块句柄的。

这张hash表也指向LDR_DATA_TABLE_ENTRY,作为HashLinks字段:

typedef struct _LDR_DATA_TABLE_ENTRY
{    
 LIST_ENTRY      InLoadOrderLinks;
...

绕过360安全卫士写自启动项 能自启动

360安全卫士是通过轮询比较当前自启动项与先前保存的自启动项的差别来检测自启动项的增加的,一段的方法绕过它可能不是那么容易。

下面贴段代码,可以绕过360安全卫士写自启动项。

源程序:

IE卫士正式版 规划

IE V2.0测试版已经发布近一年,在这一年里我迟迟没有发布正式版,不是因为我懒。而是因为当初能做到的都已经在测试版中做到了,而且发布后也没什么大的BUG,所以就没有再发布正式版,测试版实际上就相当于正式版了。

这段时间想到了一个以前一直没能解决的问题的解决方案,所以决定升下级,下一版本暂定版本号V2.1。并将增加或增强如下功能:

一。IE卫士所有的防护都是依赖于HOOK的,但在过年的一年中已经有少量“牛人”通过复杂的shellcode实现了钩子的恢复,以前一直没能解决反恢复功能,最近想到了解决办法,在下一版本中将体现。

...

突破卡巴7文件保护写文件

突发灵感,发现一个卡巴的小BUG,没什么用,更没什么技术含量,高手飘过。

在开启卡巴自我防护的情况下,我们是不能在卡巴的安装写或修改文件的,但利用点小技巧还是可以绕过的。

代码如下:

结束icsword1.22 rootkitunhooker3.7 3604.6

结束icsword1.22

rootkitunhooker3.7

360安全卫士4.6 

360保险箱2.1

 为广大网民着想,只放个录像。

分页:[«]1[2][3][»]

Powered By Z-Blog 2.0 bate Build Theme by toboku

Copyright langouster. Some Rights Reserved.   苏ICP备06046736号