- 博客(21)
- 资源 (10)
- 收藏
- 关注
原创 资源表的解析
通过数据目录表的第三个结构可以得到资源表的RVAtypedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; DWORD Size;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;typedef struct _IMAGE_RESOURCE_DIRECTORY ...
2019-01-28 06:07:36 527
原创 子窗口的窗口回调函数的查找
通过消息断点查找子窗口的窗口过程win32中 通过DialogBox函数创建一个对话框``为主窗口提供一个窗口消息处理函数。而窗口内的各种控件不需要写处理函数,系统已经写好。![在这里插入图片描述](https://img-blog.csdnimg.cn/20190124232407407.png?x-oss-process=image/watermark,type_ZmFuZ3poZW...
2019-01-25 00:31:49 593
原创 子窗口
OVERLAPPEDWINDOW重叠窗口,主窗口与窗口内的子窗口(各种控件都是窗口)的消息处理方式,case WM_LBUTTONDOWN: { MessageBox(0,L"hip",L"鼠标左键被按下",0); return 0;在主窗口的消息回调函数里面处理鼠标左键消息,当点击主窗口内的子窗口时不会触发这个事件。说明子窗口有自己的窗口过程。子窗口的事件产生后,win...
2019-01-24 18:07:43 229
原创 数组的反汇编
#include "stdafx.h" void test1() { int s[5]={0}; int i=0; while (i<5) { s[i]=i; i++; } int a=s[3]; } int _tmain(_In_ int _Argc,char* _In_reads_){ test1();...
2019-01-22 20:49:46 426
原创 裸函数
在函数前加_declspec(naked) 编译器将不会对你的函数加任何代码(不会提升堆栈等操作) 要在函数里面自己加返回的代码 ret不然就会出现堆栈不平衡的情况#include "stdafx.h" void_declspec(naked) test1(int a,int b) { _asm { ret //在这里要自己返回 } ...
2019-01-22 15:20:04 412
原创 _stdcall _fastcall _cdecl的反汇编区别
#include "stdafx.h" int _cdecl test1(int a,int b,int c) { return a+b; } int _stdcall test2(int a,int b,int c) { return a+b; } int _fastcall test3(int a,int b,int c) { return...
2019-01-22 02:07:11 423 2
原创 类的私有继承与保护继承
类的保护成员与私有成员不能在类外访问。class A{ protected: int c;};int _tmain(_In_ int _Argc,char* _In_reads_){ A a; a.c=8; getchar(); return 0;}```编译时不能通过 error C2248: “A::c”: 无法访问 protected 成员(在“A...
2019-01-21 19:19:52 319
原创 一个简单的win32程序
windows定义了一个消息结构typedef struct tagMSG { HWND hwnd; //产生消息的窗口句柄(这个消息是哪个窗口产生的) UINT message; //消息的类型 窗口的创建,鼠标的左键点击 键盘的按下。。消息 WPARAM wParam; //消...
2019-01-18 23:30:03 248
原创 多字符与宽字符
ASCII 编码方式的字符串CHAR s[]="中国";UNICODE的字符串WCHAR ws[]=L"中国";使用宏TCHAR 则可以自动转换TCHAR s[]=TEXT("中国");
2019-01-16 07:44:45 256
原创 链表
单向链表与vector连续的存储空间不同,链表是在堆里不连续的空间。优点是增加和删除数据更加方便,访问数据稍微慢一些。链表的模板类里面存放一个头结点的指针 这样才知道链表开始位置。 链表的节点数据必须包含一个指向下一个链表的指针,(这个指针为什么不能在模板类里面呢,因为模板类实例化一个对象时,这个指针只会有一个,那么不能存放多个链表的数据。而如果这个指针放在链表的节点数据里,每一次新增加一个...
2019-01-10 23:36:43 133
原创 auto关键字
在C++11标准的语法中,auto被定义为自动推断变量的类型。例如:auto x=5.2;//这里的x被auto推断为double类型map<int,int>m;for(auto it=m.begin();//这里it被auto推断为map<int,int>::iterator类型it!=m.end();++it){//....}不过C++11的auto...
2019-01-10 11:05:14 196 1
原创 模板函数和模板类
template <class T>//在类的前面加这一句 class Vector{private: DWORD m_dwIndex;//下一个可用索引 T m_dwLen;//当前容器的长度 DWORD m_dwIncrement;//每次增容的大小 DWORD m_dwInitSize;//默认初始化大小 DWORD* m_pBuffer;//容器指针 pub...
2019-01-09 23:06:01 138
原创 new delete
使用new可以在堆里面申请一块内存 最终调用的HeapAlloc例如 申请一个int的内存int *p=new int使用完这个内存要删除 删除使用delete 最终调用的HeapFreedelete p申请一个数组int *p=new int[10]删除申请的数组要加[]delete[] p...
2019-01-09 13:45:32 72
原创 引用
语法:类型 &amp;引用名=目标变量名;引用相当于一个指针常量 也就是说引用必须初始化,而且不可以改变它的值。例如 int a = 100; int &amp;b = a;此时b即为a的引用。可以直接修改b的值来修改变量a。b不可以再引用为别的对象 int a = 100; int &amp;b = a; int c = 10; &amp;b = c;//错误,不...
2019-01-05 06:20:14 75
原创 常量指针与指针常量
const char* p = "我爱中国"; p = "daideiznegz"; 常量指针 一个指向常量的指针,指针指向的内容不可以被改变 char* constp = "我爱中国"; p = "daideiznegz";指针常量 指针是一个常量 也就是这个指针只能是这个值 不能被改变,不能指向别的地方与引用差不多。...
2019-01-05 06:06:24 94
原创 友元函数
一般情况下,一个类的私有成员是不能被普通函数访问的。要想访问类的私有成员,就要在类里面说明函数为该类的友元函数加friend关键字即可class CBASE{ int x;public: CBASE() { x = 10; } void add(int a) { x += a; } friend void Print(const CBASE&amp; base);/...
2019-01-05 05:53:21 75
原创 多态
编译器绑定与动态绑定类的成员及普通成员函数是编译器绑定,在编译时,地址就被确定下来。E8为直接call 也就是调用的函数地址在编译时就已经被绑定好FF为间接call 调用函数的地址在对象绑定时确定。只有加virtual函数是动态绑定的。动态绑定还有一个名字就是多态。...
2019-01-04 04:37:03 102
原创 虚函数
struct Base{void Func1(){printf(“func1”);}virtual void Func2(){ printf(&quot;func2&quot;);}};int _tmain(int argc, _TCHAR* arg){Base base;base.Func1();base.Func2();反汇编代码19: Base base;00F543B8...
2019-01-02 22:10:28 91
原创 导入表注入
程序开始运行时,加载程序根据导入表的DLL名字首先在运行目录下查找DLL,如果找到,则把他加载进进程空间。如果没找到则在系统目录下继续寻找。可以通过这一个特点,在原有的导入表后面增加一个导入表结构(INT和IAT表至少有一个函数的名字)。这就是导入表注入。...
2019-01-01 23:37:30 510
WIN10 符号表 版本 18383 1082
2020-09-30
远程线程注入DLL-支持拖拽显示路径.zip
2020-08-30
win7 7600.zip
2020-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人