
c++
文章平均质量分 70
pandamac
关注移动安全,写一些分享
展开
-
软件控件操作
下面为MFC 编程:int flag =0;HWND g_hWnd = NULL;BOOL CALLBACK EnumChildProc( HWND hwnd, // handle to child window LPARAM lParam // application-defined value){ char szName[255]="";原创 2013-08-20 17:12:03 · 490 阅读 · 0 评论 -
如何进行DLL调试
DLL调试有以下3种方法 1.同时使用DLL和应用程序的工程来调试 将2个工程放在一个workspace里,可以使用Project/Insert Project into Wordspace...弹出对话框选择,也可以在打开1个工程的情况下,直接使用File/new...选择Project创建另一个新工程,选中,Add to current workspace为转载 2013-09-29 23:03:39 · 857 阅读 · 0 评论 -
EXE1调用EXE2来加载DLL实现隐藏功能
这种方法不易察觉,其实还能做出很多其他的类型,这里只是学习··································Context.Eip = (DWORD)(((PSHELL_CODE)Buffer)->szInstruction);改为Context.Eax = (DWORD)(((PSHELL_CODE)Buffer)->szInstruction);线程在ring3的第原创 2014-02-25 22:23:56 · 619 阅读 · 0 评论 -
原始套接字学习
原始套接字laingzhogn原创 2014-07-20 01:18:59 · 893 阅读 · 0 评论 -
PE学习
直接写一遍PE结构吧 看看记得住不?MS-DOS { MZ ````` e_lfanew} 64字节dos-stub 112字节 不定NT header { Signature 4 IMAGE_FILE_HEADER { machine NumberOfSections timedatastamp PointerToSymbolTable原创 2013-09-27 22:23:31 · 897 阅读 · 0 评论 -
PE感染学习
用到了很多PE知识: 直接上代码吧// ganran_pe.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include //本程序只适用于载入基址定位的。。。非随机基址//感染指定目录的PE文件char ItIs[M原创 2014-06-03 13:27:49 · 1054 阅读 · 0 评论 -
调用GetLastError 错误代码 含义
2005 msdn url:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WINCE.v50.en/wcecoreos5/html/wce50lrfsystemerrorsnumericalorder.htm The following table shows possible system error values.转载 2014-08-08 23:30:56 · 1356 阅读 · 0 评论 -
windows套接字学习
windows 提供了一些I/O moxin原创 2014-07-19 17:36:49 · 782 阅读 · 0 评论 -
STL 学习
转载学习 一下 各个函数怎么用的转载 2014-09-02 17:48:04 · 487 阅读 · 0 评论 -
char*,const char*和string的相互转换 + 三种版本字符串
#include "stdafx.h"#include #include using namespace std;void main(int argc, char* argv[]){ const char *p1 = "111"; string p2(p1); printf("const char * to string : %s\n",p2.c_str())原创 2013-09-26 22:24:45 · 696 阅读 · 0 评论 -
Qt入门之信号与槽机制
Qt入门之信号与槽机制转载地址: http://www.cnblogs.com/MuyouSome/p/3515941.html一. 简介就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的转载 2014-11-12 23:13:50 · 673 阅读 · 0 评论 -
boost_study
首先 下载boost http://sourceforge.net/projects/boost/?source=typ_redirect 谷歌之 :Boost is a set of libraries for the C++ programming language that provide support for tasks and structures such asl原创 2014-11-02 16:34:20 · 462 阅读 · 0 评论 -
qt_qtNanomite学习
QT 安装为官网 xizai原创 2014-11-02 23:53:55 · 608 阅读 · 0 评论 -
VS2010调试时修改代码 调试时源文件与模块生成时的文件不同
调试时源文件与模块生成时的文件不同今天在弄原来那个发送接收程序的时候遇到个问题: 在visual studio 2008中做程序的时候,在设计器里面添加了控件,但是在运行调试的时候却没显示,也没看见有报错,更改了那些控件的属性值之后也同样在调试的时候一点反应没有。在初始化组件那里打个断点监视,却报错:“调试时源文件与模块生成时的文件不同”。其实原因在于调试转载 2013-12-31 13:56:47 · 3522 阅读 · 0 评论 -
如何在VS VC 中DLL使用CString类
CString类用起来非常方便,可是如果不对默认的工程进行一些手术,就没法使用它具体的修改方法如下,与大家分享一下。在stdfax中加入下面的红色部分 // stdafx。h #if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) #define AFX_STDAF转载 2013-12-31 10:08:30 · 1839 阅读 · 0 评论 -
C优先级列表
C优先级列表PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember acces转载 2013-11-22 14:54:44 · 667 阅读 · 0 评论 -
虚函数学习
在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么是虚函数呢,我们先来看看微软的解释: 虚函数是指一个类中你希望重载的成员函数转载 2013-09-07 23:22:40 · 551 阅读 · 0 评论 -
格式字符
一、格式字符关于格式字符应用背景如下(之前在做《VC实战视频》的第一部的时候就有用到,以后也会经常用到的):[整数转化为字符串]用%d 如果是浮点数转化为字符串的话用%fchar z[260];int c=999;sprintf(z,"进程PID数值等于%d",c);//整数c转化为字符串保存到z字符串变量里面MessageBox(z,"提示",0);转载 2013-09-07 23:25:35 · 1000 阅读 · 0 评论 -
C++ 单实例运行
//MFC program :#include #pragma data_seg("Shared") HWND hwnd=NULL;#pragma data_seg()#pragma comment(linker,"/section:Shared,RWS") if(hwnd==NULL) { hwnd=m_hWnd; }else { ::SetForeg原创 2013-09-10 23:20:17 · 517 阅读 · 0 评论 -
添加程序以DLL函数
编写DLL:LIBRARY EXEdiyEXPORTSLoadDLL @1#include "stdafx.h"#include void _cdecl LoadDLL(const DWORD reversed, HWND hwnd, // handle to window UINT uMsg, // message identi原创 2013-09-10 16:28:11 · 1010 阅读 · 0 评论 -
sscanf用法
例子: 1. 常见用法。 char buf[512] = {0}; sscanf("123456 ", "%s", buf); printf("%s\n", buf); 结果为:1234562. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。 sscanf("123456 ", "%4s", buf); pr转载 2013-10-04 15:16:50 · 525 阅读 · 0 评论 -
SPI学习
Winsock2服务提供者接口。Winsock2不仅提供了一个供应用程序访问网络服务的windows socket应用程序编程接口(API),还包含了由传输服务提供者和名字解析服务提供者实现的winsock服务提供者接口SPI和ws2_32.dll。他们的层次关系如图:一个应用程序 在调用 Winsock 2 函数时,Ws2_32.dll会调用相应的Winsock SPI函数,利用特定原创 2013-09-19 00:11:34 · 681 阅读 · 0 评论 -
debug 和 release 版本间堆栈平衡的区别
int /*WINAPI*/ MyMessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ) { MsgHook.UnHook(); MessageBox(NULL, "现在可以调用了", "结果", MB_OK); MessageBox(h原创 2013-10-07 20:27:23 · 1003 阅读 · 0 评论 -
标准C++中的几种强制类型转换方式比较说明
ANSI-C++新标准定义的四个转换符,即static_cast、dynamic_cast、reinterpret_cast和const_cast。同时在C++环境中,原先的C-Style的类型转换仍旧可以使用。 1) static_cast 用法:static_cast (expression) 说明:该运算符把expressi转载 2013-09-26 16:05:44 · 639 阅读 · 0 评论 -
深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char原创 2013-09-26 20:55:45 · 716 阅读 · 0 评论 -
volatile学习
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 volatile的本意是“易变的”,不过翻译成“直接存取原始内存地址”转载 2013-09-26 20:13:45 · 516 阅读 · 0 评论 -
面试题型
1) 1.不用局部变量和全局变量实现strlen:unsigned int strlen(const char * str){_asm mov edi,str while(*str++);_asm mov ebx,str_asm sub ebx,edi_asm str,ebx return (str-1);}int My_Strlen( char *s原创 2013-09-26 17:15:43 · 493 阅读 · 0 评论 -
DLL 共享数据学习
要想在DLL共享数据,必须重新定义一个共享段,然后用函数去修改添加DLL代码:#include "stdafx.h"#pragma data_seg("MyData") //定义一个共享段int name=10;#pragma data_seg#pragma comment(linker,"/section:M原创 2013-09-28 11:59:38 · 1190 阅读 · 0 评论 -
socket学习
代码省略//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TCP学习:服务端 函数:WSAStartup -> socket原创 2013-09-28 22:34:14 · 513 阅读 · 0 评论 -
#pragma用法详解
Author :Jeffrey My Blog:http://blog.youkuaiyun.com/gueter/目录:(0) 前言(1) #pragma message能够在编译信息输出窗口中输出相应的信息(2) #pragma code_seg能够设置程序中函数代码存放的代码段,开发驱动程序的时会用到(3) #pragma once若用在头文件的最开始处就能够保证头文转载 2014-11-06 21:05:57 · 537 阅读 · 0 评论