我正在对一个二进制文件进行逆向工程,该二进制文件在每个字符串上都具有非常通用的标准异或 + 数学加密。我已经编写了 IDAPython 来查找每个(它们以通用方式使用)并解密它们,然后将解密的字符串添加为注释/尝试重命名变量。
不过,这并没有告诉 IDA 这些块的偏移量实际上是一个字符串。例如,它不会出现在idautils.Strings(插件必需的/我的脚本库的其余部分...)、字符串视图等中。
我想不清楚:字符串静态存储在加密块中。它们只在运行时解密,但在其他方面就像普通的字符串引用一样使用。
我可以用 IDB 中的解密结果替换加密块,但这不太理想,因为它创建的 IDB 与文件静态不是 1:1。
有没有办法告诉 IDA 将地址标识为具有特定值的字符串?