文章分类 - C++
摘要:在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己。为了了解如何破解反调试技术,首先我们来看看反调试技术。 一、Windows API方法 Win32提供了两个API, IsDe
阅读全文
摘要:写过php的朋友一定使用过MySQL,这是我最喜欢的数据库了,这里好处就不说了。看完下面的代码,相信您就已经掌握了写MySQL程序的基本知识了。 第一步:需要做一些VS的配置包含相应的include 和 lib(在mySQL目录下面找)第二步:链接需要添加 libmysql.lib第三步:需要建一张mySQL的表。(这里数据库是Gamer,表名gamerdata,里面有很多的数据自己添加,任您喜好...
阅读全文
摘要:杀系统进程只须提升一下本进程的令牌权限,让它有调试权限即可: HANDLE hToken,hProcess; TOKEN_PRIVILEGES tp; char *pSEDEBUG="SeDebugPrivilege"; hProcess=GetCurrentProcess(); OpenProcessToken ( hProcess,TOKEN_ADJ...
阅读全文
摘要:“ 哎哟,哥们儿,还捣鼓汇编呢?那东西没用,兄弟用VB"钓"一个API就够你忙活个十天半月的,还不一定搞出来。”此君之言倒也不虚,那吾等还有无必要研他一究呢?(废话,当然有啦!要不然你写这篇文章干嘛。)别急,别急,让我把这个中原委慢慢道来:一、所有电脑语言写出的程序运行时在内存中都以机器码方式存储,机器码可以被比较准确的翻译成汇编语言,这是因为汇编语言兼容性最好,故几乎所有跟踪、调试工具(包括WI...
阅读全文
摘要:简单介绍一下SetLayeredWindowAttributes:(详见msdn) BOOL SetLayeredWindowAttributes( HWND hwnd, // handle to the layered window COLORREF crKey, // specifies the color key BYTE bAlpha, // value for the blend fu...
阅读全文
摘要:vc中建立非模态对话框的例子: 1,首先创建一个基于对话框的名为liu的工程。,对话框类名(CLiuDlg) 文件名 liuDlg.h,liuDlg.cpp 2, 添加一个对话框资源,生成一个类(jin) 文件名为 jin.h,jin.cpp 3, 在liuDlg.cpp中添加一个全局变量 ,在类定义的上面添加,代码为: #include "jin.h" jin * g_a; //此全局变量用...
阅读全文
摘要:Windows提供了定时器,帮助我们编写定期发送消息的程序。定时器一般通过一下两中方式通知应用程序间隔时间已到。 ⑴ 给指定窗口发送WM_TIMER消息,也就是下面的给出在窗口类中使用的方法。 ⑵ 调用一个应用程序定义的回调函数,也就是在非窗口类中使用方法。 1 在窗口类中使用定时器 在窗口类中使用定时器比较简单。假如我们想让这个窗口上放置一个电子钟,这样我们必须每1秒或者0.5秒钟去更新显示显...
阅读全文
摘要:首先,欢迎来到“列举进程:一个实践的方法”这个旅程。在这里,我将试着定义什么是进程,然后我们将用C++和ToolHelp32 API 找出我们机器上正在运行的所有进程。 什么是进程 进程是正在运行的程序的一个实例。系统中,可能一个程序有多个运行的实例,他们各自独立的运行着。一个进程能够产生子进程,产生子进程的进程也叫父进程。这和面向对象中的继承不相同,面向对象中,我们可以在不产生父类的实例的情况...
阅读全文
摘要:要生成一个Release版本的就可以了,你得先设置一下: 在“工程”中选择“设置”打开Project Settings对话框,先在“设置”下拉列表中选择Win32 Release,然后在右侧设置为“使用MFC作为静态链接库”。点击确定。 再打开“组建”下的“批组建”,勾掉Win32 Debug,然后再点击“创建”。这时应该能够生成一个Release版本的应用程序。 这个程序就可以直接拷到别人...
阅读全文
摘要:要实现线程的远程注入必须使用Windows提供的CreateRemoteThread函数来创建一个远程线程 该函数的原型如下: HANDLE CreateRemoteThread( HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStart...
阅读全文
摘要:GetRecordCount的使用问题在技术社区里也讨论很多次,一般的建议都是尽量不使用这个函数,要使用也是先通过循环MoveFirst、MoveNext遍历后在使用。但是这样感觉很麻烦也不是很安全,因为如果没有记录很难保证MoveFirst不抛出异常,当然也可以使用try{...}、catch(_com_error &e){...}方式来捕捉异常。所以另一钟更常见的方式就是使用select count(*) as tatol from table查询语句,然后用GetCollect方法(ADO)取得total的值来得到。
阅读全文
摘要:ATOM 原子(原子表中的一个字符串的参考) BOOL 布尔变量 BOOLEAN 布尔变量 BYTE 字节(8位) CCHAR Windows字符 CHAR Windows字符 COLORREF 红、绿、蓝(RGB)彩色...
阅读全文
摘要:读者层次:初学 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一、其它数据类型转换为字符串 短整型(int) itoa...
阅读全文
摘要:BOOL bResult = FALSE; // 初始化WinInet 环境 HINTERNET hInternet = InternetOpen("CEHTTP", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); // 打开http session HINTERNET hSession = InternetConnect(hInternet, "w...
阅读全文
摘要:一、MFC程序的启动 1、定义和构造全局应用程序对象,CMyWinApp the App 这里有一些底层操作,有一个直接有用的结果是使得AfxGetApp能够返回theApp的地址。 2、调用WinMain函数: 这是编译链接的时候从外部链接进来的,确切的函数为AfxWinMain。 2.1 调用InitApplication();做一些底层初始化。是一个虚函数,可重载,但一般不重载; 2....
阅读全文
摘要:MFC应用程序不但具有一般的Win32程序的主要入口WinMain函数,还有一个CWinApp派生类的全局实例 theApp。 Mfc程序(EXE)的程序运行过程如下: 首先是全局构造 CObject构造函数à CCmdTarget àCWinThreadàCWinAppà theApp构造函数 然后进入WinMain函数 WinMainàAfxWinMainàAfxWinInitàth...
阅读全文
摘要:MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有: AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2() AfxMessageBox() AfxOutPutDebugString() AfxGetApp() AfxGetMainWnd() ...
阅读全文
摘要: 侯捷老师在他那本著名的"深入浅出MFC"(第二版)的第六章中对比着传统的Win32API编程,详细讲解了MFC应用程序“生死因果”,而且侯捷老师还在"深入浅出MFC"(第二版)一书的“无责任书评”中称应用程序和MFC Framework的因果关系,是学习MFC程序设计的关键,并把它作为学习MFC程序设计的"第一个台阶".
阅读全文
摘要:在VC中,启动一线程有3种方式:1.使用MFC中启动一个线程一般使用 AfxBeginThread函数;2.使用API则使用CreateThread;3.就是使用_beginthread和 _beginthreadex两个函数。
阅读全文
摘要:Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。
阅读全文
浙公网安备 33010602011771号