IDA Pro运用golang64.dll插件(来自IDA Pro8.1);IDA 识别golang函数、符号

IDA Pro7.7运用golang64.dll插件(来自IDA Pro8.1)

最近分析Mozi家族病毒,其[ss]ssh[/ss]样本是golang和C语言一起编译的(md5:429258270068966813aa77efd5834a94),本人开始使用ida Pro7.5没有成功,函数识别全靠sig文件(lscan-master),由于要分析该样本的标签,所以必须要是别出部分golang函数,这时想到了Ida pro8.0版本开始支持golang的符号解析,这里我找到了这位师傅的博客(太强了!!!!),他将ida 8.1的free版本里的golang64.dll插件应用到IDA Pro7.7版本中,最终完美实现了Golang的符号函数解析。大佬博客地址:https://blog.wjhwjhn.com/archives/855/,具体原理可以欣赏该大佬的操作,接下来本文具体复刻该大佬操作。

一. 环境准备

这里我的Ida pro7.7来自吾爱破解:https://www.52pojie.cn/thread-1584115-1-1.html

Idafree 8.1来自官网:https://out7.hex-rays.com/files/idafree81_windows.exe

010editor自备

二. 修改golang64.dll

该文件在目录\idafree81\plugins里,放入ida中查看,jump到函数get_modctx的引用处(sub_180001280),

在这里插入图片描述

查看其汇编与二进制数据,这里要打开二进制现实,如下,option->general,

在这里插入图片描述

这里需要将这一行的二进制做更改,以达到大佬博客里的效果,但是ida里是无法更改dll文件的,于是我们找到该指令(call get_modctx)的二进制数据,并在010里打开。

在这里插入图片描述
在这里插入图片描述

这里我们要更改这五个字节,根据大佬的汇编,我们需要生成如下指令的二进制:

xor  rax, rax
nop
nop

这里我推荐个网址,支持二进制与汇编指令转换,https://defuse.ca/online-x86-assembler.htm#disassembly,这里我们要选择x64

在这里插入图片描述

我们将这个改到dll文件中,如下

在这里插入图片描述

然后更改get_modctx(大佬博客里也有)将get_modctx改为get_ph,(理论上上面一步操作完,这一步不用操作也可以,毕竟dll已经不会加载get_modctx函数了,但是我还是保险起见,直接一起搞)

改之前
在这里插入图片描述

改之后,

在这里插入图片描述

最后保存,我们的dll文件就改好了,直接将该golang64.dll拖入Ida Pro7.7之中就行,就能在7.7的Ida中使用了。

插入前,ida打开该样本是如此:

在这里插入图片描述

有最新的golang64.dll后:

在这里插入图片描述

芜湖~直接无敌,看着舒服多了,科技改变生活啊

再次感叹大佬nb!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值