iT邦幫忙

3

把副檔名三個檔 exe ini txt 合成一個exe執行檔

感謝
slime
fillano
rogeryao
海綿寶寶
froce
鬼王很慘
浩瀚星空
japhenchen

各位前輩指教指點!
每位回覆都是良師益友

感觸到 學海無涯 ....

謝謝您們!!
/images/emoticon/emoticon41.gif


**想把副檔名三個檔 EXE , ini , txt 合成一個EXE檔案 **

我使用程式為 C# , VB.NET , JAVA

因為上網找資料 , 本來是想 封裝 或者 打包 為關鍵字,

搜尋起來不像是....

所以想請教

**我想把 , A.exe 執行檔 , b.ini 設定檔 , c.txt 設定檔 這三個檔案

**"合成" 一個 D.exe

由 D.exe 去執行 A.exe 就好
而這A B C三個檔不顯示出來

只有一個 D.exe 就好

而 D.exe 內含 A.exe 執行檔 b.ini 設定檔 c.txt 設定檔 這三個檔

不是加殼....不是隱藏...

請問大神們 程式前輩們

請問該怎麼做? 一直找不到方向 跟 關鍵字

請問上述這可以嗎? 還是不能?

這方面沒有經驗.

所以請教該怎麼做或者接近作法皆可!

再麻煩指教! 謝謝!


我是新手不能回覆! 我打上這 請回覆前輩見諒

rogeryao前輩好:

感謝即時出手相助!

謝謝釋出關鍵字,我正在研究學習。
InstallShield 腳本 InstallScript 30日
https://ithelp.ithome.com.tw/users/20058745/ironman/581

正在爬文中...感覺有點深度! 需花一點時間研究!

方向不知道對不對?

謝謝前輩指教!!

/images/emoticon/emoticon41.gif
===== 更新回覆 ===============
今日簡訊剩餘額度 0 ..我不能回覆
對! 我的狀況是:
D.EXE 會去呼叫別人寫的 A.EXE ,
而且 A.EXE 會用到 b.ini 及 c.txt

對於這塊我很模糊..所以表達不太清楚!
很像是安裝檔方式 差別在 解壓縮 與 直接執行
解壓縮會將 b.ini 及 c.txt 讓使用者 查閱修改

所以我才想說 用自己寫D.EXE 去 執行 A.EXE
不知道有沒有方式是
A.EXE 可以去讀取 b.ini 及 c.txt
使用者限制不能 查閱修改b.ini 及 c.txt

謝謝前輩指教!!
/images/emoticon/emoticon41.gif


海綿寶寶前輩好:

感謝即時出手相助!

A.EXE 程式不是我寫的

b.ini 和 c.txt 是 設定檔內容是不能開放修改且可能會隨時改變內容

D.EXE 是我寫的

其實主要是 就讓使用者執行 D.EXE (-->A.EXE-->設定檔--> 執行)包起來
(不是安裝檔 單純執行檔)

如果我能夠寫出 A.EXE (/images/emoticon/emoticon02.gif慚愧 A牽涉到封包..我不行!)

...我想也不用那麼複雜使用這方式../images/emoticon/emoticon06.gif

謝謝前輩指教/images/emoticon/emoticon41.gif

===== 更新回覆 ===============

前輩說的對!! 就是 類似「只有一個執行檔的綠色軟體」
而由我寫的 D.EXE 去執行 其中一個功能...
卡住 [ 限制使用者不能 查閱與修改 設定檔 仍須執行A.EXE]

謝謝提供參考!
謝謝前輩指教/images/emoticon/emoticon41.gif


fillano前輩好:

感謝即時出手相助!

因為不能用解壓縮方式!
這會使b.ini 設定檔 c.txt 設定檔 給使用者查閱修改..

思緒:
寫D.EXE 放在同個資料夾內 不能以隱藏方式
資料夾內有
A.exe 執行檔 b.ini 設定檔 c.txt 設定檔 D.EXE執行檔

規則:
1.使用者不能修改查閱設定檔內容(除了我之外)
2.A.EXE確定不會出錯..至少我目前尚未遇到錯誤
3.結合以上兩點 , 固本身寫出D.EXE執行檔去執行A
4.b 與 c 可能會改變內容 非常態

癥結點:
b.ini 設定檔 c.txt 設定檔 不能給使用者修改查閱
需要執行 A.EXE

所以思緒
ABC [合成打包封裝 (我不知怎麼表達...所以用那六個字)]
D去執行

因為設定檔不能給使用者查閱修改
才寫個D.EXE->A.EXE->b.ini 設定檔->c.txt 設定檔-> O

想到打包成安裝檔這個方式.EXE(但非安裝)

這有可能嗎?還是不能?
謝謝前輩指教/images/emoticon/emoticon41.gif

===== 更新回覆 ===============
的確!! 如果三個檔案無法打包成一個EXE檔
前輩說得是很好的另一個方式解決(謝謝這個好方式),

我是想保護某些資訊! 就如同-->反編譯 VS 混合 克制!!

逼不得已 限制使用者 無論任何狀況皆不可 查閱 修改
查閱 --> 就是保護某些資訊 資料 設定

預防 勝於治療 ....

有想過放到temp目錄或者C槽
而每位使用者的電腦權限 限制 軟體...等等等不同
可能會遇到 無法放的狀況 ...

所以才想詢問 能不能接 三個檔案打包成一個執行檔
由D.EXE 呼叫
一勞永逸

temp目錄 - 是個好方式 - 只是會有機率...曝露!
才想說用 exe 方式包起來

謝謝前輩指教/images/emoticon/emoticon41.gif

===== 更新回覆 05/28===============
回覆晚一點 請見諒!

fillano前輩 好:
How is Pismo Technic different from other file system platform developers?
We do not charge developer or upfront license fees. We believe commercial developers should not pay for platform tech until they are able to successfully deploy it to customers.
We do not require licensing for use of our tech in internally deployed commercial projects. If you use PFM only for internal projects and you are satisfied with community support, you can use our tech without charge.
We believe that deploying and supporting software in the field is difficult enough without having to deal with DRM and license enforcement mechanisms in platform tech. PFM uses a lightweight branding mechanism for commercial licensees, but is otherwise DRM free.
We provide free access to our tech to non commercial developers, such as students and hobbyists.
謝謝前輩提醒!! 授權 與 License Agreeme 方面 我認真看過...有條件限制使用!!

如果Applications for Pismo File Mount include 內容所說的
這是非常符合 我所需要的...應該可以!!

我正嘗試...試做! /images/emoticon/emoticon76.gif

fillano前輩 您真的滿行的!!!!!/images/emoticon/emoticon12.gif

謝謝前輩!!
/images/emoticon/emoticon41.gif



鬼王很慘 前輩好:
感謝即時出手相助!

因為環境 權限 ..等等等不同
你說的對的...> 不會亂動其他東西 查閱 修改
而仍必須要執行A.EXE

如果是bat仍然會 回尋 b.ini 設定檔 c.txt 設定檔

我是沒問題
畢竟設定檔是我設的

只是卡住 設定檔不能給使用者 查閱與修改 也必須要執行A.EXE
所以我卡住這個問題

謝謝前輩指教/images/emoticon/emoticon41.gif


浩瀚星空 前輩好:
感謝即時出手相助!

目的:不能給使用者查閱修改設定相關值但必須執行A.EXE

解壓縮據我理解是 將檔案解壓所後執行A.EXE
只是相對設定檔也會釋出
所以就無法避免 修改與查閱

dos盒 dosbox 我沒用過 ... 我再去爬文研究這是什麼!!
感謝賜教另一個方向!!!

謝謝前輩指教/images/emoticon/emoticon41.gif


slime 前輩好:
感謝即時出手相助!

我去爬文 AutoIT

謝謝前輩指教/images/emoticon/emoticon41.gif


froce 前輩好:
感謝即時出手相助!

https://ithelp.ithome.com.tw/articles/10155678

我爬文! 謝謝提示!

謝謝前輩指教/images/emoticon/emoticon41.gif


japhenchen 前輩好:
感謝即時出手相助!

謝謝提點思路!

我在爬文的時候學習AUTOIT

也有思考過、自刪、明碼、加密、與另一個思緒,
這個思緒是、
給使用者空的ini、txt 或自建,
再經由D.EXE 另寫入,
等A.EXE 執行後 .....自刪 del !
因而考慮到Thread...

謝謝提供 好方式!!

謝謝前輩指教/images/emoticon/emoticon41.gif

slime iT邦大師 1 級 ‧ 2020-05-27 09:26:24 檢舉
看看 AutoIT 這種軟體適不適合?
3
fillano
iT邦超人 1 級 ‧ 2020-05-27 09:08:30
最佳解答

你要用自己寫程式的思路來思考可能性。A.exe要怎麼去讀ini跟txt?讀取了以後,他怎麼處理內容?如果全部包成一個,他可能做到這些事情嗎?

既然A.exe不是你寫的,你也就只能依照他的方法去執行,不然他就是會出錯,你一點辦法也沒有。

另外一個可能性是,把A.exe跟ini、txt壓成zip,然後D.exe執行後,把這些解壓縮到檔案系統後,再來執行A.exe。這樣的功能可能有工具可以做到,那就不用你自己寫程式。

fillano iT邦超人 1 級 ‧ 2020-05-27 11:48:34 檢舉

並不是只能解壓縮到D.exe同個目錄。可以考慮解壓縮到使用者不容易找到的目錄來跑,例如使用者的temp目錄等等。當然要看你這個不希望使用者修改的需求有多強,如果只是不希望他們亂動,而不是要保護某些資訊的話,這樣就夠了。

fillano iT邦超人 1 級 ‧ 2020-05-28 09:34:37 檢舉

https://pismotec.com/pfm/

他有把zip檔用唯讀的方式掛載到檔案系統目錄的功能,可以評估一下是否可以用這個方式來達成。他也提供用命令列的方式來操作,所以可以透過程式下指令。更好的是:免費。(不過最好看清楚他的授權範圍)

fillano iT邦超人 1 級 ‧ 2020-05-28 09:37:25 檢舉

恩?下載區看到他也提供SDK,所以會更容易整合到程式裡。

5
海綿寶寶
iT邦大神 1 級 ‧ 2020-05-27 08:01:16

如果程式是你自己寫的
就把 b.ini 和 c.txt 的內容
寫在 A.EXE 的程式裡面
(不過就是幾列文字而已)

選我正解

===== 更新答案 ===============
跟我猜想的一樣
你想做的不是「安裝檔」而是類似「只有一個執行檔的綠色軟體」
很抱歉告訴你
在 jvm/.Net/.DLL 出現之後
就很難做到「一個執行檔就搞定」了

這篇是我上次回答另一個跟你有同樣想法的人
提供你參考

froce iT邦大師 1 級 ‧ 2020-05-27 17:37:59 檢舉

golang可以試試

1
鬼王很慘
iT邦新手 5 級 ‧ 2020-05-27 09:28:03

應該要回歸你的真正需求。不是說你需要「打包」,而該思考為什麼你需要「打包」。

就我理解,你是為了讓使用者方便執行?更直覺?不會亂動其他東西?

如果是這樣可以用管理來解決。權限、隱藏、資料夾...

快速執行的話可以建立捷徑,或寫個bat。

最後就是使用者教育。

Windows大部分程式也都是包含一堆有的沒的檔案,為什麼他們沒問題,你的會有問題?

3
浩瀚星空
iT邦超人 1 級 ‧ 2020-05-27 09:53:59

首先,先要了解你這樣做的目的是為何?
是單純使用者方便?還是不想人家看到設定相關值?

畢竟,a程式並不是你寫的。如果是你寫的你也不會來問類似打包的做法。

我目前能幫你想到的方式,其實其它大大們也有說到了。
就是壓縮自動運行檔的方式。
只是這個方法也只是解決了一半的問題。

以前有用過另外一招,但那是用dos盒處理的。
簡單來說,就是將對應要運行的東西都包好然後給dosbox運行處理。
有點類似模擬器的做法。因為東西是解包在模擬盒上。

其它還有沒有招我就想不到了,畢竟不清楚你的主要目的為何。

1
japhenchen
iT邦研究生 3 級 ‧ 2020-05-28 08:00:50

寫進資源RESOURCES裡如何?在執行時才把資源裡的INI、BAT、EXE.....解放回寫出來放在TEMP裡,用莫名其妙的加密文字做資料夾名稱(再執行主程式),執行完記得自殺

我好像是在講壓縮工具的SFX自解程序....都在做同一件事

我要發表回答

立即登入回答