看了GAL游戏资源文件黑盒分析,想起以前做的一个提取器,发来大家共享一下

    技术2024-06-27  66

    看了一个分析文章,想起以前写的一个初版的提取器,也发来与大家共享下

     

    http://blog.csdn.net/luozhuang/archive/2011/01/28/6167799.aspx

     

     

    依据该分析文章,所写的提取脚本如下,根据文后所附的软件即可提取了

     

    提取Script代码

    open D:/works/Script/script.dat skip 12 read 4 filecount print filecount set i=0 set newpos=16 loop: seekto newpos read 32 filename print filename read 4 filestart skip 4 read 4 filesize set newpos=newpos+48 seekto filestart print filestart print filesize read filesize subfile subopen D:/works/script/{i}.tx_ subwrite subfile subclose set i=i+1 if i<=filecount goto loop

     

    以上代码里的文件目录是使用绝对路径,所以大家要修改成你自己的实际路径.

     

     

    脚本代码说明

     脚本命令label:   设置标签,此标签可以通过if xxx goto label来跳转  格式:xxxlabel:open  打开一个包文件,就是要解包的文件,如open c:/abc.cab  格式:open 文件绝对路径close  关闭包文件  格式:closeseekto  定位到包文件位置,其中位置可以是常数或变量,默认从文件头算起  格式:seekto 位置[ 方式] 位置方式可以取如下值:filebegin文件头 filecur当前位置 fileend文件尾skip  从当前包文件位置跳过常数值或变量值  格式:skip 跳过位置read  从包文件读指定字节数到变量  格式:read 字节数 变量print  打印字符串或者变量值  格式:print "字符串" 或者 print 变量名set  设置变量,可做简单计算  格式:set abc=1; set abc=abc+1if  条件跳转  格式:if 条件成立 goto label

    subopen  保存文件,可以用{}将变量括起来,用变量定义名字  格式:subopen 文件绝对路径。如subopen c:/subfile{i}.subsubclose 关闭保存文件  格式:subclosesubwrite 输出变量内容到保存文件  格式:subwrite 变量名

     

    大家可以依据他来写提取360资源和一些没压缩的资源文件.

     

    因为当时是写来玩玩的,所以没有想把他做成一个发布软件,所以没有用到执行线程,运行后会有一段时间界面锁定,以及脚本变量没有做字符操作,无法识别资源里的文件名,还有一些其他问题,例如执行效率等,都没有去处理,如果大家觉得有点用,我也可以去完善下,或把代码发来大家一起研究下.

     

    提取软件:

    下载地址:http://download.csdn.net/source/3009363

    最新回复(0)