使用IDC分析加密代码

来源:互联网 发布:知乎100个经典回答 编辑:程序博客网 时间:2024/05/21 08:48

第一步:

病毒的二进制映像被装载到IDA中,从程序的入口点开始

很明显,在调用函数call命令里的地址,没什么意义,但它给了我们一个提示,它是加密代码的所在。

第二步:

我们生成一个IDC程序来模仿解密代码:

static decrypt(from, size, key ) { 
  auto i, x;           // we define the variables//定义变量
  for ( i=0; i < size; i=i+1 ) { 
    x = Byte(from);    // fetch the byte//取原始代码
    x = (x^key);       // decrypt it//解密
    PatchByte(from,x); // put it back//放回解密代码
    from = from + 1;   // next byte//下一字节
  } 
}

我们保存它,并使用快捷键F2来装载它。

 

第三步

我们使用shift+F2来执行这段IDC程序,注意输入相应参数,注意其中的起始点地址。

现在代码已经解密了。

第四步

在解密代码的起始未知,我们使用快捷键C,将其翻译为汇编代码。

原创粉丝点击