2012-12-02 5 views
-1

a. 초기 세대 :이 어셈블리 언어는 무엇입니까?

C7060F000055  mov  dword ptr [esi],5500000Fh 
C746048BEC5151  mov  dword ptr [esi+0004],5151EC8Bh 

b. 그리고 그 후대 중 한 세대 :

BF0F000055   mov  edi,5500000Fh 
893E    mov  [esi],edi 
5F     pop  edi 
52     push edx 
B640    mov  dh,40 
BA8BEC5151   mov  edx,5151EC8Bh 
53     push ebx 
8BDA    mov  ebx,edx 
895E04    mov  [esi+0004],ebx 

c. 그럼에도 불구하고 ("암호화") 재 계산 "일정"데이터를 다른 세대 : 형식 (& T AT 반대) 인텔에서 86 코드의

BB0F000055   mov  ebx,5500000Fh 
891E    mov  [esi],ebx 
5B     pop  ebx 
51     push ecx 
B9CB00C05F   mov  ecx,5FC000CBh 
81C1C0EB91F1  add  ecx,F191EBC0h ; ecx=5151EC8Bh 
894E04    mov  [esi+0004],ecx 
+0

추측 해 보겠습니다. 이것은 다형성 엔진의 일부입니다. – ninjalj

+0

@ninjalj nope. 변성 작용. 어셈블리를 읽는 것만으로도이를 인식 할 수는 있지만 직접 경험해야합니다. – Celeritas

+0

@Celeritas 왜이 질문에 대한 답이 필요합니까? 실용적인 응용 프로그램이 있는지 확실하지 않습니다. (수사학적인 질문입니까, 아니면 어떤 목적이 있습니까?) –

답변

4

. ecx과 같은 레지스터를 사용한다는 사실은 32 비트 또는 그 이상의 종류 중 하나라는 것을 의미합니다.

왼쪽의 16 진수는 나머지 줄의 어셈블리 언어 opcode와 피연산자의 기계어 표현입니다.

+0

나를 이길. 이것은 또한 spooks에 대한 그 직업 광고 중 하나처럼 보입니다 ... – Roger

+0

@Orwell, 따라서 "더 좋은"수정 자 :-) – paxdiablo

+0

왼쪽의 주소가 명령어의 메모리 주소라는 가정이 정확하다면 AMD64 자료 여야합니다. – Orwell

관련 문제