===========================================================================
S开头
===========================================================================
sbb 改adc
sub 改mov
SHL 改 SAL
SAR 改 SHR
sub ebp,7---------- add ebp,-7
sub ebx,eax----------sbb esi,ecx
SBB ECX,DWORD PTR DS:[ESI+2]----------ADC ECX,DWORD PTR DS:[ESI+2]
PUSH EAX 改 PUSH EBX
SUB ESP,EAX 改 SUB ESP,EAX
PUSH EBX 改 PUSH EDI
PUSH ESI 改 PUSH EAX
PUSH EDI 改 PUSH ESI
sub ebx,eax----------sbb esi,ecx
===========================================================================
T开头
===========================================================================
TEST ESI,ESI-------改------- AND ESI,ESI
===========================================================================
X开头
===========================================================================
xor 改sub
XOR [EAX],AL-------改--------MOV [EAX],AL
XOR EAX,EAX-----改-------OR EAX,EAX
===========================================================================
其他
--------------------------------------------------
修改jd改为JG还可以看下JB一般都是2个字节,2进制看下
ascll吗,基本上还可以修改大小的,还有的是看下跳转
jb-------------jg
-----------------------------------------------
CALL ---------看到了CALL跟随进去看NOP就可以把CALL的地址该成NOP
方法2--看下附近有没有MOV修该成NOP看下可以免杀不。可以的话该XOR
方法3--看附近jnz跳转该下跳转的地址/可免杀不/
JNZ 00874E85---PUSH DWORD PTR DS:[88F658]
PUSH下面MOV ECX,88C0AC就可以JNZ该到MOV连接
------------------------------------------------------------
-----------------------------------------------------------
005E 01 ADD BYTE PTR DS:[ESI+1],BL 修改方法
006E 01 ADD BYTE PTR DS:[ESI+1],CH 这样的成功机会不大看运气
------------------------------------------------------------
修改这样的命令要看下 1071C的地址,有没有,可以修改的
本身怎个命令是不可以修改的
JMP DWORD PTR DS:[1071C]----DS:[1071b]
还可以看下上下有没有空的代码来换下位置
------------------------------------------------------------
看下面的命令 观察上下的指令来修改|
CALL EAX |CALL EBX
MOV DWORD PTR SS:[EBP-1C],EAX |MOV DWORD PTR SS:[EBP-1C],EBX
---------------------------------------------------------------
比效指令 CMP:看下是个比效指令 在看下JNZ条件转移指令
就是说CMP比效正确就跳那我们可以把CMP用NOP掉在把JNZ该成JMP
不进行CMP比效
CMP ESI,1
JNZ SHORT VVV.1000D793
---------------------------------------------------------------
看下MOV数据传送指令 很明白就是将ESI给ESP+14
那看下JE跳下去的指令XOR AL,AL没有用可以NOP掉
MOV [ESP+14],ESI
JE 1000A74B 跳转去下个指令XOR AL,AL
修改成
MOV ESP,ESI
ADD ESP,14
----------------------------------------------------------------
LEA有效地址传送指令,遇到这样的指令不要该他可能会不能运行
LEA ECX,[ESP+10]
修改思路可以看下,上面的指令,如下
MOV EAX,DWORD PTR DS:[EBX]
CMP EAX,-1
JE 100017E9 到达的就是LEA ECX,[ESP+10]
上面可以看出是一系列的比对指令,最后LEA地址传
可以把MOV CMP JE 三个比对NOP掉在把LEA写到MOV CMP JE地址上,在用
JMP跳到下个指令运行
----------------------------------------------------------------
修改大小写在汇编里的变化
------------------------------------------------------------
INS BYTE PTR ES:[EDI],DX 小<l>------------------DEC ESP大<L>
PREFIX ADDRSIZE: 小<g> ----------------INC EDI 大<G>
=================================================================
XCHG EAX,ESP -----------PUSHFD
数据交换指令 XCHG 标志传送指令 PUSHF
|