首页
社区
课程
招聘
又来麻烦大家了。4个小问题!希望大家帮忙
发表于: 2006-10-9 10:42 3260

又来麻烦大家了。4个小问题!希望大家帮忙

2006-10-9 10:42
3260
1,
char p[255];
......
DWORD address=(DWORD)&p[0];
请问(DWORD)&p[0];的意思就是把P[0]强制转换为不带符号的整数?
2,
FARPROC p=(FARPROC)_DispFunc;
__declspec(naked) _DispFunc()
{
_asm
{
  push ds
  ......
}
}
请问FARPROC是什么作用。具体用法是什么样的?
3,
__declspec(naked)
是什么作用。具体用法是什么样的?
4,ASSERT函数是什么意思?具体怎么用?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 223
活跃值: (262)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我说第一个吧
也就是把那个字符串P的地址给address,应该可以写成DWORD address=(DWORD)p;
2006-10-9 10:50
0
雪    币: 175
活跃值: (211)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
3
1,&p[0]是p[0]指针,类型为char*,(DWORD)讲此类型强制转化为DOWRD,因为指针是个32数所以可以这么转化
2,你应该去看FARPROC的宏定义,其实就是个函数指针
3,编译器不为函数生成“头尾”,就是说你嵌入的汇编代码就是编译后这个函数体的全部代码。如果没有naked声明,编译器会生成push ebp;mov ebp,esp;这样的开头。主要用于嵌入汇编
4,http://www.google.com/search?hl=zh-CN&q=ASSERT&btnG=Google+%E6%90%9C%E7%B4%A2&lr=lang_zh-CN
2006-10-9 10:57
0
游客
登录 | 注册 方可回帖
返回
//