【问题标题】:Decompiling/Unpacking a File (Reverse Engineering the Compiler)反编译/解压文件(逆向工程编译器)
【发布时间】: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


【解决方案1】:

你说的是

我可以访问可以编译和反编译文件的程序。

然后只需修改检查该标志的部分并反编译。

【讨论】:

  • 最好的方法是使用像 Cheat Engine 这样的内存编辑器吗?我在逆向工程上做了一个线程,这似乎是解决这个问题的最佳地点。
  • 不,你不需要作弊引擎或类似的东西。您说您可以访问该程序。重新编码不检查元数据并编译运行。
  • 我的意思是我可以访问可执行文件,而不是源代码。除了内存编辑之外,还有什么方法可以让程序在检查标志时得到肯定,或者在不检查标志的情况下反编译?
猜你喜欢
  • 2012-02-15
  • 2010-12-02
  • 2011-07-13
  • 2012-01-16
  • 2019-11-08
  • 1970-01-01
  • 2020-08-22
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多