关于编译EXE的问题。分数不多,不过有答案立刻结贴。 ( 积分: 50 )

  • 主题发起人 主题发起人 haiip2000
  • 开始时间 开始时间
呵,我写没问题.
如果我写出来能实现楼主的目的,那么你也把你的源代码拿出来大家一起学习学习?
 
你可以试试, 象dbexpora.dll这样的东西不是直接由你的程序去调用的,
你自然没办法代替它LOADLIBARY,更没办法对静态调用的DLL作影射。
除非你自己写个壳,把这些都搞定。
当然,如果你把壳的代码公开了,我也不介意公开,前提是你的程序要兼容98%以上的东西。
 
呵,我又不是专业搞软件的.我没那么多精力去完善每个方面.我只是凑凑热闹.我可以抽点时间把上面你说的没用的代码的过程都给实现了,而且会给出一个DELHPI的例子.所以你也不要一个条件接一个条件.爽快点话在我公布后就把你的过程也公布出来.至于你说的98%的情况我还真不知道,因为我不靠这个赚钱,没必要钻那么深.
 
如果不兼容,做了出来只有你自己的DLL能跑,那有什么意义。
再说,我说那个没用的代码是解决不了 dbexpora.dll 这样的问题的,
因为根本不到你来 LoadLibary,当然你或者可以硬性处理+上,
但LZ说的是 "自带的dll文件还有一些第三方的控件的DLL",意思就是任意DLL,
如果你不能达到98%的兼容率就算勉强做出来了又有什么意义。

你达到 98% 的兼容率并公布代码,那我也可以公布。
如果滥做一个勉强能跑的东西,又怎么值得我的代码。
 
嘛叫滥做? 你把你"非滥做"的拿出来看看?
我对这方面没什么研究,所以我还真不清楚这个98%的兼容.但是不等于滥做,注意素质.

如果你是靠这个赚钱的,我还可以理解你不愿意公开.但是不要轻易小瞧别人找来的资料.还有,多谈点有用的东西,这里不是赚钱的地方,而且也赚不了几个钱.
 
很简单,把你要打包的EXE和DLL发给我,只要EXE本身没被加壳,都可以兼容。

我只是告诉你这个资料没用而已,我研究的时候就找过,试验过了。
 
呵,看来下午都很闲.
这个资料嘛说没用的. 至少可以实现从资源中释放到内存,然后从内存中调用DLL的函数.这可是最基本的功能.对于自开发的DLL已经足够了.
至于第三方,我还真木仔细想过.好象有点意思,找个时间研究一下.
 
是最基本功能,但你肯定没试过它是否能跑,或者缺些什么吧?只是看上去可用而已,又何来足够。

再说如果自己开发的DLL,完全没必要做成 DLL,打包又有何用。
 
你还真以为我会直接用它的代码? 我已经在DELPHI下简单改写了下,可以跑.一切正常.

自己开发的DLL,当然有用了.比如,很多共用的东西在一个DLL里或是不是同一种语言,很多自己的软件都会用,但是又不想别人用,这时候就有用了.
 
你试试LOAD一个使用了MFC类库的东西看看如何,如果按照那个代码的做法,一般都会出问题。

共用的东西在 DELPHI 里还不如直接做成控件直接,既好调试,使用也方便。
要不想别人用把参数改成一个指针,指向任何东西,那别人要分析就非常难了,
有这个能力的人还不如自己写一个来的快。
 
拜托,都说那个代码不重要,重要的是思路和资料。还说那个代码没完没了。代码是死的,人是活的,这个道理你不会不懂吧。不就是把一个DLL映射到内存中,修改相应的PE头参数,比如基地址,重定位表,输入表等,凡是分析过PE头的和有PE头资料的人,做这个不是什么难事。这只是一个载入的规范,熟悉一下而已。

还有共同的东西不只是DELPHI的,还有其他语言的,DLL,控件都是选择之一;至于把什么参数改指针,我看你是真的没什么可说了,你咋不都把防止别人的技巧都列出来?应用的东西,存在都有其不同的适应环境和条件。你去扣这些有嘛意义。

要讨论就多说点有意义的东西,再下去,都不知道扯哪去了。
 
好像你只贴了那个代码,你又没贴思路,那你所说的思路肯定就是从代码来的了。我说那个代码有问题,所以从那个代码来的思路就一样有问题。除代码之外我没见过你贴了什么思路和资料。

再说 DLL 技巧,我说那个方法使用得当就基本可以把别人偷用 DLL 的可能性降低到 1%,那还有必要大费周章地把 DLL 打包进程序么?

再退一步说如果你觉得真的十分绝对有必要,那大可以用第三方软件,比如你贴的那个,
还可以把别的数据都一并打包进去呢。

所以事情就变成

1 为什么要打包?
2 防止 DLL 被盗用。
3 有简单技巧可以实现。
4 没必要用复杂的方法。

5 为什么要打包2?
6 减少软件代码重复性。
7 直接做成控件好处更多,还方便调试调用。
8 没必要用复杂的方法。

9 为什么要打包3?
10 我就是喜欢。
11 直接用现成软件,问题更少。
12 没必要用复杂的方法。

综上所说,你这个思路基本没意义。
 
哈,够能扯的.
小伙子,看题目,不要偏离中心思想,你这样写出来的作文是不及格的.
不是我要打包,我也不需要.
既然你说俺没提思路,那我重提一次: 把一个DLL放入EXE的资源里,EXE运行的时候把DLL释放到内存.然后按照加载PE文件的规范,把这个DLL映射到一个内存空间,修改其基地址,重定位表,重建输入表以及按照部分内存的保护属性,释放或保护.然后从输出表中读出要引用的函数的内存地址.这是主要的思路.

再说一次,说点有意义的,别扯其他的.写作文要紧贴中心思想.
 
我的天,结果出人预料哦....
不过现在我自己已经把这个问题克服啦 谢谢大家支持!
 
后退
顶部