2013-05-09 110 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對該範圍內的每個字節進行異或並重新拆解它。

相關問題