在同一程序的2个不同文件中查找恶意软件

时间:2014-03-14 09:16:14

标签: malware malware-detection

所以这是我正在进行逆向工程的一个介绍课程。

所以我有两个文件是同一个程序,一个应该有一个木马。

我看了两个文件,发现了一些很奇怪的东西。但是,我没有理由说明为什么会这样。

  1. PE标题不同。在DOS头中的一个文件中,PE头位于偏移F0处,另一个位于F8处。为什么?我真的不明白。为什么有人会将PE标头更改为8个字节?
  2. 我注意到代码入口点也不同。这是否意味着程序的开始是跳到其他意味着两个程序从不同位置运行。
  3. 我注意到所有的RVA都说出口或进口表增加或向上移动。我假设这是因为PE头移位了8个字节,因此文件中的其他所有内容也会向上移动。
  4. 代码值的大小不同,因为我发现一个文件比另一个文件略大。时间戳也不同,这意味着文件必须已被编辑。
  5. 其中一个文件具有导入符号execve,而另一个文件没有。我不知道这个符号是做什么的?
  6. 最后,我认为其中一个导出符号有跳跃等等,另一个没有。这意味着它正在做一些不应该做的事情。

    无论如何,这些是我注意到的一些观察。我只是需要帮助来理解这些观察结果可能意味着什么。

    感谢。

    Noob逆向工程师。

1 个答案:

答案 0 :(得分:1)

希望这会清除一些事情。

  

我注意到代码入口点也不同。这是否意味着程序的开始是跳过其他两个程序从不同位置运行的地方。

好的,代码入口点的变化可以清楚地表明代码已经被篡改,并且通常意味着恶意代码将在进入时被调用,然后恶意代码将在那之后运行正常代码。这样做是为了使用户不会注意到应用程序已被篡改。

  

代码值的大小不同,因为我发现一个文件比另一个文件略大。时间戳也不同,这意味着文件必须已被编辑。

大小的变化也可能表明可执行文件中存在恶意代码,因为可执行文件不应该增长(我不知道你正在喂你的)。

  

其中一个文件具有导入符号execve,而另一个文件没有。我不知道这个符号是做什么的?

至于execv,请参阅_execv, _wexecv MSDN