博主资料

留言 加为好友 收藏

用户名:  prefetchnta
来自:  海外 北美
年龄:  24

最近访问的人:

蓝兰岛
2008-09-07 19:38:24
办理无抵押贷款
2008-09-05 15:16:46
划过
2008-09-04 21:35:59
wo的BLOG
2008-09-04 12:50:21
笑对人生!
2008-09-03 14:02:04
哈尔滨网站建设
2008-09-01 16:48:56
惶者生存--董衍善
2008-08-31 14:09:46
Neverland
2008-08-29 17:44:33
徐祖哲
2008-08-29 08:15:06
老谢
2008-08-28 10:30:26

文章列表

个人统计

用户名: prefetchnta
等级: 初来乍到
威望: 60
积分: 705
在线时间: 113 小时
日志总数: 53
评论数量: 345
访问次数: 299157
建立时间: 2006-07-15
RSS订阅       手机访问

日志文章列表

2006年12月30日 23:14:43

被魔法使与主人折磨的身心疲惫

   在电驴上下了这么个女性向的游戏,我从来不对养成类游戏感兴趣,所以打算开完包就扔,没想到这竟然是一个恶梦的开始。
   打开mygame.exe是加壳的,不过资源里有一项名字是MADEWITH,这是一个线索。经过多方查证,证实这个游戏是用小日本的Livemaker做的。包文件开头vff,文件名表格经过了加密,文件内容也好象是压缩的。没办法只好分析代码,又是头痛的反汇编,而且里面的代码好象也是加了一些反分析的技巧,还非调试运行不可。经过一番调试,终于找到了解码的代码,是变key的异或(跟刚开始的猜想一样),看看起始的MagicKey是0x75d6ee39,而且每个游戏都一样,赶快写个小程序试试,果然文件名出来了,由于是日文目录名,都是乱码。
   一看文件后缀,是GAL,晕了,又要自己写解析插件了,用通用的图片文件多好啊。这里不得不提Falcom,看过他的几个游戏(英雄传说3456、双星物语),里面的文件都是自定义的裸数据,而且什么256色、16位色的一..

阅读全文>>

Tags: 魔法使与主人  

类别: 逆向工程 |  评论(0) |  浏览(2228) |  收藏
2006年12月02日 13:48:51

工画堂cocotte解码算法

   经过对其反汇编,分析得到cocotte算法是由BWT、MTF和RangeCode三种编码组成。解码时按反顺序进行。
(1)基本二进制格式
   文件的编码是按块存放,第一个WORD是编码块大小,第二个WORD是解码数据大小,后面是已编码的数据。一个文件有多个块。

(2)RangeCode Decode
   根据EXE里的字符串“rescaling left %d total frequency”留下的线索就可以查到她使用了RangeCode编码(可以去http://www.compressconsult.com/下载其代码)。经过进一步的代码比对,发现有两处不同:她的TBLSHIFT为9,并采用了自定义的初始表格(initqsmodel函数的init参数),由于表格太长,这里就不贴出来了,可以自己到EXE里找。

(3)MTF Decode
   好象找不到合适的代码,自己从汇编改写成C代码:
struct sMTF
{
  byte_t  table[256];
};

void MTFDecode (sMTF *mtf, byte_t *buf, uint32 rsize)
{
  byte_t*  tt;
  uint32   t1,..

阅读全文>>

Tags: 工画堂   HyPack   cocotte解码  

类别: 逆向工程 |  评论(1) |  浏览(2482) |  收藏