首页
社区
课程
招聘
[求助]error LNK2019,变量在函数内外有区别
发表于: 2013-7-4 09:13 3534

[求助]error LNK2019,变量在函数内外有区别

2013-7-4 09:13
3534
这有一个搜索特征码的函数,把变量定义在函数内部就有错误

代码如下:
ULONG SearchFeature(BYTE * nAddr,BYTE* pFeature,int nLeng)
{
        char szStatus[256]="";       
   int i=5000;
        while(i--)
        {
                RtlMoveMemory(szStatus,nAddr,nLeng);

                if (RtlCompareMemory(pFeature,szStatus,nLeng)==nLeng)
                {
                        return (ULONG)(nAddr+nLeng);
                }
                nAddr++;
        }
        return 0;
}

error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function "unsigned long __stdcall SearchFeature(unsigned char *,unsigned char *,int)" (?SearchFeature@@YGKPAE0H@Z)
fatal error LNK1120: 1 unresolved externals

但把变量定义在函数外部,就没错了,能通过编译。
如下:
char szStatus[256]="";       
ULONG SearchFeature(BYTE * nAddr,BYTE* pFeature,int nLeng)
{
   int i=5000;
        while(i--)
        {
                RtlMoveMemory(szStatus,nAddr,nLeng);

                if (RtlCompareMemory(pFeature,szStatus,nLeng)==nLeng)
                {
                        return (ULONG)(nAddr+nLeng);
                }
                nAddr++;
        }
        return 0;
}

各位大大们,这是怎么回事啊?

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费
支持
分享
最新回复 (6)
雪    币: 183
活跃值: (1289)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
难道能编译过的没有执行缓冲区检查?

试试在下面随便定义一个数组变量。

或者试试在项目里设置缓冲区检查为否。
2013-7-4 09:43
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你查查头文件中是否有
extern char szStatus[256];
2013-7-4 09:45
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我在C/C++  代码生成   缓冲区安全检查  设置为否后,可以通过编译
设置为否后,有什么危害吗?
2013-7-4 10:01
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我在C/C++  代码生成   缓冲区安全检查  设置为否后,可以通过编译
设置为否后,有什么危害吗?
2013-7-4 10:02
0
雪    币: 952
活跃值: (2006)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没有太大区别

你应该是用了其它编译器编译的lib导致的
2013-7-4 10:12
0
雪    币: 183
活跃值: (1289)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
如果勾选了缓冲区检查  在进栈和出栈会检查栈cookie 防止栈数据被非法的覆盖掉。
2013-7-4 10:40
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册