DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: eyang11
今日帖子: 1
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 yxsoft (yxsoft) ★☆☆☆☆ -
盒子活跃会员
2018/9/8 2:42:43
标题:
发现Delphi编译后的EXE在运行时能看到所有Unit名称,类名等 浏览:2381
加入我的收藏
楼主: 我已经加了取消RTTI的编译宏,是什么情况,如果去掉这些信息

{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}
----------------------------------------------
Great!
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/9/8 9:07:45
1楼: 运行时能看到?
为啥我的 EXE 运行的时候 只有 UI ?
算了,你们都高手。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2018/9/8 10:38:25
2楼: 看到又如何呢?莫非兰州有什么不得了的秘密?
----------------------------------------------
--
作者:
男 yxsoft (yxsoft) ★☆☆☆☆ -
盒子活跃会员
2018/9/8 11:50:30
3楼: 理论上可以通过单元名称和类名推断是怎么实现的
----------------------------------------------
Great!
作者:
男 yxsoft (yxsoft) ★☆☆☆☆ -
盒子活跃会员
2018/9/8 12:11:39
4楼: 随便找个工具导出运行时的string就可以了
此帖子包含附件:
JPEG 图像
大小:40.2K
----------------------------------------------
Great!
作者:
男 he_19_79 (he) ▲▲▲▲▲ -
普通会员
2018/9/8 13:07:09
5楼: DeDe反编译?
----------------------------------------------
-
作者:
男 he_19_79 (he) ▲▲▲▲▲ -
普通会员
2018/9/8 13:13:07
6楼: 用VMProtect?
----------------------------------------------
-
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2018/9/9 0:52:20
7楼: 为什么我的 VS 编译的 C++ 能看到所有 类名,还能看到过程逻辑?
----------------------------------------------
-
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2018/9/9 11:40:39
8楼: 楼上的确定不是看了源码而是看的bin?

我还是第一次见有人说c++编译后,不反编译就能看到过程逻辑的。
----------------------------------------------
--
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/9/9 12:07:50
9楼: 把逻辑写成脚本,把脚本存为 EXE 的资源。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 yxsoft (yxsoft) ★☆☆☆☆ -
盒子活跃会员
2018/9/9 12:31:13
10楼: 最主要的原因是TObject有这样两个函数:
System.TObject.UnitName
System.TObject.ClassName
所以EXE文件里肯定会有这样的信息了,只是这两个函数理论上放到ToolsAPI这类里面就行了,没想Release版还有,估计就是这类RAD语言不严谨的地方了
----------------------------------------------
Great!
作者:
男 138soft (138soft) ★☆☆☆☆ -
盒子活跃会员
2018/9/10 0:38:01
11楼: 删除PE里面资源节:Data-->PackageInfo即可。
----------------------------------------------
是你上错了车,还是我下错了站?
作者:
男 redhan (晓寒) ★☆☆☆☆ -
盒子活跃会员
2018/9/10 8:54:56
12楼: 11楼说的对,不想要,去掉PackageInfo就可以
----------------------------------------------
-
作者:
男 yymmdd (yymmdd) ▲▲▲△△ -
普通会员
2018/9/10 11:10:48
13楼: 去掉Data-->PackageInfo,会有副作用吗?
如果软件里使用了rtti,软件运行时会不会报错?谢谢啊
----------------------------------------------
-
作者:
男 pankangkang (aaaa) ★☆☆☆☆ -
普通会员
2018/9/10 14:16:52
14楼: 你是没有lisence 怕EMB找上门来? 还是怕被破解?
破解的话 这几个类名对于破解提供不不了什么帮助
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/9/10 14:20:01
15楼: 这都不是事。
有些人非常可笑,将数据库的正式用户名和密码存到了 设计期。
这不就等于是公开了吗?
比那个 github 上存密码的还公开。

这样的人,还会设计期 打开 数据源,结果这个数据源控件,比较老,不支持 运行期和设计期分别设置。
那么 他们的 EXE 一启动就自动连数据库了。
他们的数据源地址,居然写的本机的绝对地址,立马出错。

别人说他们,他们还不相信。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2018/9/10 14:52:43
14楼: 通过单元名和类名就能推断出实现方法?我只能说,你很强大!很多时候光看源代码都不一定能弄清楚内在实现逻辑,何况是只看个名字?
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2018/9/10 15:15:05
16楼: 哦,对了,你所有的窗体资源也包含在RCData里呢,如果你把SQL之类的在设计期就设置好,那也能看到哦^o^
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2018/9/11 12:37:44
17楼: 不需要DEDE,因为Delphi编译的TypeInfo信息就是存在PE文件里面的,PackageInfo,Unit,Type等各种信息。
Delphi的运行时信息有两套:
一套叫TypeInfo是一直就有的,这些信息是关不掉的。
另一套叫RTTI是Delphi2010版本以后引入的,这部分信息可以用编译开关关掉。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 kinneng (kinneng) ★☆☆☆☆ -
盒子活跃会员
2018/9/12 11:11:01
18楼: 多弄一百几十个上去混肴视听不就得了。
----------------------------------------------
声明:本人不在论坛询问任何编程问题,请不要将我的帖子当成问题来回答。炒股一天,编程三年,不浪费时间了。 经常在外面,没空,不要找我..
作者:
男 wk_knife (wk_knife) ★☆☆☆☆ -
盒子活跃会员
2018/9/14 9:11:58
19楼: C#和Java抱头哭晕在厕所!
----------------------------------------------
-
作者:
男 jackalan (nVicen) ★☆☆☆☆ -
盒子活跃会员
2018/9/15 10:01:16
20楼: 几个单元名称和类名就能分析出这么多,高人啊,膜拜!
有些给源码的都要读很久,有时候还不定全读明白。
----------------------------------------------
简单做人,认真做事。
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/9/15 10:23:12
21楼: 楼上的,小心楼主说你 阴阳怪气 。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2018/9/17 9:56:58
22楼: 8楼,@  bahamut8348 (leonna) 你理解有问题啊。你倒给我不反编译就能看看楼主说的   
“发现Delphi编译后的EXE在运行时能看到所有Unit名称,类名等”

再说,我这是接楼主的话的,讽刺的,听不懂?如果Delphi编译后的EXE能看到所有Unit名称,类名,我用vs编译的exe照样可以出源码(如果要较真的话,请了解一下IDAd的 F5 DA法)

就像  wk_knife (wk_knife)说的,如果连Delphi还要纠结这个,C#和Java两兄弟老早就抱头哭晕在厕所!
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行1804.688毫秒 RSS