摘要: 昨天调试代码的时候,用http请求一个图片,返回的结果为如下:HTTP/1.1 505 HTTP Version Not SupportedServer: Apache-Coyote/1.1Date: Wed, 27 Oct 2010 05:13:08 GMTConnection: close马上google一下,大多说505 HTTP Version Not Supported是由于服务器对http1.1协议不支持或者支持不好。咨询了一下服务器那边,明确说支持http1.1协议的。一下子没了办法,后来在一个文章中看到,由于http请求格式的错误而导致505的错误。马上对照一下自己的代码,从打 阅读全文
posted @ 2013-11-29 12:08 seamanj 阅读(2868) 评论(0) 推荐(0) 编辑
摘要: 1.下载JDK,当前版本下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html2.配置环境变量1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;3. 选择“系统变量”中变量名为“Path” 阅读全文
posted @ 2013-10-14 01:57 seamanj 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 如果stdafx.h和你当前的工程不在一个文件夹下,当你在代码中第一行写下#include "stdafx.h"时,VC编译器会根据编译规则(相关的规则请查看MSDN)来区别stdafx.h的位置,但是其智能感知工具IntelliSense却不能。所以你的代码即使能够通过编译器,而IntelliSense却不能感知到,因为它没有利用相同的规则。如果你指定了这个文件的具体位置,例如"..//stdafx.h",此时IntelliSene能够正确的感知到,而编译器却找不到,并给出一个错误。因为编译器只认识这样的预定义头文件字符:#include"s 阅读全文
posted @ 2013-08-25 22:10 seamanj 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 这里的简单驱动保护就是简单的HOOK掉内核API的现象找到被HOOK的函数的当前地址在此地址处先修改页面保护属性然后写入5个字节。5个字节就是一个简单的JMP指令。这里说一下JMP指令,如下:001JMP002这样我们就会跳到001(在此地址写入JMP指令)+002(我们要写入的JMP操作数)+5(jmp指令的字节数)这里、就是说如果你要跳回NtOpenProcess的原地址,就应该向被HOOK后的地址处写入这样的指令JMP(NtOpenProcess的原地址-被HOOK后的地址-5)为什么要减5呢?这么考虑,原地址为0,现在HOOK后为10,当你在HOOK的地址处写处JMP0后,IP到15到 阅读全文
posted @ 2013-07-10 00:13 seamanj 阅读(391) 评论(0) 推荐(0) 编辑
摘要: Ring3中的NATIVE API,和Ring0的系统调用,都有同名的Zw和Nt系列函数,一度让初学者感到迷糊。N久前的我,也是相当的迷糊。现在就以ZwOpenProcess和NtOpenProcess函数为例,详细阐述下他们的分别和联系。ntdll.dll导出了NtOpenProcess和ZwOpenProcess两个函数,我们记为ntdll!NtOpenProcess和ntdll!ZwOpenProcess。仔细看一下,会发现他们的入口点实际上都是一样的,这就是说,ntdll!ZwOpenProcess仅仅是ntdll!NtOpenProcess函数的别名而已,实现如下:ZwOpenPro 阅读全文
posted @ 2013-07-10 00:11 seamanj 阅读(1851) 评论(0) 推荐(1) 编辑
摘要: /*------------------------------------------------------------ HELLOWINDOW.CPP -- Displays "Hello,Windows!" in client area (c) Seamanj.2013/6/27------------------------------------------------------------*/#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int W... 阅读全文
posted @ 2013-07-03 07:54 seamanj 阅读(199) 评论(0) 推荐(0) 编辑
摘要: /*------------------------------------------------------------- screensize.cpp -- Displays screen size in a message box (c) Seamanj, 2013/6/26-------------------------------------------------------------*/#include #include //_vsntprintf在里面定义#include int CDECL MessageBoxPrintf( ... 阅读全文
posted @ 2013-06-26 18:15 seamanj 阅读(261) 评论(0) 推荐(0) 编辑