2026年10月31日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[疑难解答]

自己制作简单病毒程序

[复制链接]
查看 156 回复 7
楼主 发表于 | 只看该作者

mov eax,DWORD ptr add eax,Start-Virus_Start上面两行代码是将病毒的代码入口点计算出来后头有用,计算方法简单,是我病毒开始执行地方的标号Start减去病毒开始的地方标号Virus_Start,你可能会有点不理解,这是因为病毒开始的地方不是我病毒开始执行代码的地方,我病毒开始执行代码的地方前面有一大段的数据,这些数据也是包含在代码段里的。 就是说我的病毒只有一个节.text。 (代码节叫。Text)-push DWORDptr pop DWORD ptr 保存目标文件原来的代码入口点,这是个偏移而已,如果真的要跳回原来的代码入口点还不能只执行AddressOfEntryPointer(原来代码入口点的指针),还要加个ImageBase成员再跳,否则就等于使你的病毒*。 为啥?因为AddressOfEntryPointer是个偏移,数字较小,一跳就很有可能会跳到2GB以上的系统进程空间去了,你看微软饶的了你不。 除非你使用SHE。push eaxpop DWORD ptr:现在将上一步的上一步计算出来的病毒的代码入口点地址加上了本节的偏移地址Virtual Address成员的值,填进去。 为啥要连加两个偏移呢? 因为你脑壳不会拐弯:(;计算新的sizeofimagemov eax,Virus_End-Virus_Startadd eax,DWORD ptr mov ecx,DWORD ptr invoke Align1mov DWORD ptr ,eax这个SizeOfImage成员搞不好很要命的哟! Windows2000下这个值稍微有点没对齐好就拜拜。 很多人曾经在这个地方吃过亏,FT。这个值的意思是整个可执行体映*后在内存中的大小。 将你新增的大小加上原来SIzeOfImage经过节对齐就好了。 如果你哪天感染了的文件无法运行,先看看这有问题没有。 inc WORDptr 刚刚增加了一个节,现在将NumberOfSection的值加一,仅共参考!

登录回复
8229
Lv8能识八方语等级图标等级图标等级图标等级图标
勋章勋章勋章
帖子
6
回复
1,420
积分
762
注册
2011-02-02
1 楼
图片
1008
Lv8能识八方语等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+1
帖子
330
回复
1,375
积分
1.2万
注册
2010-09-30
2 楼

顶一票,支持!

55917
Lv2独赏二月雪等级图标
勋章
帖子
7
回复
390
积分
6,092
注册
2011-06-27
4 楼

支持!

50805
Lv10拔剑十里寒等级图标等级图标等级图标等级图标等级图标
勋章勋章勋章勋章
帖子
10
回复
426
积分
1.2万
注册
2011-06-11
5 楼

牛B,看的我一点都不懂,楼主不如制作一个来耍耍咯!

30088
Lv8能识八方语等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+8
帖子
668
回复
4,644
积分
1000.4万
注册
2011-04-14
6 楼

汗…用源码转换编制器也可以啊,Sb

26063
Lv2独赏二月雪等级图标等级图标等级图标等级图标等级图标
帖子
169
回复
708
积分
1万
注册
2011-04-03
7 楼

楼主我不会,六楼你骂谁呢,小心找你麻烦

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块