vc学习心得
fanpeii
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VC下的 PEEK POKE
在PB下的BOKE,让我很惊奇。没有经过API直接修改内存,于是我就像能够做出一样的代码。虽然有点形似了,但是还是觉得有很多问题。代码如下。BYTE POKE(DWORD Address,BYTE code){ _asm { mov eax,code mov byte ptr [Address],code } return 1;}其实也可以这么的。#define POKE(type,Address,code) _asm mov type ptr [Address],c原创 2010-07-25 18:08:00 · 796 阅读 · 0 评论 -
创建互斥对象,让程序只运行一个。
int _tmain(int argc, _TCHAR* argv[]){ // 创建互斥量 不允许多开 HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"my_server_one"); // 检查错误代码 if (GetLastError() == ERROR_ALREADY_EXISTS) { // 如果已有互斥量存原创 2012-10-25 09:56:30 · 689 阅读 · 0 评论 -
利用 GetModuleFileName 获得当前目录
#include #include #include #define IN_DLL_NAME L"360safes.dll"#define IN_XL_DLL_NAME L"xl.dll"void W_Get_APP_Path(WCHAR *OUT_PATH,WCHAR *OUT_PATH2){ WCHAR lpFilename[256]; WCHAR* s原创 2012-10-25 09:54:18 · 969 阅读 · 0 评论 -
VC 全屏截图 局部截图
使用前 以下必须先设置 项目->属性->配置属性->常规->MFC的使用 选择“在共享 DLL 中使用 MFC” 代码如下 // vc截图.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include //#include HBITMAP CopyScreenToBitmap(LPRECT lpR原创 2012-11-07 21:58:12 · 4755 阅读 · 2 评论 -
判断操作系统
// 判断操作系统.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include void GetSystem(){ int a=0,b=0,i=0,j=0; _asm { pushad mov ebx,fs:[0x18] ; get self pointer fro原创 2012-10-25 13:25:22 · 841 阅读 · 0 评论 -
vc 线程 通信
可以发送少量文本数据。 // 线程间通信.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #define WM_USER_MSG WM_USER+102COPYDATASTRUCT SendText;DWORD WINAPI Thread(LPVOID lpParameter){ COPYDATASTRUCT re_Sen原创 2012-11-08 18:08:38 · 981 阅读 · 0 评论 -
vc 控制台下 窗口消息处理 以及 定时函数 SetTimer
控制台是没有窗口处理队列的,所以必须自己处理函数。 进程间的通信。用 #define WM_USER_MSG WM_USER+102 WM_COPYDATA貌似不起作用。 我们手动制作一个消息处理函数,然后就可以进行 settimer,定时处理任务了。 // HOOK 消息循环处理.cpp : 定义控制台应用程序的入口点。//#include "StdAfx.h原创 2012-11-08 16:49:03 · 2434 阅读 · 0 评论 -
hook 窗口消息队列
此段代码,不能在控制台里运行,必须有窗口。 // HOOK 消息循环处理.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include ////LRESULT (CALLBACK *Old_WindowProc) (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);LONG O原创 2012-11-08 16:41:38 · 2742 阅读 · 0 评论 -
获取系统运行进程信息——PSAPI介绍使用 .
网上资料显示,有这么三种方法可以用来获取系统运行进程信息:方法平台备注PSAPIWindows NT,Windows2000,Windows XP获取进程,驱动器,模块,内存和工作集信息性能计数器Windows NT,Windows2000,Windows XP提供除进程清单以外的关于进程的原创 2012-10-24 15:57:40 · 1282 阅读 · 0 评论 -
函数指针赋值
在远程注入的时候特别需要给函数指针赋值。 有以下2种方法,第一定义方法。主要用于给大量同参数的函数注入。 #include "stdafx.h"#include "windows.h"typedef int (_stdcall * p_MessageBoxA)(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)原创 2012-10-22 21:11:30 · 5407 阅读 · 0 评论 -
获取编辑框控件的内容的几种获取方法
获取编辑框控件的内容的几种获取方法。1.GetDlgItem获取文本编辑框的指针来获取内容. 12.使用 GetDlgItemText 函数获取文本框的内容。. 13.,使用 GetDlgItemInt来直接获取数值内容。. 24.第四种方法在类的定义变量来关联控件. 25.第五种使用SendMessage获取编辑框内容。. 3 1.GetDlgItem获取文本编辑框的指针来获取内容先使用 GetDlgItem(编辑框的ID)获取编辑框的指针。再指向编辑框的GetWindowText函数将获取内容保存至指定原创 2010-08-18 10:24:00 · 24515 阅读 · 3 评论 -
VC 动态创建按钮
<br />vc 如何建动态按钮<br /> <br />在类的定义中,定义如下变量<br />Cbutton m_btn;<br /> <br />那么在类的成员函数中就可以使用了如下来创建按钮。<br />m_btn.Create("动态创建的按钮",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,100,100),this,123);<br />注,创建第二次的时候会出错。所以要用。<br />M_btn. DestroyWindow();<br />来释原创 2010-08-18 10:40:00 · 1583 阅读 · 2 评论 -
VC 动态创建按钮
<br />vc 如何建动态按钮<br /> <br />在类的定义中,定义如下变量<br />Cbutton m_btn;<br /> <br />那么在类的成员函数中就可以使用了如下来创建按钮。<br />m_btn.Create("动态创建的按钮",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,100,100),this,123);<br />注,创建第二次的时候会出错。所以要用。<br />M_btn. DestroyWindow();<br />来释原创 2010-08-18 10:51:00 · 4491 阅读 · 0 评论 -
动态链表的使用。
代码比较混乱,主要意思是动态创建一个链表。原创 2010-09-11 02:18:00 · 699 阅读 · 0 评论 -
vc 内嵌汇编 部分经验
vc 内嵌汇编 部分经验原创 2010-09-19 19:18:00 · 722 阅读 · 0 评论 -
vc 连接mdb数据库
vc 连接mdb数据库原创 2010-10-14 18:19:00 · 1785 阅读 · 0 评论 -
进程之间的通信技术
使用wm_copydata收发消息。原创 2011-04-08 11:11:00 · 614 阅读 · 0 评论 -
创建共享内存 的方式
共享内存 数据传输方式 附源码原创 2011-04-08 23:05:00 · 1752 阅读 · 0 评论 -
挂钩 NtResumeThread 实现全局Hook .
挂钩一直是Hack 编程中永恒的主题,基本高级的Rootkit 程序多多少少都会使用Hook 技术。似乎Hook 都被讲烂了,不论是Ring3 的还是Ring0 的网上都有例子。Ring0 的毋庸置疑当然是全局的了,这里说说ring3 的全局hook。Ring 3 有Ring 3 的优势,稳定是压倒一切的,因此Mcafee 和其他一些商业的安全软件都还是使用了Ring3 的Hook 技原创 2012-11-12 21:56:03 · 1184 阅读 · 0 评论
分享