同人星球BBS -> 打包研究 -> [讨论]把DLL打包到.DAT中是如何实现呢? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

littlewater 06-06-23 18:02

以前没有注意到,最近发现使用MOLEBOX的时候发现它甚至可以把DLL也能够打到EXE文件中去,不知道是怎么做到的?

难道是把DLL直接写入EXE中间去?

yoxola 06-06-23 21:56
MoleBox的作者宣稱他沒有使用任何非公開的Win32API,
但是要自己做一個這種東西看來是不容易的。

的確是看過一篇文章提過可以從內存中運行EXE或是呼叫DLL功能,
只要位址定得正確,或者看看Advance願不願意弄這個....

一般會去弄底層編程的人不多

littlewater 06-06-24 20:41
Quote:

只要位址定得正確,或者看看Advance願不願意弄這個....
一般會去弄底層編程的人不多


他不愿意……~ 我问过拉

话说这个得很熟悉PE结构了目前直接放弃ING!!

yoxola 06-06-25 17:55
要靠已知非MoleBox的有兩種方法

1.有個叫做DLL2Lib的東西,可以把某些DLL文件轉成可靜態編譯的Lib,
支持的能力還算可以,但我感覺不是特可靠。
http://www.binary-soft.com/dll2lib/dll2lib.htm

2.PBOSL裡面有一個專門的LoadDllMemory,恐怕就是你要找的,不過是給PureBasic用
http://pbosl.purearea.net/index.php?site=Libs

模組來源(C語言含源碼)
http://www.joachim-bauch.de/tutorials/load_dll_memory.html/en/view

littlewater 06-06-25 22:32
前者我用过,我当时不知道怎么用没有成功就删了,好像在FTP里面还有破解版本巴……

至于下面的一个实在是好物啊……赞一个XD

littlewater 06-06-26 07:36
昨晚看了一下说明以及代码……不错! [s:2]

不过在着手之前我还有两个问题:
1、即便可以打包了,但是需要SOURCE也跟着改变,LoadLibrary需要改写(至少函数名字需要改写)而比如MOLEBOX中,SOURCECODE是不需要改变的
2、目录/文件结构,才注意到MOLEBOX中间居然可以建立目录|文件结构,而一般的打包怎么才可以把目录也打入包内呢?而且在运行时刻应该不会是先解压再删除的

当然我并没有打算做一个MOLEBOX的CLONE版本……我只是希望了解这个 虚拟目录 的实现手法/实现思路,目前居然完全没有 [s:8]

littlewater 06-06-26 07:51
会不会有这种可能,MOLEBOX先把文件打包,然后其它的资源是先解压缩到其它指定的目录中,然后从那里直接读取磁盘数据呢?


查看完整版本: [-- [讨论]把DLL打包到.DAT中是如何实现呢? --] [-- top --]

Powered by PHPWind v5.3 Code © 2003-05 PHPWind
Time 0.049848 second(s),query:4 Gzip enabled

You can contact us