等价替换汇编指令

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值