学半斤八两逆向课程

1.VC中&的使用

DWORD dwOldProtct = 0;
VirtualProtect(lpAPI, 0x1000, PAGE_EXECUTE_READWRITE, &dwOldProtct);

其中VirtualProtect第四个参数是指针类型,意思就是需要第四个参数是一个地址,那么dwOldProtct参数的地址就是&dwOldProtct,引用这个参数,可以改变。

 学习下引用和指针的区别,

C++小知识之指针和引用的区别(多看几遍有收获)

2.SEH,结构化异常处理程序,是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。

 

3.内存访问断点,是对内存中程序分页的操作(RWE,读取、写入、执行)?

 是的

4.在MFC中使用windows的接口API函数,需要加两个冒号,即是::FindWindow()

 

5.怎么获取进程中API的地址?

 

6.硬件断点,就是使用4个调试寄存器(DR0,DR1,DR2,DR3)来设定地址,以及DR7设定状态,比如:对这个401000是硬件读还是写,或者是执行;是对字节还是对字,或者是双字。因此最多只能设置4个断点。

   硬件断点优点是速度快,在INT3断点容易被发现的地方,使用硬件断点来代替会有很好的效果,缺点就是最多只能设置4个断点。

   DR7是4个字节32位0000 0000 ,其中一个00代表一个字节8位,一个0代表4位

 

7.使用内存写入监视器,可以查看补丁修改的内容,分析破解的地方。

 

8.调用别人的DLL时,要明确几件事,

  1) 函数的调用方式  stdcall

  2) 函数的参数个数  retn 8   2

  3) 函数的参数类型   字符串指针

  4) 函数的返回值类型   int long bool char char*    (返回-1)

对付输出函数名字 用了特殊手段处理的话,

我们可以用 序列号 来调用导出函数.

Makeintresource(x) 将一个数值转换成字符串指针  FARPROC Hello = GetProcAddress(hModule, MAKEINTRESOURCE(1));

 

转载于:https://www.cnblogs.com/learnup/p/4244247.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值