【发布时间】:2015-12-08 11:46:42
【问题描述】:
我正在使用一个程序,该程序可以将包含文件的文件夹打包/编译成单个 *.xyz 文件,只有该程序可以反编译和读取该文件。为了让程序创建一个编译文件的标志:
[Compile]
Decompile=1
必须在文件 Meta.ini 中。如果没有,则无法解压/反编译该文件,并且无法取回源文件。
我创建了一个编译文件并且丢失了源文件。我忘了添加反编译标志,所以我目前无法解压文件并继续我的工作。只要包含标志,我仍然可以使用该程序编译和反编译文件。生成的文件是 FoxPro FPT 格式。该程序是用 Visual Basic 编写的。
总结:
- 我有一个编译/打包的文件需要反编译/解包。
- 我可以访问可以编译和反编译文件的程序。
- 文件中没有所需的反编译标志。
- 生成的文件是 FoxPro FPT 格式。
- 该程序是用 Visual Basic 编写的。
我知道标志需要去哪里,但如果不首先反编译/解压缩文件(我知道),我无法插入它。我的选择是找到一种方法来反编译文件本身,或者找到一种方法将反编译器与程序的其余部分隔离开来。任何帮助将不胜感激。
谢谢
【问题讨论】:
-
您可以在 (un)packer 读取并评估“反编译”设置的点设置断点,更改结果并让它继续。除非我们需要一个打包(“编译”)文件的样本;例如如果它的 XOR-shrouded 那么你可以通过 shroud 打出新值而无需先移除它,例如在正确的位置与 (old_value XOR new_value) 进行异或。例如,用于从 Refox 品牌文件中删除所谓的反编译保护(无论如何只有 Refox 尊重)。
-
@DarthGizka 我该怎么做?我会在调试器中打开程序并捕获它在反编译 .xyz 文件时的作用吗?我可以创建一个带有标志的虚拟文件,然后我可以反编译。
-
好吧,在Reverse Engineering 上讨论了调试和探索。基本上,您使用 IDA 或 Cheat Engine 之类的调试器,并在数据段中的常量字符串“反编译”上设置硬件读取断点,看看会发生什么,然后跟着你的鼻子走。在像 PasteBin 这样的地方放置两个小例子——除了反编译设置之外是相同的——可以让人们评估情况,但通常我们希望在程序上戴上手套(不知道你的许可证情况是什么)。 DBF 和 FPT 结构相当好
-
有很好的文档记录,剩下的就是棘手的问题。我知道进出的 FXP/APP 结构——包括编译时使用
ENCRYPT关键字得到的 XOR 覆盖——以及 Refox 和 Xitech Cryptor 背后的所有蛇油。如果没有 Foxish 的东西,那么逆向工程的人会更好地提供帮助。 -
@DarthGizka 我刚刚开始掌握作弊引擎。我找到了调用的十六进制代码:
.get_DecompileToolStripMenuItem。当程序加载显示反编译选项的上下文菜单时,我会以某种方式插入它吗?
标签: visual-foxpro decompiling foxpro decompiler unpack