哈希算法的定义
是把任意长度的输入通过散列算法变换成固定长度的输出,这样就减少了原输入的长度。
恶意代码中的应用
这个比较简单的哈希算法来源于以前在分析Sodinokibi勒索病毒时遇到的,好困,所以整理下笔记,由于为了逃避检测,所以勒索病毒对字符串的大多数操作都是使用对字符串计算得到的DJB哈希值而不是字符串本身来对比并寻找。
通常,大部分的恶意软件寻找调用API时,会使用API名称计算得到的hash进行内部硬编码值对比来判断查找需要的API函数名称,这样就避免了敏感API函数被直接显示。
案例代码
典型的例子代码如下,还是很好理解的。
原文始发于微信公众号(OnionSec):学习DJB哈希算法
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论