shellcode定位kernel32与LoadLibrary //定位Kernel32__declspec(naked) int GetKernel32Base(){ __asm { XOR ECX, ECX ; ECX = 0 MOV ESI, FS:[ECX + 0x30] ; ESI = &(PEB) ([FS:0x30]) MOV ESI, [ESI + 0x0C] ; ESI = PEB->Ldr MOV
console 多线程 写一个console程序的时候使用了多线程 总是失败原来是编译选项的问题 console程序默认的时候采用的是单线程 修改C/C++ -> Code Generation -> Use run-time libray: 进行修改
基于icmp的ping函数 基于icmp的ping端口小程序,与系统自带的ping对比之后 准确率很高 由于是想快速扫描 而非准确扫描 所以很多错误细节没有考虑在内循环次数还是等待时间都比较低 根据需要可以进行修改 cpp文件//////////////////////////////////////////////////////////////////////// Construction/Destruction////////////////////////////////////////////////////////
网卡禁用 启用演示程序 #include "StdAfx.h"#include <windows.h>#include <setupapi.h>#include <tchar.h>#include <stdio.h>#include <setupapi.h>#pragma comment(lib,"ws2_32.lib")#pragma comment(lib,"setupapi.lib")#define UnknownDevice TEXT("<Unknown Device>")
RPC #include <winsock2.h>#include <windows.h>#include <stdio.h>#include <io.h>#include <fcntl.h>#include <memory.h>#include <wchar.h>#include "srvsvc.h"#include "srvsvc_c.c"#include "mem.h"#pragma comment(lib,"ws2_32")#pragma co
网卡MAC地址相关信息大全(整理)(上) 网卡地址这个概念有点混淆不清。因为实际上有两个地址,mac地址和物理地址,一般说网卡地址我是指物理地址,不知道别人怎么看?物理地址指的是网卡上的存放地址的ROM里的地址,mac地址是这块卡工作的时候用的地址,一般情况下这两个地址是一样的,所以很多人都混用了,甚至不知道有区别 -_-# 网卡工作的时候,一个以太网帧60到1514(不包括crc),帧的crc是网卡自动加的,前导码是自动加的。网卡目的地址和源地址是驱动程序加的.所以实际上网卡工作的时候用什么地址作为工作地址完全是由
纯SDK方式截屏并且保存为BMP格式 网上MFC例子不少.在写一个BHO的时候好多都不可以用了 以下是纯SDK方式写的函数名称可见函数功能//截图代码void Screenshots(){ HBITMAP hDesktopCompatibleBitmap=NULL; HDC hDesktopCompatibleDC=NULL; HDC hDesktopDC=NULL; HWND hDesktopWnd=NULL; RECT clientRect = {0,0,0,0};
BHO插件开发小结 A:关于BHO的注册1:在正常开发完之后 需要在rgs文件的后边添加如下代码HKLM { NoRemove SOFTWARE { NoRemove Microsoft { NoRemove Windows { NoRemo
主动防御的代码注入方法一点思考 (转载) 目前大多数的杀软都是hook NtWriteVirtualMemory和NtUserSetWindowsHookAW、NtUserSetWindowsHookE来防止代码注入。关于代码注入Ring3层的方法主要有:远程线程CreateRemoteThread消息钩子SetWindowsHookExRing3 APC QueueUserApc修改线程上下文SetContextThread其中第一种和第三种方法需要传入一个par
控制台程序安装全局钩子 今天在写一个程序的时候发现的问题,在以前的学习过程中没有遇到过,所以记录以备后查程序大致是这样的 A:主程序 控制台程序 负责安装一个WH_KEYBOARD_LL钩子,其中钩子的安装于回调函数在Hook.Dll中B:目标程序 窗体程序怎么操作都不行,Hook.dl可以确定没有任何差错,dll的调用以及SetHook都可以调用,就是回调函数来不了后来经过不断调试发现,原来钩子是依靠的消息响应机制,所以必须要有消息响应才可以所以务必要添加上 MSG msg; DWORD ret; while (r
汉化Caption小结 遇到一个delphi程序 使用Sisulizer汉化很成功,不过其caption属性 既在 标准资源中找不到在非标准资源中也找不到 Alt+M下资源内存断点 也是没有找到 后来发现在mdb文件中 总结 如果在标准资源和非标准资源中都找不到的时候 可以尝试在数据库文件或者ini等文件中查找 或许会有意想不到的收货
"未预期错误" 小问题大麻烦 在写一个服务器程序的时候刚开始还好 后来换了一个图标之后就不断弹出"未预期错误" baidu下发现原来是32位位图在16位下不能识别,故发生该错误 设置-->颜色质量-->修改为匹配的
只有mdf文件的恢复技术(已实践成功) 由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息 设备激活错误。物理文件名 'C:/Program Files/Microsoft SQL Server/MSSQL/data/test_Log.LDF' 可能有误。 已创建名为 'C:/Program Files/Microsoft SQ
siteserver2的模板要理清以下几个概念 siteserver2的模板要理清以下几个概念1:首页模板2:栏目模板3:栏目内容模板4:内容模板 其中显示栏目内容的代码如下 <table width="100%" border="0" cellspacing="5" cellpadding="0" style=" padding-left:20px; padding-right:20px; pad 处理webbrowser2控件浏览网页时发生的当前页脚本错误 将webbrowser控件的silent属性设置为true pspCidTable 一. pspCidTable概念及内核调试-----------------------------------------------------pspCidTable是内核未导出的HANDLE_TALBE结构,它保存着所有进程和线程对象的指针。只要能遍历这个PspCidTable句柄表,就可以遍历到系统的所有进程,包括所有隐藏进程,除非你抹掉pspCidTable...<br WinDBG双机调试配置 安装windbg http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx主机和虚拟机都要安装WinDBG一:在VM中使用命名管道模拟一个串口//./pipe/com_1This end is then serverthe other and is an application二:主机增加windbg快捷方 编写shellcode 常见敏感字符 编写shellcode 常见敏感字符0x000x20 0x0A0x0D0x0B0x0c ShellCode第一课 C代码 #include "stdafx.h"#include <stdio.h>#include <string.h>#include <windows.h>#include <process.h>int Check(){ char szPwd[50] = {0}; char Pwd[] = "Hello"; FILE *pFile = fopen("Shell.bin","r+"); if (pFile == NULL) { 异常处理 C++标准中只规定了异常处理的语法,各编译器厂商也都予以实现。但由于C++标准中并没有规定异常处理的实现过程,造成了不同厂商的编译器,编译后产生的异常处理代码也不相同。本教程中一直使用微软C++编译器系列中的Microsoft Visual C++ 6.0,因此本章也不例外,依然使用VC6.0用于调试讲解。 C++中异常处理机制由try、throw、catch语句组成。q try语句块中负责监视异常。q throw用于异 加载更多
pspCidTable 一. pspCidTable概念及内核调试-----------------------------------------------------pspCidTable是内核未导出的HANDLE_TALBE结构,它保存着所有进程和线程对象的指针。只要能遍历这个PspCidTable句柄表,就可以遍历到系统的所有进程,包括所有隐藏进程,除非你抹掉pspCidTable...<br
WinDBG双机调试配置 安装windbg http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx主机和虚拟机都要安装WinDBG一:在VM中使用命名管道模拟一个串口//./pipe/com_1This end is then serverthe other and is an application二:主机增加windbg快捷方
ShellCode第一课 C代码 #include "stdafx.h"#include <stdio.h>#include <string.h>#include <windows.h>#include <process.h>int Check(){ char szPwd[50] = {0}; char Pwd[] = "Hello"; FILE *pFile = fopen("Shell.bin","r+"); if (pFile == NULL) {
异常处理 C++标准中只规定了异常处理的语法,各编译器厂商也都予以实现。但由于C++标准中并没有规定异常处理的实现过程,造成了不同厂商的编译器,编译后产生的异常处理代码也不相同。本教程中一直使用微软C++编译器系列中的Microsoft Visual C++ 6.0,因此本章也不例外,依然使用VC6.0用于调试讲解。 C++中异常处理机制由try、throw、catch语句组成。q try语句块中负责监视异常。q throw用于异