替换汇编指令大集合
A开头
============================================================================
add 改adc
ADD 改ADC
ADD 1 改 sub -1
add dword ptr ss:[ebp-130],edx ---------adc dword ptr ss:[ebp-130],edx
ADD [EAX],CH----------------------------ADD [EAX],DH
ADD [EAX],BH 0038 ----------------------ADD [EAX+40],AL 0040 40
ADD [EAX+EAX*2+46],AL ------------------ADD [EAX+EAX*2+46],CL
ADD [EAX+40],DL 0050 40 ----------------0058 40 ADD [EAX+40],DL
ADD AH,CH 00EC -------------------------00F4 ADD AH,DH
add dword ptr ss:[ebp-130],edx -------- adc dword ptr ss:[ebp-130],edx
C开头
============================================================================
CMP 改SUB
call 复件_(4).004CF607 ----------------- push 复件_(4).004CF607
CMP DWORD PTR DS:[100170A4],0 -------------sub DWORD PTR DS:[100170A4],0
CALL ---------看到了CALL跟随进去看NOP就可以把CALL的地址该成NOP
方法2--看下附近有没有MOV修该成NOP看下可以免杀不。可以的话该XOR
方法3--看附近jnz跳转该下跳转的地址/可免杀不/
CALL EAX |CALL EBX
比效指令 CMP:看下是个比效指令 在看下JNZ条件转移指令
就是说CMP比效正确就跳那我们可以把CMP用NOP掉在把JNZ该成JMP
不进行CMP比效
CMP ESI,1
JNZ SHORT VVV.1000D793
============================================================================
D开头
============================================================================
DAA 组合的十进制加法调整指令 --------DAS 减法的十进制调整.
===========================================================================
J开头
===========================================================================
JE 改 JNB
JNZ 改 JNL
jnz 改 JB
JE 改 JNA
je 改 jb
jnz 改 jg
js 改 jp
je 改 jle
jnz 改 jle
je 改 jge
JE 改 jnz
JE 改 JB
JNS 改 POP ECX
JNS 改 jnc-jnb
JNB 改 JGE
jnb short fsg2_0.0040015D----------------ja short fsg2_0.0040015D
JMP NEAR [1071c]---------------------JMP NEAR [1071B]
jnz--je-jmp修改中要看下跳的地址是不是很重要说明[1]
JNZ 00874E85--MOV EAX,88B6D0 可以是该成JE 00874E85--MOV EAX,88B6D0
===========================================================================
L开头
===========================================================================
LEA EBP,[ESP+10] 改 LEA EBP,[ESP+10]
==========================================================================
M开头
===========================================================================
MOVSX 改 MOVZX
MOV EBP,ESP 改 AND AH,CH
MOV [EBP-18],ESP 改 MOV [EBP-18],AH
MOV EAX,[ESP+10] 改 MOV EAX,[ESP+10]
MOV [ESP+10],EBP 改 MOV [ESP+10],EBP
mov [ebp-256], eax 改 adc [ebp-226], eax
MOV EDI,[EBP+10] 改 MOV EDI,[EBP+11]
MOV EBX,DWORD PTR DS:[ESI] 改 XOR EBX,DWORD PTR DS:[ESI]
MOV EBP,ESP--------AND AH,CH
MOV EBX,DWORD PTR DS:[ESI]---------XOR EBX,DWORD PTR DS:[ESI]
==========================================================================
===========================================================================
P开头
===========================================================================
push 改call
PUSH EBX PUSH EDI
PUSH ESI PUSH EAX
PUSH EDI PUSH ESI
PUSH EAX PUSH EBX
===========================================================================
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