-
-
E*ET N0D 病毒库结构及工具
-
发表于:
2011-8-17 17:43
6548
-
最近对 N0D的病毒库做了个简单分析,具体如下:
E*ET em* 文件结构:
| hash | 0d0a0d0a | generic info | file info(version, file name & load offset) | block entry table | blocks|
|<-------0x11C bytes----->|<------------0x108 bytes--------- ----------->|
子结构:
Block entry table 的结构:
每个table项大小为36B, table项的结构如下:
block_name: 4 bytes, CODE, DATA etc.
block_offset: 4 bytes, relative to 0d0a0d0a
unknown: 4 bytes
block size: 4 bytes
unknown: 4 bytes
unknown: 4 bytes
unknown: 4 bytes
is_block_zipped: 4 bytes
unknown: 4 bytes
Block:
如果entry table中is_block_zipped被置为1则表示对应的Block是一个deflate压缩块
升级包中关键文件的说明:
em000_32.dat: loader,由CODE和RELO两个段组成,其中CODE部分为函数数据,会存储到堆上,可以用IDA反汇编查看,入口函数的文件偏移位置记录在0x108大小的那个块上;
em002_32.dat: scanner,由CODE,DATA和RELO三个段组成,包含signature信息。
更多细节可以参考附件内的源代码
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)