当前位置:首页 > 芯闻号 > 充电吧
[导读]先说说来由。反编译自己的程序是应为一个叫做SkyPE的即时聊天工具。它有着最好的网络语音聊天质量怎么比较呢?就拿QQ开刀吧,使用了SkyPE的语聊以后,你就再也不会使用QQ的语音聊天功能了。然而他却是

先说说来由。

反编译自己的程序是应为一个叫做SkyPE的即时聊天工具。

它有着最好的网络语音聊天质量

怎么比较呢?

就拿QQ开刀吧,使用了SkyPE的语聊以后,你就再也不会使用QQ的语音聊天功能了。

然而他却是用Delphi写的。

在他的安装文件夹下,有两个exe文件:(新版2.0)

一个主程序,另一个程序居然还是Delphi7的那个默认的图标 :)

心里一想,牛,全是用Delphi写的。

有很多人说Delphi快死了,其实,我觉得,

到了目前为止,人们对Delphi的认识,才更进一步的加深了,知道她擅长做什么

现在网络上满天飞的共享软件不乏有她的优秀作品,

例如,让你感觉不到网络存在的在线音乐播放器——KuGoo

当然,商业软件中也不乏她的存在——WPS Office 2005 和 金山毒霸(2002) 的界面。

不过这都是后话。

SkyPE的优秀让我的好奇心想知道,它到底是怎么做的。

于是乎,就找到了闻其名,而很少用的 DeDe 3.50.02

一个文件好办,直接反编译,三四分钟后

结果出来了,我认为,能得到的信息就是每个窗体的类名

还有一些事件的名字,其他的自行添加的方法连名字都得不到。

我这个人不太懂汇编,不过看看它反编译后的注释,

也只知道,某个方法内用到了什么类,至于做什么我就不太明白了。

hoho,转念一想,为什么不反编译我做的程序呢?

说干就干,就是经过三四分钟,结果出来了。

凭着类名,我找到了我程序中的一个比较关键的类,里面有着一些隐蔽的信息。

打开后,心里平静了一下,

因为我的那些方法的名字都显示不出来,呵呵

然后我对每个方法的汇编码进行察看,

依稀找到了关键方法。

早在多年前我就知道有DeDe这个玩意儿了

所以代码里也做了些手脚,

以我那粗浅的汇编水平来,我很难得到一些关键的信息。(仰天长笑中.....)

不过,也不是这么完美,在方法中使用的SQL语句还是部分的暴露了出来。

以后有机会就隐掉它。

最后,我关掉了DeDe,总结出以下几条反DeDe的经验:

一、如果可能的话,关键部分的类名和对象名最好不要那么直白。

二、如果可能的话,代码中事件的生成不要用Delphi的属性编辑器来生成,而要手工生成。

三、如果可能的话,程序中最好不要出现明文的字符串。

四、如果可能的话,不要直接发布Delphi编译好的程序。

五、如果可能的话,不要使用Delphi提供的和那些知名的控件。

六、上面的五条绝对是原创,今后,如果你真的在某个地方看到了,那么你至少可以知道我是在哪儿抄的。呵呵。

最后再来补充一下,如何简单的判断一个程序是不使用Delphi编的。

简单点的,就是在一个程序任务栏按钮里,右键点击,如果弹出菜单只有还原,最小化和关闭那么他60%是用Delphi/C++Builder写的。

复杂点的。

首先,要让你得Windows是动画的,怎么说呢?就是你能看到程序最大化和最小化的动画。

然后,打开一个程序,让它显示在桌面上,然后鼠标点击“显示桌面”。

这时,你应该可以看到桌面了。然后在任务栏里点击刚才的那个程序。

如果,窗口的还原动画,像平常一样,由任务栏飞出,变成原来一般大小,那它97%不是用Delphi写的。(如果是的话,那么它就太不经济了),如果窗口的还原动画是飞向屏幕的正中间的一个点上,然后整个窗口突然出现,嗬嗬,那它99%是用Delphi/C++Builder写的。原因很简单,就是VCL有一个隐藏的TApplication。

OK,就这么多了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

从汇编角度来说,如果“test %al, %al”能改成“test %0x1, %al”就没有匪夷所思的问题了,如此一来应该会降低CPU的效率,毕竟执行指令还需要一个立即数,我没搞过编译器也没设计过CPU,纯属瞎猜,能搞...

关键字: 汇编 CPU 编译器

【说在前面的话】其实我很久之前就想写这篇文章了,但彼时总觉得这是一个伪命题:既然已经用了MDK,编译出来的代码,无论是体积还是性能都甩下armgcc好几条街,谁还会想用gcc来进行Cortex-M开发呢?对那些只能使用a...

关键字: GCC MDK 汇编

1.背景群里有个小伙伴学习设计加密方法,如同某商用软件输入注册码后就能使用扩展功能。设计时他很自然的想着所写的加密措施是否足够健壮安全,是否有什么方法可以绕过加密检查,也就是破解。权限管理仅在启动后检查一次注册码是否有效...

关键字: 指令 汇编 软件

最近很多伙计问我现在搞嵌入式还有没有必要学习汇编?

关键字: 嵌入式 汇编

来源 :智能软件研究中心,作者:罗宇哲,直接来源:华为开发者社区 声明:本公众号转发仅为传播相关技术知识,不作任何商业用途,如有疑义请联系删除。 01 ARM汇编指令 操作系统中硬件相关的部分集中体现在汇编指令和对寄存器...

关键字: ARM 汇编

Part 1. 机器指令 上一次 我们已经了解了 二进制和 CPU 的基本原理,知道了程序运行时,CPU 每秒数以亿次、十亿次、百亿次地震荡着时钟,同步执行着微小的 「电子操作」,例如:从内存读取一个字节的数据到 CPU...

关键字: 高级编程 编程语言 汇编

来源 :智能软件研究中心,作者:罗宇哲,直接来源:华为开发者社区 声明:本公众号转发仅为传播相关技术知识,不作任何商业用途,如有疑义请联系删除。 01 ARM汇编指令 操作系统中硬件相关的部分集中体现在汇编指令和对寄存器...

关键字: ARM 汇编

北京时间4月30日早间消息,据外媒报道,Facebook首席执行官扎克伯格周三警告称,过早重新开放公共空间“几乎可以肯定”将会导致新冠病毒的继续爆发,并带来不良的经济后果。 扎克伯格在公司第一季度财报

关键字: 扎克伯格 FACEBOOK LTE 汇编

北京时间4月30日早间消息,据外媒报道,Facebook首席执行官扎克伯格周三警告称,过早重新开放公共空间“几乎可以肯定”将会导致新冠病毒的继续爆发,并带来不良的经济后果。扎克伯格在公司第一季度财报电

关键字: 扎克伯格 FACEBOOK LTE 汇编

北京时间5月1日消息,亿万富翁慈善家比尔-盖茨(Bill Gates)在周四提出了全球重新开放在新冠疫苗方面的需求。“切合实际的讲,如果我们要恢复正常,我们需要开发一种安全有效的疫苗。”盖茨在博客中说

关键字: 盖茨 UNIVERSITY 汇编 美的
关闭
关闭