每天拿出一分钟来学习,你的生命会更加精彩。

汇编对照表

发布:洪雨2020-9-24 20:10分类: 编程相关 标签: 编程

前面后面 MOV互换

TEST改AND

AND改TEST

ADD改ADC

ADC改ADD

OR改XOR

XOR改OR
大小翻转

文件头 JE JNZ 往上面移 或往下面移


SAR 往上面改


PUSH往上面改

OR改XOR

免杀等价替换汇编指令修改
============================================================================
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] 






===========================================================================
O开头
===========================================================================



OR改XOR


===========================================================================
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 



MOV-CMP(有时候可以替换)
MOV EAX,7-SUB EAX,7
ADD-ADC(有时候可以替换)
SUB-SBB(有时候可以替换)
TEST-AND
XOR-OR
OR-XOR
LEA-SUB
CMP-SUB

xor eax,eax
xor eax,eax
改成
xor eax,eax
or eax,eax

有时候可以批量替换
在C32里面搜索33 c0 33 c0
替换成33 c0 09 c0
全部替换有时候都不会出问题.而且免杀效果也还可以.

Test eax,eax
JE XXXXXXXXX
改成
AND EAX,EAX
JE XXXXXXXXX

有时候也可以批量替换
把85 C0 74替换成 21 C0 74









===========================================================================
其他
-------------------------------------------------- 
修改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 
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/1696 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~