꽃지령 학습

4465 단어
prefix repne: 이 지령은 어떻게 사용합니까?한참을 생각했지만 생각해 내지 못했다.자세한 내용은
내가 프로그램을 역컴파일할 때, 아래 코드를 보았는데, 그 안에 꽃 지령이 있었다. 그러나 F2 prefix repne: 과 F3 prefix repne: 지령은 무슨 소용이 있습니까?어느 분이 가르쳐 주실 수 있겠습니까?
004B2012   /EB 0F              jmp short hbdzsc.004B2023 004B2014   |B9 EB0FB8EB        mov ecx,EBB80FEB 004B2019   |07                 pop es 004B201A   |B9 EB0F90EB        mov ecx,EB900FEB 004B201F   |08FD               or ch,bh 004B2021   |EB 0B              jmp short hbdzsc.004B202E 004B2023   \F2:                prefix repne: 004B2024  ^ EB F5              jmp short hbdzsc.004B201B 004B2026  ^ EB F6              jmp short hbdzsc.004B201E 004B2028    F2:                prefix repne: 004B2029    EB 08              jmp short hbdzsc.004B2033 004B202B    FD                 std 004B202C  ^ EB E9              jmp short hbdzsc.004B2017 004B202E    F3:                prefix rep: 004B202F  ^ EB E4              jmp short hbdzsc.004B2015 004B2031    FC                 cld 004B2032  - E9 9D0FC98B        jmp 8C142FD4 004B2037    CA F7D1            retf 0D1F7

이 F2 접두사는 ZF=0 또는 비교 결과가 같지 않고 CX/ECX<>0이 중복될 때 아래의 jmp****를 더하면 jnz**(ecx의 상황을 고려하지 않음)에 해당한다. 같은 이치로prefixrep 뒤에 jmp***를 더하면 jz****(같은 경우ecx의 상황을 고려하지 않음)에 해당한다. 이것이 바로 케이스나 바이러스에서 자주 사용하는 지령의 변형 변형이다.
prefix repne에도 다음과 같은 꽃 명령이 있습니다.
004B5186    2BF9            sub     edi, ecx 004B5188    F2:             prefix repne: 004B5189    EB 01           jmp     short 004B518C 004B518B    F0:8D7C1F EE    lock lea edi, dword ptr [edi+ebx-12]     ;         004B5190    2BFB            sub     edi, ebx 004B5192    E9 3C080000     jmp     004B59D3 004B5197    B8 3A954600     mov     eax, 0046953A  
여기서 004B518C로 건너뜁니다. 이 주소는 004B518B 주소의 지령에서 뒤따라 발견됩니다.
004B518C    8D7C1F EE       lea     edi, dword ptr [edi+ebx-12] 004B5190    2BFB            sub     edi, ebx 004B5192    E9 3C080000     jmp     004B59D3 004B5197    B8 3A954600     mov     eax, 0046953A  
그러므로 prefix repne 주소에 004B5188을 4개의 NOP를 채워줍니다. 이 채워진 개수는 EB 뒤의 개수와 관련이 있습니다.
꽃 지령 상황 충전 후 아래와 같다
004B5186    2BF9            sub     edi, ecx 004B5188    90              nop 004B5189    90              nop 004B518A    90              nop 004B518B    90              nop 004B518C    8D7C1F EE       lea     edi, dword ptr [edi+ebx-12] 004B5190    2BFB            sub     edi, ebx 004B5192    E9 3C080000     jmp     004B59D3 004B5197    B8 3A954600     mov     eax, 0046953A  

EB 유형의 꽃 명령
004B51EA    BE 9AF14400                  mov     esi, 0044F19A 004B51EF    3E:EB 02                     jmp     short 004B51F4 004B51F2    CD20 551BF55E                vxdcall 5EF51B55 004B51F8    C1CE CB                      ror     esi, 0CB 004B51FB    46                           inc     esi  
이 EB는 바로 JMP입니다. 주소 지령에 따라 들어가면 발견됩니다.
004B51F4    55                           push    ebp 004B51F5    1BF5                         sbb     esi, ebp 004B51F7    5E                           pop     esi 004B51F8    C1CE CB                      ror     esi, 0CB 004B51FB    46                           inc     esi  
004B51EF NOP 5개 채우기 완료
004B51EA    BE 9AF14400                  mov     esi, 0044F19A 004B51EF    90                           nop 004B51F0    90                           nop 004B51F1    90                           nop 004B51F2    90                           nop 004B51F3    90                           nop 004B51F4    55                           push    ebp 004B51F5    1BF5                         sbb     esi, ebp 004B51F7    5E                           pop     esi 004B51F8    C1CE CB                      ror     esi, 0CB 004B51FB    46                           inc     esi  
여기서 주의해야 할 것은 EB가
파라미터가 있는 것과 파라미터가 없는 두 가지 방법은 모두 같다. 이상은 파라미터가 있는 파라미터가 없는 것은 다음과 같다
004B52FD   /2E:EB 01                     jmp     short 004B5301 004B5300   |F0:8D740D D3                 lock lea esi, dword ptr [ebp+ecx-2D]     ;         004B5305    2BF1                         sub     esi, ecx  
NOP 4개 이후
004B52FD    90                           nop 004B52FE    90                           nop 004B52FF    90                           nop 004B5300    90                           nop 004B5301    8D740D D3                    lea     esi, dword ptr [ebp+ecx-2D] 004B5305    2BF1                         sub     esi, ecx  

좋은 웹페이지 즐겨찾기