虽然大概没什么人来看这个blog,但还是要稍微更新一下的。
前段时间被人摆脱去搞gift程序的破解,结果因为自己深陷数坑,搞了这么久才提出对白。Gift的脚本文件封装在一个pak文件里面再用zlib压缩,于是textdata.z就是脚本文件。自己用zlib写个程序解压后得到的pak文件就可以解包了。
值得一提的是虽然解压得出PAK文件里面第一个文件头结构就有指出脚本文件的个数,但实际上在后面还是有很多的空字节,因此用一些提取工具来提取会提取出错误的脚本,以下是自己写的提取脚本程序,代码很挫,没错误处理。
#include "windows.h"
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
struct filehead{
char name[0x30];
DWORD offset1;
DWORD offset2;
DWORD size;
DWORD unknown;
};
int chr='\\';
char path[256];
int main(int argc, char* argv[])
{
fstream is("textdata.z.pak",ios::in|ios::binary);
char *buff=new char [0x1f400];
is.read(buff,0x1f400);
filehead *p=(filehead*)buff;
int i=1;
while(p[i].size!=0)
{
char *pos1,*pos2;
char *temp=new char [p[i].size];
is.read(temp,p[i].size);
if((pos1=strchr(p[i].name,chr))!=NULL)
{
GetCurrentDirectory(256,path);
char *fuck=new char [pos1-p[i].name+2];
ZeroMemory(fuck,pos1-p[i].name+2);
memcpy(fuck,p[i].name,pos1-p[i].name+1);
lstrcat(path,"\\");
lstrcat(path,fuck);
CreateDirectory(path,NULL);
delete []fuck;
if((pos2=strchr(pos1+1,chr))!=NULL)
{
fuck=new char [pos2-pos1+1];
ZeroMemory(fuck,pos2-pos1+1);
memcpy(fuck,pos1+1,pos2-pos1);
lstrcat(path,fuck);
CreateDirectory(path,NULL);
delete []fuck;
}
}
fstream write(p[i].name,ios::out|ios::binary);
write.write(temp,p[i].size);
write.close();
delete []temp;
i++;
}
delete []buff;
is.close();
return 0;
}
提取出来的脚本有两种,一种是scn脚本,一种是tbl脚本,scn内含控制符以及对白,tbl则是对应scn脚本的索引。然后就可以写程序提取对白出来进行翻译了。
分享到:
相关推荐
自定义view来播放gift资源,亲测可以
从网络获取gift 并且自定义大小,在屏幕上进行滑动,点击各种事件的处理
LICEcap mac上的一款简单好用的Gift截图工具 mac上的一款简单好用的Gift截图工具
gift-master.zip
轻量级GIFT算法的能量分析攻击,李月清,郑世慧,GIFT算法是一个新的轻量级分组密码算法,成为当前最节能的密码算法之一。然而,尽管其在硬件实现的安全性得到了广泛的研究,其在�
Gift 包提供一整套有用的图像处理过滤器。完全使用 Go 语言,没有 Go 标准库之外的外部依赖。安装/更新go get -u github.com/disintegration/gift文档http://godoc.org/github.com/disintegration/gift快速开始/...
A Mathematical Gift 1 经典讲义 [Kenji_Ueno,_Koji_Shiga,_Shigeyuki_Morita]
A Mathematical Gift 2 [Kenji_Ueno,_Koji_Shiga,_Shigeyuki_Morita]
基于体感设备开发的多功能应用系统部分源代码,成果归大家所有。
好用的抽奖程序 年会必备,可设置奖项 号码
青软实训的GIFT-EMS礼记项目源码内容包含了前台的项目源码
the worlds most useful gift cataloguePPT学习教案.pptx
[mobi]Python for Unix and Linux System Adminis - Noah Gift
USACO题目,Greedy Gift Givers
GiftCard-iOS, 简单的实现dribbble镜头 giftcard-ios你可以在 Dribbble 看到令人印象深刻的动画。##Why 我做这个?我开始学习一些代码,并开始学习一些代码,试图同时使用Xcode和Facebook的折纸工具。我还以为应该...
Gift fromQ.exe
GiftCard-Android超炫购物卡片MaterialDesign自定义控件
Bo-Blog gift
利用Biclique攻击方法,结合算法密钥调度方式以及轮函数结构的信息泄露规律,分别给出了对于GIFT-64算法的平衡Biclique攻击和Star攻击结果。对于GIFT-64算法的平衡Biclique攻击所需的数据复杂度和计算复杂度分别为2...
gift.exe