各位老師請指教。movsx,cdq是什麼意思。另外這段程式的密碼演算法。謝謝 (2千字)

看雪資料發表於2000-05-28

:bpx hmemcpy
Break due to BPX KERNEL!HMEMCPY  (ET=517.75 milliseconds)
:bc *
:u cs:eip l 200
0167:0043B5C0  55                  PUSH      EBP
0167:0043B5C1  8BEC                MOV      EBP,ESP
0167:0043B5C3  56                  PUSH      ESI
0167:0043B5C4  8B7508              MOV      ESI,[EBP+08]----輸入密碼
0167:0043B5C7  57                  PUSH      EDI
0167:0043B5C8  BF3412C72F          MOV      EDI,2FC71234
0167:0043B5CD  85F6                TEST      ESI,ESI
0167:0043B5CF  743A                JZ        0043B60B
0167:0043B5D1  8A06                MOV      AL,[ESI]
0167:0043B5D3  84C0                TEST      AL,AL
0167:0043B5D5  7434                JZ        0043B60B
0167:0043B5D7  53                  PUSH      EBX
0167:0043B5D8  BBF8110000          MOV      EBX,000011F8
0167:0043B5DD  0FBEC0              MOVSX    EAX,AL
0167:0043B5E0  50                  PUSH      EAX
0167:0043B5E1  E83F550600          CALL      004A0B25
0167:0043B5E6  8BC8                MOV      ECX,EAX
0167:0043B5E8  8BC3                MOV      EAX,EBX
0167:0043B5EA  99                  CDQ
0167:0043B5EB  F7F9                IDIV      ECX
0167:0043B5ED  83C404              ADD      ESP,04
0167:0043B5F0  81C390010000        ADD      EBX,00000190
0167:0043B5F6  40                  INC      EAX         
0167:0043B5F7  0FAFF8              IMUL      EDI,EAX
0167:0043B5FA  8A4601              MOV      AL,[ESI+01]
0167:0043B5FD  46                  INC      ESI 
0167:0043B5FE  84C0                TEST      AL,AL
0167:0043B600  75DB                JNZ      0043B5DD
0167:0043B602  8BC7                MOV      EAX,EDI
0167:0043B604  5B                  POP      EBX
0167:0043B605  5F                  POP      EDI
0167:0043B606  5E                  POP      ESI
0167:0043B607  5D                  POP      EBP
0167:0043B608  C20400              RET      0004
0167:0043B60B  8BC7                MOV      EAX,EDI
0167:0043B60D  5F                  POP      EDI
0167:0043B60E  5E                  POP      ESI
0167:0043B60F  5D                  POP      EBP
0167:0043B610  C20400              RET      0004

相關文章