.bin
扩展名),这些归档文件无法使用常规方法提取:安装程序无法正常运行原因(例如
Runtime Error (at -1:0): Cannot Import EXTRACTFILENAME.
),由于
ERROR: unsupported compression method srep
不能使用FreeArc提取Arc文件,另外,档案文件显然受到密码保护(尝试使用FreeArc UI打开它导致Enter解密密码对话框)。
如何处理这种情况?
#1 楼
这里有三个主要步骤:您必须反编译/分解IS安装程序本身;最简单的方法是使用Inno Setup Decompiler;本质上,您需要从
CompiledCode.bin
文件中获取.exe
,然后对其进行解散,可能会找到处理解压缩的代码-它通常调用ISArcExtract
或类似的库函数,并放置在名为CURSTEPCHANGED
的方法中。 >您必须获得SREP(SuperREP)提取程序(有关更多信息,请参见例如http://krinkels.org/resources/superrep-srep.107/和https://www.fileforums.com/showthread.php?p= 460707)-最简单的方法是获得一个名为SrepInside0.33.7z
的软件包(可在各个地方下载),因为它捆绑了所有必需的文件(实际上,您将获得带有unarc.exe
lib和CLS-srep.dll
配置的cls.ini
)。 >在Inno Setup的反汇编中,找到保存密码本身的变量(如果是ISArcExtract
,则是传递的第7个参数),然后将其传递给unarc
调用-请注意,它可能包含不可打印的字符(例如<32 ASCII码) ),因此建议您使用脚本传递密码。请注意, Arc和SREP的不同版本/变体;但是,上述方法在大多数情况下应该可行。
评论
有没有办法让FreeArc用户打开那些垃圾箱?在设法解决arc.ini中的srep的外部压缩器条目之后,我设法打开了一些文件,但是其他文件(来自更新安装程序的文件)给出的块描述符已损坏。我知道它们是弧线,内部的inno文件具有unarc.dll。
– JasonXA
19年11月9日14:29
@JasonXA AFAIR(我已经一年没有这样做了,并且我没有任何相关的文件方便),这是一个版本不匹配的问题-FreeArc被废弃了。 v0.666,v0.67在野外漫游,一些人可以使用v0.70,并且现在还有FreeArc Next作为受支持的版本。尝试使用最新版本的YMMV。
–user15807
19年11月9日15:24