Winapi Can';我似乎不明白这是怎么回事
我正在尝试确定此质询代码中的密码,但不知道它是如何工作的。有没有人对如何着手弄清楚它的作用有一些建议Winapi Can';我似乎不明白这是怎么回事,winapi,assembly,x86,Winapi,Assembly,X86,我正在尝试确定此质询代码中的密码,但不知道它是如何工作的。有没有人对如何着手弄清楚它的作用有一些建议 .text:00401000 public start .text:00401000 start: .text:00401000 mov esi, offset loc_401013 .text:00401005 .text:00401005 loc_401005: ;
.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)
代码只是用0xCD将每个字节从
loc_401013:
异或到byte_40105F
,然后跳到代码的开头,这使得反汇编变得毫无意义。要查看代码在做什么,您需要使用0xCD对该范围内的每个字节进行异或运算,然后重新进行反汇编。代码只需使用0xCD对loc_401013:
中的每个字节进行异或运算,然后跳到该代码的开头,这使得反汇编变得毫无意义。要查看代码在做什么,您需要使用0xCD对该范围内的每个字节进行异或运算,然后重新对其进行反汇编。这个问题(尤其是其模糊的标题)对该站点的未来访问者不太可能有用。你试过调试它吗?这个问题(特别是它模糊的标题)对网站的未来访问者不太可能有用。你试过调试它吗?