欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

北斗4.1壳改壳之二 加花指令

程序员文章站 2022-11-03 19:29:11
  摘自:jgaoabc的空间 接《用等价替换代码法修改北斗4.1壳》,我们继续对其进行免杀,这就是加花指令,我们要加的花指令不是世面上常见的,我们加的花指令具有实际操作功能的,并...

  摘自:jgaoabc的空间

《用等价替换代码法修改北斗4.1壳》,我们继续对其进行免杀,这就是加花指令,我们要加的花指令不是世面上常见的,我们加的花指令具有实际操作功能的,并且模拟加壳软件一些动作的,主要目的是让杀软搞不清楚什么东东。首先寻找空区域,加了北斗壳之后,程序空区域很少,那我们就来改吧,可以修改成空区域的有版本和图标段,这二段都在程序的开头部分,这样修改之后不影响程序运行。就修改版本吧,用C32ASM打开压缩文件,在开始的地方往下一点就是版本的位置,它是一个字符接一个00结构的,选取一段填充00,然后添加如下代码:

0043A1A6 > 60                         pushad           现入口点
0043A1A7    E8 00000000                call Server_0.0043A1AC
0043A1AC    5D                         pop ebp
0043A1AD    83C5 10                    add ebp,10
0043A1B0    3E:8D45 56                 lea eax,dword ptr ds:[ebp+56]
0043A1B4    8B8D 5C030000              mov ecx,dword ptr ss:[ebp+35C]
0043A1BA    36:8B18                    mov ebx,dword ptr ss:[eax]
0043A1BD    53                         push ebx
0043A1BE    51                         push ecx
0043A1BF    6A 01                      push 1
0043A1C1    899D 5C030000              mov dword ptr ss:[ebp+35C],ebx
0043A1C7    8B8D 6C050000              mov ecx,dword ptr ss:[ebp+56C]
0043A1CD    51                         push ecx
0043A1CE    03D8                       add ebx,eax
0043A1D0    3E:895D 56                 mov dword ptr ds:[ebp+56],ebx
0043A1D4    8A5D E9                    mov bl,byte ptr ss:[ebp-17]
0043A1D7    80FB 00                    cmp bl,0
0043A1DA ^ 75 E1                      jnz short Server_0.0043A1BD
0043A1DC    8D4D 40                    lea ecx,dword ptr ss:[ebp+40]
0043A1DF    58                         pop eax
0043A1E0    8985 6C050000              mov dword ptr ss:[ebp+56C],eax
0043A1E6    5B                         pop ebx
0043A1E7    03D8                       add ebx,eax
0043A1E9    59                         pop ecx
0043A1EA    898D 5C030000              mov dword ptr ss:[ebp+35C],ecx
0043A1F0    58                         pop eax
0043A1F1    3E:8945 56                 mov dword ptr ds:[ebp+56],eax
0043A1F5    8A5D E8                    mov bl,byte ptr ss:[ebp-18]
0043A1F8    80FB 00                    cmp bl,0
0043A1FB    61                         popad
0043A1FC    0F84 18080000              je Server_0.0043AA1A 原入口点

直接用二进制粘贴,二进制代码为:

60 E8 00 00 00 00 5D 83 C5 10 3E 8D 45 56 8B 8D 5C 03 00 00 36 8B 18 53 51 6A 01 89 9D 5C 03 00 00 8B 8D 6C 05 00 00 51 03 D8 3E 89 5D 56 8A 5D E9 80 FB 00 75 E1 8D 4D 40 58 89 85 6C 05 00 00 5B 03 D8 59 89 8D 5C 03 00 00 58 3E 89 45 56 8A 5D E8 80 FB 00 61 0F 84 18 08 00 00

注意最后一句要修改成程序的原入口点的,然后再用LOADPE修改程序的入口点为新入口点,这样就OK了。还可以在最后一句后面任意添加一些代码,这些代码是不会执行的,主要为迷惑杀毒软件用的。还可以将跳到入口点的指令放到后面的废代码中间,这样更有迷惑性.

至于花指令是什么意思,你们自己理解,主要是将软件的一些值通过寄存器存储后变化掉,然后再通过寄存器的存储,再重新变回来。(ebp-17)和(ebp-18)是程序入口点的上二位,要确保是00。

北斗4.1壳改壳之二 加花指令

版本段例子:

北斗4.1壳改壳之二 加花指令