win32编程
whitehack
这个作者很懒,什么都没留下…
展开
-
CriticalSection临界区封装类
<br />#pragma once //编译一次class CCriticalSection //临界区封装类{public: CCriticalSection(DWORD dwSpinCount=0) //使用旋转锁 参考值 4000 不为0 则会创建一个事件内核对象(多线程同时访问这个事件内核对象才有用) { m_bInit=FALSE; if (dwSpinCount==0) { InitializeCriticalSection(); }原创 2010-12-31 17:23:00 · 3674 阅读 · 0 评论 -
全局异常过滤程序 以及 finally 块 演示
<br />#include <WindowsX.h>#include <atlstr.h> //可以用 cstring了#include <stdio.h>#include <locale>#include <CommCtrl.h>//windows通用控件接口// Returns the HMODULE that contains the specified memory addressstatic HMODULE ModuleFromAddress(PVOID pv)原创 2011-03-07 03:39:00 · 1872 阅读 · 0 评论 -
Visual C++ 6.0 便携特别版.by.cntrump 2011.02.12
<br />原来的帖子在这里:<br />http://bbs.unpack.cn/thread-60359-1-1.html<br />又不能更新了,只能再开新帖。如果方便的话,希望版主帮忙合并一下。<br /><br /> <br /> <br /><br />更新记录:<br />2011-02-11<br />1. 增加 TinyXml SDK。<br />2. 修正不能设置 Intel C++ 编译的问题。<br />3. 添加环境变量的可选设置。<br /><br />文件名称: vc.60.p转载 2011-05-09 20:14:00 · 4813 阅读 · 5 评论 -
向量化异常处理程序 继续处理程序 veh 例子
<br /> <br />继续处理程序不知为何 竟然不触发!<br /> <br />#include <WindowsX.h>#include <atlstr.h> //可以用 cstring了#include <stdio.h>#include <locale>#include <CommCtrl.h>//windows通用控件接口LPTOP_LEVEL_EXCEPTION_FILTER pprev=NULL;// Returns the HMODULE that contain原创 2011-03-22 13:52:00 · 8441 阅读 · 0 评论 -
使用 LoadLibrary 远线程向进程注入dll
<br />BOOL WINAPI InjectDllWithLoadLibrary(HANDLE hProcess,LPCTSTR lpszDllPath)//; //使用 LoadLibrary的方式注入dll{ LPVOID lpNameAddr=VirtualAllocEx(hProcess,NULL,lstrlen(lpszDllPath)+sizeof(TCHAR),MEM_COMMIT,PAGE_EXECUTE_READWRITE); if (lpNameAddr==NULL)原创 2011-05-12 11:15:00 · 2964 阅读 · 0 评论 -
关于 STM_SETIMAGE 的使用 有一个注意事项
<br /> HBITMAP holdmap=(HBITMAP)SendMessage(picwnd,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hmap); if (holdmap!=NULL) { DeleteObject(holdmap); } DeleteObject(hmap) <br /> <br />在做一个项目 因为要不停的 STM_SETIMAGE 设置新的位图 <br />但是发现一个问题设置一个为图就增长一次内存 很明显.有地方内存泄原创 2011-05-24 21:01:00 · 4788 阅读 · 0 评论 -
vs2010 用 vax的话 可以关闭 IntelliSecen 提高运行速度
有了 vax 感觉就无需在开启vs的 IntelliSecen 功能了 关闭方法 工具->选项->文本编辑器->高级->禁用数据库 true 即可原创 2011-06-09 13:14:00 · 2302 阅读 · 0 评论 -
正确使用 VC的 预编译头
以前一直不知道 预编译头是干嘛的害得我骂了两年vc的编译速度.....唉无知真可怕啊 使用了预编译 以后 编译速度飞快.... 一、预编译头文件使用经验:如果预编译头文件被正确使用时,它确实大大提高我们编程的效率(你工作中,有多少时间是在等编译完成?很多吧,这个时候一般都很无聊,无奈,浪费时间)。但是他太容易用错了. 下面是几种常见转载 2011-06-09 09:23:00 · 2405 阅读 · 0 评论 -
使用 VMProtect 出现 未闭合标识的解决方法
http://vmpsoft.com/forum/viewtopic.php?f=4&t=223 导致出现未闭合标识的 原因是因为 编译器优化 一个解决方法是在需要vm的代码 前后 使用 预编译宏 #pragma optimize( "g", off )VMProtectBegin;// codeVMProtectEnd;#pragma optimize原创 2011-06-25 02:39:00 · 5313 阅读 · 0 评论 -
玄武OnLine Client.exe 的命令行加密方法
<br />朋友让帮忙分析这个游戏的命令行的加密方法 <br />(挺有意思的<br /> <br /> <br />这是分析完的<br />LPSTR WINAPI GetXWLoginParam(LPSTR szBuff)//; //至少64字节buff{ FILETIME ft={0}; GetSystemTimeAsFileTime(&ft); ft.dwLowDateTime+=0x2AC18000; ft.dwHighDateTime+=0xFE624E21; DWOR原创 2011-05-04 00:38:00 · 2677 阅读 · 0 评论 -
使用HANDLE_MSG宏简化Win32应用的开发
http://blog.csdn.net/tanghw/article/details/5438093Win32应用中的回调函数WndProc用于接收Windows向应用程序直接发送的消息,以及响应消息。大多情况下,我们这样编写代码:转载 2011-08-17 20:42:56 · 1973 阅读 · 0 评论 -
用Aheadlib 生成lpk 修改了下
传送门:AheadLib 2.2.150传送门:AheadLib 2.2.150 源码Aheadlib 默认生成的lpk没办法直接使用 必须修改 下面是我参考了一个朋友给我的源 修改而成//////////////////////原创 2011-08-18 17:58:14 · 5703 阅读 · 1 评论 -
精确计算代码段执行时间
#include #include #include #include #include //...........int WINAPI findString(int lpmem,int memsize,int lpString,int StringSize,int原创 2010-12-24 03:50:00 · 2078 阅读 · 0 评论 -
让MFC的 WebBrowser 控件 使用IE8或以上的内核(默认是IE7) 并且使用IE按钮样式
完全不熟悉web方面的东西 方法都是网上找的 具体出处没有记录首先 让WebBrowser 使用 IE8或以上的内核void WINAPI WriteWebBrowserRegKey(LPCTSTR lpKey,DWORD dwValue){原创 2011-08-28 00:39:32 · 11405 阅读 · 3 评论 -
vs2010 默认的用户属性表 Microsoft.Cpp.Win32.user.props
之前装了vs2008 然后装了vs2010 手贱点了套用vs2008配置导致重装了一夜vs2010希望对和我一样悲剧的人有用C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props $(VCInstal原创 2011-10-25 08:19:09 · 12381 阅读 · 5 评论 -
【屠夫科普】感染PE增加导入项实现注入
原文:http://www.ghoffice.com/bbs/read-htm-tid-94760.html【屠夫科普】感染PE增加导入项实现注入.上篇文章>承诺放出源码分享.今天实现. 之前有朋友说此方法还不够通用.原因有个别国外游戏会启动后,对自身加载的所有文件进行HASH效验,不过它可以检测自带的文件.难道连系统文件也效转载 2011-10-27 20:53:20 · 2245 阅读 · 0 评论 -
在dll内 不熟悉__declspec(thread)的话 尽量不要用
有个 dll 在win7 系统正常 放到xp系统 访问了 __declspec(thread) 变量 就直接挂掉 最后看了下 windows核心编程上的 "线程局部储存" 部分 ,看起来是跟dll初始化部分有关系.但是还没有时间仔细研究 最后只能放弃在这个dll中使用线程局部储存希望对大家有用原创 2012-01-03 10:53:03 · 2327 阅读 · 0 评论 -
spy4win 插件 显示隐藏窗口并突破灰色按钮
<br /> <br />spy4win没有这个小功能 所以写个小插件<br /> <br /> <br />#include <windows.h>BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){ switch(fdwReason) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREA原创 2011-03-07 03:00:00 · 3315 阅读 · 2 评论 -
不注入 枚举桌面图标名称与坐标
<br />看到核心编程22章的 dips 线程钩子注入dll 保存与获取图标名称及坐标<br /> <br />想写个小程序直接枚举图标名称与坐标 没想到 LVM_GETITEMTEXT 的 LVITEM参数必须是listview对应进程的内存地址才行<br />外部进程无法获取到<br /> <br /> <br />所以折腾完发表保存下<br />#include <WindowsX.h>#include <atlstr.h> //可以用 cstring了#include <stdio.原创 2011-02-17 22:06:00 · 4176 阅读 · 3 评论 -
Winsock IO 模型 - 选择模型
选择模型//#define FD_SETSIZE 8888 //可以自己定义可以连接的客户端个数 #include <winsock2.h> #include <stdio.h> //#pragma comment(lib,"kernel32.lib") //#pragma comment(lib,"user32.lib") //#pragma comment(l...原创 2011-01-02 14:44:00 · 2070 阅读 · 0 评论 -
枚举QQ或者TM进程、标题、窗口信息、QQ号码昵称等
<br />相关链接: http://bbs.eyuyan.com/read.php?tid=244922&fpage=3<br /> <br /><br />begin<br /> <br />网页返回:<br />portraitCallBack({"xxxxxxxx":["http://imgcache.qq.com/qzone_v4/client/userinfo_<br />icon/5001.gif",157,0,0,0,0,"xxxxx",0]})<br />网页返回end<br /> <b原创 2011-01-03 15:15:00 · 3290 阅读 · 0 评论 -
文本动态随机加密
<br /> <br /> <br />#include <Windows.h>#include <atlstr.h> //可以用 cstring了 #include <stdio.h>//#pragma comment(lib,"kernel32.lib")//#pragma comment(lib,"user32.lib")//#pragma comment(linker, "/SUBSYSTEM:windows")//#pragma comment(linker, "/ENTR原创 2011-01-04 14:12:00 · 2352 阅读 · 0 评论 -
vs2010 vc6 编译体积优化
<br /> <br /> VC写的程序体积是挺大的,网上也有很多优化的文章,都是针对VC6.0来说的。我把我的总结下。<br />#include <windows.h> <br />#pragma comment(lib,"kernel32.lib") <br />#pragma comment(lib,"user32.lib")<br />写Win32程序的话,windows.h 是必须的,使用动态连接必要的系统库,可以把link下的链接库全部删除,需要就练级。<br /> <br />转载 2011-01-01 21:52:00 · 9027 阅读 · 0 评论 -
vs 调用com对象 Msxml2.XMLHTTP 获取网页源码
<br />到处扯 终于扯到 vs 能用的 com对象调用方式了<br /> <br />相信有不少人在找vs c++ 调用 com对象的方法<br /> <br />参考 http://topic.csdn.net/u/20070315/16/5a9a278f-4bf1-43e4-908e-a78ad69b0796.html<br /> <br /> <br />写的非常乱 也不知道有没有资源泄露<br />#include <Windows.h>#include <atlstr.h> //可以用 c原创 2011-01-03 11:13:00 · 4331 阅读 · 1 评论 -
原来转换 网页utf8 如此简单
<br /> <br /> <br /> <br />#include <Windows.h>#include <atlstr.h> //可以用 cstring了 哈哈哈哈#include <tlhelp32.h>#include <stdio.h>#include <locale>//#pragma comment(lib,"kernel32.lib")//#pragma comment(lib,"user32.lib")//#pragma comment(linker, "/原创 2011-01-04 07:18:00 · 2102 阅读 · 0 评论 -
用windows api 分解文件 路径
<br />#include <stdio.h>#include <Windows.h>#include <wchar.h>#include <stdlib.h>#include <locale>int main(){ setlocale(LC_CTYPE, "");//让wprintf 支持中文 LPTSTR szfileName = new TCHAR[MAX_PATH]; GetModuleFileName(NULL, szfileName , MAX_PATH);原创 2011-01-08 16:25:00 · 2223 阅读 · 0 评论 -
win32 api 取大体积文件大小
<br />又是剽窃核心编程..<br />#include <stdio.h>#include <Windows.h>#include <tchar.h>#include <locale>int main(){ //取文件大小 _tsetlocale(LC_CTYPE,TEXT("")); DWORD dwSizeHigh; DWORD dwSizeLow=GetCompressedFileSize(TEXT("E://Virtual Machines//Wi原创 2011-01-08 18:13:00 · 3350 阅读 · 0 评论 -
win32 api 调用浏览文件 保存文件对话框 以及浏览文件夹对话框
<br /> <br />整理一下..<br /> <br />#include <stdio.h>#include <Windows.h>#include <tchar.h>#include <locale.h>#include <ShlObj.h>//选择文件夹 用到//打开文件 保存文件#define MAX_FILE_FOR_SEL 20 //最大允许选择的文件数void showFile(LPCTSTR szFile){ _tprintf(TEXT("File原创 2011-01-11 18:32:00 · 9481 阅读 · 3 评论 -
iocp(完成端口)进度复制文件 可暂停 恢复 停止
<br /> <br />好久没有用E写过程序了<br /> <br />看到了核心编程第十章 <br /> <br />就自己瞎整了下 发在了E论坛 有兴趣的可以瞧瞧<br /> <br />http://bbs.eyuyan.com/read.php?tid=248506<br /> <br />原创 2011-01-11 23:36:00 · 2141 阅读 · 0 评论 -
一个格式化数字字符串函数
<br />又是剽窃核心编程<br /> <br />// This function accepts a number and converts it to a// string, inserting commas where appropriate.PTSTR BigNumToString(LONG lNum, PTSTR szBuf, DWORD chBufSize) { TCHAR szNum[100]; wsprintf(szNum, TEXT("%d"), lNum); NU原创 2011-01-17 00:37:00 · 1614 阅读 · 0 评论 -
一个简单的纤程演示... 还有核心编程上的 纤程 例程
<br />#include <windows.h>#include <tchar.h>#include <stdio.h>PVOID g_MainFiber=NULL;// This function accepts a number and converts it to a// string, inserting commas where appropriate.PTSTR BigNumToString(LONG lNum, PTSTR szBuf, DWORD chBufSiz原创 2011-01-17 00:50:00 · 2515 阅读 · 0 评论 -
简单谈下 怎么避免游戏检测非法调用call
<br /><br />一般情况下 按照以下处理方式就可以避免了<br /> <br />例如 龙OL 这样处理就不会被检测到非法调用call了<br /> <br /> <br /> <br />在游戏地址空间找到一处空位置 写入如下机器码<br /> <br />004014D9 58 pop eax ; 弹出返回地址<br />004014DA A3 E8144000原创 2011-01-17 02:57:00 · 12830 阅读 · 2 评论 -
剽窃核心编程 共享区段共享数据 另外还有一个不太明白的 RegisterWindowMessage
<br /><br /> g_uMsgAppInstCountUpdate =<br /> RegisterWindowMessage(TEXT("MsgAppInstCountUpdate"));//注册一个消息PostMessage(HWND_BROADCAST, g_uMsgAppInstCountUpdate, 0, 0);让我觉得非常神奇<br /> <br />/************************************************************原创 2011-01-21 23:27:00 · 2288 阅读 · 0 评论 -
TLS 局部线程储存 一个演示小例子
<br />#include <Windows.h>#include <stdio.h>__declspec(thread) int gt_nNum=0;//全局tls变量CRITICAL_SECTION g_cs;//临界区void WINAPI TestThread(int * pParam){ __declspec(thread) static int st_nNum=0;//静态tls变量 srand(GetTickCount()); for (int i=0;i<5原创 2011-01-28 11:06:00 · 1801 阅读 · 0 评论 -
天天QQ记牌器2.37 去广告绿色版
<br />帮一个朋友忙 <br />把这款软件的广告nop掉<br /> <br />听说是挺好的一款记牌器<br /> <br /> <br /> <br />已经上传到资源里<br /> <br /> <br /> <br />简单说下步骤<br /> <br />1.脱壳.. <br />用看雪大牛的 Aspr2.XX_unpacker_v1.0SC.osc 脚本脱壳<br />具体用法就不说了 gg下就知道了<br /> <br />2.最简单的方法是 搜索 tntn.cn 把字符串都替换成原创 2011-02-05 22:31:00 · 3123 阅读 · 0 评论 -
安装vs2015 一定要关掉 360相关的任何东西 包括 360的浏览器
尽量典型安装 自定义安装的话 android相关的勾勾一定不要去掉! 尽管你已经有了…. 可以安装完以后在vs里自己重新配置安装vs2015 一定要关掉 360相关的任何东西 包括 360的浏览器原创 2015-07-19 17:28:20 · 10458 阅读 · 0 评论