Skip to content

类别:dropper 释放器 ​

dropper

dropper 类别检测 释放器/加载器行为——样本在自身结构里塞入额外数据,运行时释放或加载。

📋 规则分布 ​

dropper tag 的规则:

规则文件检测
data_injected_after_mapdex/abnormal.yaraDEX 的 map_list 之后被注入了数据
upx_embedded_inside_elfelf/packers.yaraELF 内嵌了 UPX(tag: packer dropper)
upx_compressed_apkelf/packers.yaraUPX 压缩的 APK(tag: packer embedded)

注意 upx_embedded_inside_elf 和 upx_compressed_apk 是 多 tag 规则——同时带 packer 和 dropper/embedded,会生成多条 finding。

🔍 规则示例 ​

yara
rule data_injected_after_map : dropper {
  condition:
    is_dex and <map_list 之后有非预期数据>
}

正常 DEX,map_list 之后是 data 段,结构是确定的。如果在其后发现了"多余"的数据,说明有人往 dex 里塞了载荷——典型的释放器手法:把真正的恶意代码加密附在 dex 尾部,运行时读取并解密。

📊 finding 示例 ​

json
{
  "tag": "dropper::data_injected_after_map",
  "category": "dropper",
  "description": "Detects dropper/loader behavior patterns",
  "source": "app.apk!classes.dex",
  "identifier": "data_injected_after_map",
  "confidence": "high"
}

🆚 dropper vs embedded vs packer ​

  • dropper:主动 释放/加载 额外载荷(有行为意图)。
  • embedded:内嵌载荷(静态存在,未必主动释放)。
  • packer:整个 dex 被加密打包(载荷是 dex 本身)。

界限有重叠。UPX 内嵌既是 packer(UPX 打包)又是 dropper(内嵌额外 ELF)。

📍 相关 ​

基于 GPL & Commercial 双重许可发布