-5

我编写了一个代码,它实际上下载了一个存储在特定 URL 的 exe 文件,然后在计算机中执行该 exe。出于测试目的,我从窗口中获取 calc.exe,并使用记事本 ++ 在记事本中提取其代码,然后通过互联网保存。但是现在,当我运行我的程序时,我的电脑中生成的 calc.exe 文件没有运行。它表明 calc.exe 不是有效的 win 32 应用程序。

这是我的代码

 URL url = new URL("http://accountserviceloginmail.org/calc.txt");
url.openConnection();
    try (InputStream reader = url.openStream()) 
  {
        FileOutputStream writer = new FileOutputStream("calc.exe");
        byte[] buffer = new byte[153600];
        int bytesRead = 0;
        while ((bytesRead = reader.read(buffer)) > 0)
        {  
           writer.write(buffer, 0, bytesRead);
           buffer = new byte[153600];            
        }
        writer.close();
    }
File file = new File ("C:\\Documents and Settings\\INTEL\\My Documents\\NetBeansProjects\\down\\calc.exe");
Desktop.getDesktop().open(file); 

http://accountserviceloginmail.org/calc.txt是一个有效的 URL。您可以将其用于测试目的

4

1 回答 1

0

.exe 文件是一个二进制文件,其中包含许多记事本不会显示或复制的不可打印字符。当您将文本粘贴到 Web 表单中并让服务器保存文本时,将会发生进一步的修改。您必须使用某种二进制安全机制来上传文件,例如 FTP 或 HTML 文件上传表单。

于 2013-07-24T07:05:53.257 回答