我可以看看涉及反编译或十六进制编辑的方法,但我希望有一个更简单的方法,尽管完全愿意沿着这条路走下去。我试图解决的情况是,我有一个可执行文件被标记为病毒。我正在探索所有的可能性,包括我的编译器正在向代码中注入病毒的可能性。我有被报道的病毒名。我不在乎反病毒扫描仪是否再次标记它,但我确实想要开发一些证据,证明这个文件确实是安全的。假设我的文书工作是可信的,我该怎么做?另外,请假定此可执行文件不能提交给反病毒公司进行启发式白名单。
虽然这种情况是人为的,我只是简单地问一下,如果我有可执行文件和反病毒引擎找到的病毒名,我如何确认可执行文件不包含该病毒。
发布于 2016-01-29 14:49:59
我确实认为这个问题与https://reverseengineering.stackexchange.com/有关,而不是安全论坛。
这是一个非常深入的问题。例如,这个应用程序是什么?本机或字节码语言,如Java、.NET等。
因此,我将假设它是一个x86可执行文件。
您需要下载:
过程监视器 --一个非常方便的工具,可以查看用于文件、注册表、网络和线程/进程的进程。
艾达专业协会 --一个非常强大的调试器/dissasembler/反编译程序,这样您就可以从假阳性所做的事情中实际知道API的断点。您需要了解windows的内部结构。如果您向我提供了病毒所相信要做的事情,我可以在调试器下给您一个API列表来调查。
API监视器 --这是一个方便的工具,可以用来检查它在一段时间内执行的内容,看看是否有什么特别之处。例如,OpenProcess、WriteProcessMemory、ReadProcessMemory通常用于向其他进程注入代码,一般的应用程序不需要这些API。
理想情况下,您将希望学习逆向工程来检查代码,因为绕过AVs和假阳性是非常常见的。
https://security.stackexchange.com/questions/112144
复制相似问题