簡體   English   中英

如何使用Java創建外部.exe文件

[英]How do I create an external .exe file using Java

我存儲了一個外部.exe文件的所有字節,然后將它們重寫為我當前正在使用FileOutputStream / BufferedOutputStream創建的另一個.exe文件。

字節寫得很好,第二個程序在我選擇的位置創建,但是當我運行該文件時,它說這不是有效的.exe文件或有效的32/64位應用程序。

我猜是因為它沒有正確打包和生成。

我將如何使其成為可執行文件,並且與第一個文件相同?

ps我不能使用文件的任何副本,因為最終我將要加密字節並將它們寫入文件,但是我仍然希望它可以使用。

如果所有字節都相同,它將運行。 如果原始文件運行並且副本沒有運行,則某些字節必須不同。 它與包裝無關。 也許您正在使用字節變量來存儲讀取的數據。 不要那樣做 只需使用int。 如果未正確使用字節變量,則由於自動符號擴展會導致問題。

這對我來說很好

import java.io.*;

public class Test {

    public static void main(String[] args) throws Exception {
        BufferedInputStream in = new BufferedInputStream(new FileInputStream("a.exe"));
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("b.exe"));
        int data = in.read();
        while(data >= 0) {
            out.write(data);
            data = in.read();
        }
        in.close();
        out.close();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM