吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8735|回复: 14
收起左侧

[PC样本分析] ida python+od 脚本在恶意代码分析中的简单应用

[复制链接]
mortalboold 发表于 2018-1-30 18:59
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 mortalboold 于 2018-1-30 19:42 编辑

前几天分析恶意代码的时候,样本中的api函数经过了加密处理,需要首先解出api的函数名,然后通过GetProcAddress获取
1.png

交叉引用看了一下解密函数,发现一共有一千多处调用
2.png

如果动态调试一个个的解出来,那耗费的时间就太久了,幸好以前看大佬处理过此类问题,思路是先用IDA python脚本将所有调用处的参数找出来,然后使用od脚本将所有的字符串跑出来。思路有了,接下来就开始慢慢解决问题了。
首先使用XrefsTo函数获取所有解密函数的交叉引用
3.png
接下来就是怎么找出参数的问题了,通过观察,该解密函数一共有两个参数,都是通过push 入栈
4.png

所以只需往调用地址向前查找两条push指令,获取后面的操作数就可以了,如下图
5.png

将代码弄进ida中跑一跑,发现成功找出了参数,接下来就是怎么利用OD脚本将所有字符串跑出来了
6.png
现在我们需要将od脚本写成类似push 参数  Push 参数  call 解密函数 的形势,就可以解出字符串了。查阅资料可知OD脚本中要执行上述指令,需要将指令写在EXEC/ENDE中间,对当前调试进程,执行EXEC/ENDE中间的指令。即将脚本写成如下形式:
7.png

通过OD动态调试可知,解密函数执行完之后,结果保存在寄存器eax中,所以在执行上述代码之后,获取eax寄存器的值,这样就可以获得解密的字符串了。所以通过len 指令获取

eax寄存器值得长度,接着使用DMA 指令将eax的值保存到文件中
8.png
确定了od脚本的写法,我们就用ida python获取参数,并将od脚本指令打印保存到一个文件中。如下图
9.png

在OD中执行刚才保存的脚本文件,我们就可以得到所有解密的字符串了
10.png

最后通过ida python将字符串注释到相应位置

11.png

即可得到如下效果:

12.png

这样分析就很方便了。

代码水平很差,python写的着实烂。。各位大佬见谅。。。

免费评分

参与人数 7威望 +1 吾爱币 +17 热心值 +7 收起 理由
晓我琴宝贝 + 1 + 1 谢谢@Thanks!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Ginkgogogo + 1 + 1 谢谢@Thanks!
Bohui1269987019 + 1 + 1 热心回复!
wisoft + 1 + 1 谢谢@Thanks!
pk8900 + 1 + 1 python很强大,看来是不得不学的东东了。代码不用图片就好了。
回归自然 + 2 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| mortalboold 发表于 2018-1-31 22:14
Hmily 发表于 2018-1-31 17:54
挺好的,这类加密调用同一个函数解密挺多,直接用脚本把所有加密字符串跑出来会方便很多。

谢谢H大,H大有没有ida python的中文手册呀

点评

没有啊,你自己搜搜?  详情 回复 发表于 2018-2-1 09:52
 楼主| mortalboold 发表于 2018-1-31 12:56
11212122 发表于 2018-1-30 21:28
可以给 IDA的py都丢到python目录, 然后用pycharm

npp写起来不累么.

还是挺方便的
执笔年华 发表于 2018-1-30 20:15
jrc96 发表于 2018-1-30 20:37 来自手机
谢谢分享,很多有用
11212122 发表于 2018-1-30 21:28
可以给 IDA的py都丢到python目录, 然后用pycharm

npp写起来不累么.
whklhh 发表于 2018-1-30 21:35
感谢分享~一直想学ida python和OD脚本,终于初窥门路了~
wisoft 发表于 2018-1-30 23:26
很强大,学习了
丶Kevin 发表于 2018-1-31 01:43
妙啊 楼主加油
sitiger 发表于 2018-1-31 11:06
小白路过,,,
 楼主| mortalboold 发表于 2018-1-31 12:57
whklhh 发表于 2018-1-30 21:35
感谢分享~一直想学ida python和OD脚本,终于初窥门路了~

我也是才开始学习这个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表