xjiangyou 发表于 2016-11-17 08:06:08

typedef的用法求解

#include<ioseream>
using namespace std;

typedef void*GETCODELENGTH(PVOID code,DWORD *len)


int main()
{
        unsigned char dis =
        {
        0xE9, 0x0A, 0x08,
        0x00, 0x00, 0xE8,
        0x19, 0x08, 0x00,
        0x00, 0x00, 0x08,
        0x00, 0x00, 0x00, 0x08,
        };
       
        GETCODELENGTH GetCodeLength;
        GetCodeLength = (GETCODELENGTH)dis;
        int *patchCodeLen;
       
        while (*patchCodeLen<5)
        {      
                GetCodeLength( (PVOID) (oldFunctionAddress+*patchCodeLen), &len);// 求这句代码执行的是什么 反汇编在CALL里面完全转晕了
                *patchCodeLen = *patchCodeLen+len
        }
}

人造人 发表于 2016-11-17 12:35:27

这段代码哪里的?无法通过编译

四十二 发表于 2016-11-17 16:04:45

感觉你好像在自创语法

xw0314 发表于 2016-12-20 11:45:56

typedef void*GETCODELENGTH(PVOID code,DWORD *len)这样定义是不对的
typedef void(*GETCODELENGTH)(PVOID code,DWORD *len)   *GETCODELENGTH要用括号括起来,说明是函数指针,并且声明为新的数据类型,在定义变量的时候指向返回值为void和参数为PVOID和DWORD类型的函数

mhp0114 发表于 2017-2-7 10:38:56

楼上正解
页: [1]
查看完整版本: typedef的用法求解