我已经深入研究了使用 IDA 的逆向软件,我之前使用过 Ghidra。我已经解决了几个基本的破解程序,现在我已经针对另一个代码被混淆的代码,也有反调试功能,据我所知它在 tls 回调期间修改了它的代码(至少这就是 IDA 指出的逐步执行 tls 回调,有 3 个)。我怀疑 tls 回调检查调试器并解压可执行文件。
我想问几个与此相关的问题。
您将如何反转被严重混淆的代码?(很多跳转和不透明的谓词。)也许在 tls 回调完成后,代码会被解包并移除一些混淆?
我在ntdll.dll和kernel32.dll的主要调试检查函数中添加了断点,看看它们是否调用了任何,我看到它们多次调用ntqueryprocessinformation,我怀疑它们在查询自己的进程?
此外,如果我想在运行时读取应用程序的内存,我将需要找到一种方法来绕过他们的反调试功能,这意味着我必须弄清楚他们在使用 tls 回调以及从入口点体育?
我正在寻找你们可以扔给我的任何一般或具体的指导方针,以击败他们的混淆。
谢谢