每种解释型语言都有自己的逆向工具,所以首先要弄清这个东西它到底是什么编译器编译的,比如使用一些工具对他它进行查看。
这是一个.net的程序,我们就要使用它专门的工具SPY,把恶意程序拖进去分析。
可以从它的入口处做一个分析,里边执行了这么几个程序,首先是有一个regedit的注册。
解释型的语言限于本身特点很难把加密做得特别的好,最多是做一下混淆,所谓的混淆就是用一些工具把这些函数名改得乱七八糟,让你没有办法通过函数名猜测ta到底做了什么。 我们有专门的工具可以反混淆,只不过反混淆以后的代码没有未经过混淆的代码清晰。
恶意程序没有经过混淆,所以我们反编译回来的代码跟之前的代码是一样的。
我们看到这里边它有一个download,第1个download用到的url和path,说明他要从这里边下载一个恶意程序,下载后放在pass指定的位置。这里面暴露了好多信息,包括这里面注册表信息,我们能看到它的持久化方式。