哈希算法的定义
是把任意长度的输入通过散列算法变换成固定长度的输出,这样就减少了原输入的长度。
恶意代码中的应用
这个比较简单的哈希算法来源于以前在分析Sodinokibi勒索病毒时遇到的,好困,所以整理下笔记,由于为了逃避检测,所以勒索病毒对字符串的大多数操作都是使用对字符串计算得到的DJB哈希值而不是字符串本身来对比并寻找。
通常,大部分的恶意软件寻找调用API时,会使用API名称计算得到的hash进行内部硬编码值对比来判断查找需要的API函数名称,这样就避免了敏感API函数被直接显示。
案例代码
典型的例子代码如下,还是很好理解的。
原文始发于微信公众号(OnionSec):学习DJB哈希算法
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论