如何打开游戏文件中的外部文件扩展名?

针对我目前正在进行的这个游戏,它的归档文件以 ".rpf" 结尾(这是“Rage引擎程序包文件”的缩写)

程序员们如何找到打开这些类型的文件/归档文件的方法,而又没有访问Rage引擎的权限?

为了尝试打开外部文件扩展名,一开始需要了解哪些知识?这些文件可以因为OpenIV团队开发的必要程序而被打开,但是,一个开发者如何找到或甚至知道从何处开始开发一个能够打开另一个文件的应用程序的任务?

点赞
用户5675002
用户5675002

这被称为逆向工程

你使用十六进制编辑器查看文件,注意到一些文本或数字看起来像偏移量。然后应用自己编写类似内容的经验,做出一些假设并检查是否对多个条目正确。等等。

2016-08-28 16:57:03
用户6717614
用户6717614

有许多方法可以打开这种文件。首先,您可以使用特定的程序来打开它们,比如OpenIV用于RPF档案。如果您想要制作修改或作弊,大多数人会反汇编程序或使用十六进制编辑器打开它们。

像HexEdit这样的程序将程序的二进制值更改为十六进制数,例如字节10100101变成0xA5h(A5)。

另一种方法是将程序反汇编。类似ollyDbg、IDA Pro或其他程序会将二进制值转换为汇编代码。现在,您可以搜索一些偏移量、地址和文本,然后可以删除或编辑它们以让程序执行您想要的操作。

有些程序可以生成伪代码到C或C#(例如.NET Reflector),这有助于您了解程序的操作。

在您读取一些内存地址和它们的偏移量后,可以在反汇编程序本身中更改它们(例如从JNZ(如果不为零则跳转)更改为JMP(跳转)),并将这些代码写入可执行文件中,或者您可以在自己的程序中实现它们并将其更改或修补。

这就是您寻找的原则,以了解程序的工作原理,然后添加一些自己的功能,或编写一个全新的应用程序来打开任何文件。像Vlad说的那样,这被称为逆向工程。

2016-08-31 11:19:22