exe怎么解压成文件_电脑上强力卸载的软件找回方法

Դ网易

ߣ整站优化

10

2021-11-07 13:23:15

前有有讲过,如何通过JAVA,将冲突制作成自解压的可执行程序的扩展名文件。现收到需求:用户下载可执行程序的扩展名时,自动往可执行程序的扩展名文件中添加或覆盖某文件。

思路:

exe怎么解压成文件(电脑上强力卸载的软件找回方法)

1、由于自解压的可执行程序的扩展名文件由sfx、config.txt、7z压缩文件组成。所以直接用SevenZFile是打不开该文件的。

2、从可执行程序的扩展名文件中,找到config.txt结尾标识的位置(位置)。

3、将可执行程序的扩展名文件拆会成两具临时文件件:sfx config.txt文件,z7.7z压缩包文件。

4、调用SevenZFile,添加中覆盖文件组成新的压缩文件newz7.7z压缩包。

5、合并sfx config.txt文件、newz7.7z压缩包成可执行程序的扩展名生解压文件。

代码如下:

其中:d:test7z自解压。可执行程序的扩展名为自解压可执行程序的扩展名文件。

/**

* 查找文件中的config.txt结尾位置

*

* @抛出IOException

*/

@测试

public void getConfigEndPosTest()引发IOException {

最终文件exeFile=新文件(' d:test7z自解压. exe ');

最终字节[]配置结束=';@InstallEnd@!"。getBytes(' ISO-8859-1 ');

final BufferedInputStream exeBis=new BufferedInputStream(新文件inputstream(exeFile));

//sfx假定大于124928

exebis。skip(124928);

int b;

long pos=124928

int macth=0;

while ((b=exeBis.read())!=-1) {

刷卡机

if(配置结束[macth]==b){ 0

麦克思

} else {

macth=0;

}

if(macth==15){ 0

系统。出去。打印(pos);

打破;

}

}

exebis。close();

}

/**

* 自解压文件拆分成: sfx配置,7z两个临时文件

*

* @抛出IOException

*/

@测试

public void splitFileTest()引发了IOException {

最终文件exeFile=新文件(' d:test7z自解压. exe ');

最终文件inputstream exeIn=新文件input stream(ExeFile);

最终文件sfxFile=新文件(' d : testsfx。tmp’);

sfxfile。新建文件();

最终文件输出流sfxOs=新文件输出流(sfxFile);

//125070 第一步求得的刷卡机

byte[]buffer=new byte[125070];

(同Internationalorganizations)国际组织长度;

length=exeIn.read(缓冲区);

sfxOs.write(缓冲区,0,长度);

sfxos。close();

最终文件z7File=新文件(' d : testz 7.7z ');

z7文件。新建文件();

最终文件输出流z7Os=新文件输出流(z7文件);

while((长度=Exein。读取(缓冲区))0){ 0

z7Os.write(缓冲区,0,长度);

}

z7os。close();

exein。close();

}

/**

* 添加或覆盖的文件到7z

*

* @抛出IOException

*/

@测试

public void writeFileTo7z()引发了IOException {

//略,7z文件处理

}

/**

* sfx配置新的7z文件成exe .

* @抛出IOException

*/

@测试

public void mergeFile()引发了IOException {

//略,参考前一篇的《JAVA JAR制作可自运行的EXE包》

}

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部