五 JDPACK的修改
这个是修改最复杂的一个。几乎面目全非了。但是能够保证运行的。修改前,如下
004CC000 复> 60 pushad
004CC001 E8 00000000 call 复件_(8).004CC006
004CC006 5D pop ebp
004CC007 8BD5 mov edx,ebp
004CC009 81ED C62B4000 sub ebp,复件_(8).00402BC6
004CC00F 2B95 61344000 sub edx,dword ptr ss:[ebp+403461]
004CC015 81EA 06000000 sub edx,6
004CC01B 8995 65344000 mov dword ptr ss:[ebp+403465],edx
004CC021 83BD 69344000 00 cmp dword ptr ss:[ebp+403469],0
修改后的
004CC000 复> 90 nop
004CC001 E8 00000000 call 复件_(8).004CC006
004CC006 5D pop ebp
004CC007 8BC5 mov eax,ebp
004CC009 8BD0 mov edx,eax
004CC00B 81ED C62B4000 sub ebp,复件_(8).00402BC6
004CC011 2B95 61344000 sub edx,dword ptr ss:[ebp+403461]
004CC017 83C2 FA add edx,-6
004CC01A 8995 65344000 mov dword ptr ss:[ebp+403465],edx
004CC020 90 nop
004CC021 83BD 69344000 00 cmp dword ptr ss:[ebp+403469],0
这个真的是让我改的面目全非了 ,不过你可以把004CC021前面的都NOP掉,然后一行一行汇编上去就可以了。
六、UPX的修改
UPX可以说是免费的最经典的压缩壳。我门来修改一下,OD载入。修改前,如下
004CE240 复> 60 pushad
004CE241 BE 00504700 mov esi,复件_(2).00475000
004CE246 8DBE 00C0F8FF lea edi,dword ptr ds:[esi+FFF8C000]
004CE24C C787 0CA70800 A5>mov dword ptr ds:[edi+8A70C],59AD25>
004CE256 57 push edi
004CE257 83CD FF or ebp,FFFFFFFF
004CE25A EB 0E jmp short 复件_(2).004CE26A
004CE25C 90 nop
004CE25D 90 nop
004CE25E 90 nop
004CE25F 90 nop
004CE260 8A06 mov al,byte ptr ds:[esi]
修改后如下
004CE240 复> 60 pushad
004CE241 BE 00504700 mov esi,复件_(2).00475000
004CE246 8DBE 00C0F8FF lea edi,dword ptr ds:[esi+FFF8C000]
004CE24C C787 0CA70800 A5>mov dword ptr ds:[edi+8A70C],59AD25>
004CE256 57 push edi
004CE257 83CD FF or ebp,FFFFFFFF
004CE25A 77 0E ja short 复件_(2).004CE26A
004CE25C 73 0C jnb short 复件_(2).004CE26A
004CE25E 72 0A jb short 复件_(2).004CE26A
004CE260 8A06 mov al,byte ptr ds:[esi]
卡巴扫描,不再报毒。