2013-05-09 111 views
0

我试图确定在这个挑战码的密码,但无法弄清楚它是如何工作的。有没有人有关于如何去搞清楚它的作用的一些提示?似乎无法弄清楚这是如何工作

.text:00401000     public start 
.text:00401000 start: 
.text:00401000     mov  esi, offset loc_401013 
.text:00401005 
.text:00401005 loc_401005:        ; CODE XREF: .text:00401011j 
.text:00401005     cmp  esi, offset byte_40105F 
.text:0040100B     jz  short loc_401013 
.text:0040100D     xor  byte ptr [esi], 0CDh 
.text:00401010     inc  esi 
.text:00401011     jmp  short loc_401005 
.text:00401013 ; --------------------------------------------------------------------------- 
.text:00401013 
.text:00401013 loc_401013:        ; CODE XREF: .text:0040100Bj 
.text:00401013           ; DATA XREF: .text:starto 
.text:00401013     xor  bl, al 
.text:00401015     test eax, 44CD8DFDh 
.text:0040101A     or  eax, edx 
.text:0040101C     jnp  short near ptr 400FE1h 
.text:0040101E     db  2Eh 
.text:0040101E     into 
.text:00401020     mov  esp, [esi] 
.text:00401022     xor  eax, 9936B34Ch 
.text:00401027     mov  edi, 0DBB8A8B8h 
.text:0040102C     cmpsd 
.text:0040102D     int  0A5h   ; used by BASIC while in interpreter 
.text:0040102F     sub  ebp, 0CDA5CD8Dh 
.text:00401035     in  eax, dx 
.text:00401035 ; --------------------------------------------------------------------------- 
.text:00401036     dw 0CD8Dh 
.text:00401038     dd 0D832CDA7h, 0CD8DFD55h, 0CDA7D926h, 8DED81A5h, 0EDEDA5CDh 
.text:00401038     dd 0CDA7CD8Dh, 0FD55D832h, 0CDA7CD8Dh, 0FDA5D832h 
.text:0040105C     db 8Dh, 0CDh, 0Eh 
.text:0040105F byte_40105F  db 0EEh     ; DATA XREF: .text:loc_401005o 
.text:00401060     dd 90EEEEEEh, 90h, 66h dup(0) 
+0

这个问题(尤其是模糊的标题)对于未来访问者来说不太可能有用。你尝试过调试吗? – 2013-05-09 13:02:10

回答

3

的代码只是从异或到loc_401013:byte_40105F每个0XCD字节,然后跳转到该代码,这使得您的拆卸毫无意义的开始。要查看代码在做什么,您需要用0xCD对该范围内的每个字节进行异或并重新拆解它。

相关问题