捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:如何在dll中导出和使用无名字函数(demo)
upp 18988 2005/11/7 12:02:00
to coolslob
本例子除了演示如何用Index调用函数外,同时演示的是,如何在输出表中隐藏函数名称.假如你做的dll不希望别人随便调用里面的函数,可以把函数名隐藏起来,这样即使人家想跟踪想直接拷贝过去自己用,也就变得不那么容易了.微软有好多函数都没公开名字和参数列表,你可以用ExeScope打开Shell32.dll,从136开始,微软就隐藏了下面所有函数的名字,因为他不希望你知道这些函数是干什么的(通常通过名字分析大概就知道函数起什么作用),也不希望你随便调用!他只希望他自己的系统通过Index调用这些函数.我要演示的就是这个而已.
robot5 18980 2005/11/7 2:22:11
不错,好东东!
coolslob 18943 2005/11/5 20:44:07
使用无名字函数??

大概这就是以index调用吧?
因为你在DLL中指明
exports
  ShowMessageA index 1 name ',
  ShowMessageB index 2 name ';


这跟静态调用方法(如下)是一个道理:

procedure ShowMessage1(Hnd: HWND);stdcall;external 'prodll.dll' index 1;
//当index指明为1明,就是ShowMessageA,指明为2时,就是ShowMessageB。

不知我的说法是不是多此一举。
望来邮赐教,感激!
第一页 上一页 下一页 最后页 有 3 条纪录 共1页 1 - 3
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表