| 研究了一会EXE里和自动使用豆相关的代码
 发现有2段比较类似
 
 分别是
 
 00405BB4     . /0F86 8F000000   JBE Ekd5.00405C49
 00405BBA     . 6A 3E           PUSH 3E
 00405BBC     . 8B55 F4         MOV EDX,DWORD PTR SS:[EBP-C]
 00405BBF     . 33C0            XOR EAX,EAX
 00405BC1     . 8A42 01         MOV AL,BYTE PTR DS:[EDX+1]
 00405BC4     . 8BC8            MOV ECX,EAX
 00405BC6     . 6BC9 24         IMUL ECX,ECX,24
 00405BC9     . 81C1 502C4B00   ADD ECX,Ekd5.004B2C50
 00405BCF     . E8 9C9A0500     CALL Ekd5.0045F670
 00405BD4     . 8BC8            MOV ECX,EAX                             ;
 00405BD6     . 6BC9 48         IMUL ECX,ECX,48                         ;
 00405BD9     . 81C1 681B4A00   ADD ECX,Ekd5.004A1B68                   ;
 00405BDF     . E8 251E0000     CALL Ekd5.00407A09                      ; \Ekd5.00407A09
 00405BE4     . 85C0            TEST EAX,EAX
 00405BE6     . 74 61           JE SHORT Ekd5.00405C49
 00405BE8     . 8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C]
 00405BEB     . 33D2            XOR EDX,EDX
 00405BED     . 8A51 01         MOV DL,BYTE PTR DS:[ECX+1]
 00405BF0     . 8BCA            MOV ECX,EDX
 00405BF2     . 6BC9 24         IMUL ECX,ECX,24
 00405BF5     . 81C1 502C4B00   ADD ECX,Ekd5.004B2C50
 00405BFB     . E8 54A30300     CALL Ekd5.0043FF54
 00405C00     . 85C0            TEST EAX,EAX
 00405C02     . 74 2E           JE SHORT Ekd5.00405C32
 00405C04     . 6A 57           PUSH 57                                 ; /Arg1 = 00000057
 00405C06     . B9 70074B00     MOV ECX,Ekd5.004B0770                   ;
 00405C0B     . E8 2E7F0000     CALL Ekd5.0040DB3E                      ; \Ekd5.0040DB3E
 00405C10     . 25 FF000000     AND EAX,0FF
 00405C15     . 85C0            TEST EAX,EAX
 00405C17     . 7E 17           JLE SHORT Ekd5.00405C30
 00405C19     . 6A 00           PUSH 0                                  ; /Arg4 = 00000000
 00405C1B     . 6A 00           PUSH 0                                  ; Arg3 = 00000000
 00405C1D     . 8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]            ;
 00405C20     . 8A48 01         MOV CL,BYTE PTR DS:[EAX+1]              ;
 00405C23     . 51              PUSH ECX                                ; Arg2
 00405C24     . 6A 57           PUSH 57                                 ; Arg1 = 00000057
 00405C26     . B9 50774900     MOV ECX,Ekd5.00497750                   ;
 00405C2B     . E8 13800100     CALL Ekd5.0041DC43                      ; \Ekd5.0041DC43
 00405C30     > EB 17           JMP SHORT Ekd5.00405C49
 00405C32     > 6A 01           PUSH 1                                  ; /Arg4 = 00000001
 00405C34     . 6A 00           PUSH 0                                  ; Arg3 = 00000000
 00405C36     . 8B55 F4         MOV EDX,DWORD PTR SS:[EBP-C]            ;
 00405C39     . 8A42 01         MOV AL,BYTE PTR DS:[EDX+1]              ;
 00405C3C     . 50              PUSH EAX                                ; Arg2
 00405C3D     . 6A 57           PUSH 57                                 ; Arg1 = 00000057
 00405C3F     . B9 50774900     MOV ECX,Ekd5.00497750                   ;
 00405C44     .  E8 FA7F0100    CALL Ekd5.0041DC43                      ; \Ekd5.0041DC43
 
 和下面的
 
 00422C85     . /0F86 B3000000   JBE Ekd5.00422D3E
 00422C8B     .  6A 3E           PUSH 3E
 00422C8D     .  8B4D D4         MOV ECX,DWORD PTR SS:[EBP-2C]
 00422C90     .  33D2            XOR EDX,EDX
 00422C92     .  8A51 0C         MOV DL,BYTE PTR DS:[ECX+C]
 00422C95     .  8BCA            MOV ECX,EDX
 00422C97     .  6BC9 24         IMUL ECX,ECX,24
 00422C9A     .  81C1 502C4B00   ADD ECX,Ekd5.004B2C50
 00422CA0     .  E8 CBC90300     CALL Ekd5.0045F670
 00422CA5     .  8BC8            MOV ECX,EAX                     ;
 00422CA7     .  6BC9 48         IMUL ECX,ECX,48                 ;
 00422CAA     .  81C1 681B4A00   ADD ECX,Ekd5.004A1B68           ;
 00422CB0     .  E8 544DFEFF     CALL Ekd5.00407A09              ; \Ekd5.00407A09
 00422CB5     .  85C0            TEST EAX,EAX
 00422CB7     .  0F84 81000000   JE Ekd5.00422D3E
 00422CBD     .  8B45 D4         MOV EAX,DWORD PTR SS:[EBP-2C]
 00422CC0     .  33C9            XOR ECX,ECX
 00422CC2     .  8A48 0C         MOV CL,BYTE PTR DS:[EAX+C]
 00422CC5     .  6BC9 24         IMUL ECX,ECX,24
 00422CC8     .  81C1 502C4B00   ADD ECX,Ekd5.004B2C50
 00422CCE     .  E8 81D20100     CALL Ekd5.0043FF54
 00422CD3     .  85C0            TEST EAX,EAX
 00422CD5     .  74 50           JE SHORT Ekd5.00422D27
 00422CD7     .  837D F0 00      CMP DWORD PTR SS:[EBP-10],0
 00422CDB     .  7E 48           JLE SHORT Ekd5.00422D25
 00422CDD     .  8B55 D4         MOV EDX,DWORD PTR SS:[EBP-2C]
 00422CE0     .  33C0            XOR EAX,EAX
 00422CE2     .  8A42 0C         MOV AL,BYTE PTR DS:[EDX+C]
 00422CE5     .  8BC8            MOV ECX,EAX
 00422CE7     .  6BC9 24         IMUL ECX,ECX,24
 00422CEA     .  81C1 502C4B00   ADD ECX,Ekd5.004B2C50
 00422CF0     .  E8 9BFF0400     CALL Ekd5.00472C90
 00422CF5     .  85C0            TEST EAX,EAX
 00422CF7     .  76 2C           JBE SHORT Ekd5.00422D25
 00422CF9     .  6A 57           PUSH 57                         ; /Arg1 = 00000057
 00422CFB     .  B9 70074B00     MOV ECX,Ekd5.004B0770           ;
 00422D00     .  E8 39AEFEFF     CALL Ekd5.0040DB3E              ; \Ekd5.0040DB3E
 00422D05     .  25 FF000000     AND EAX,0FF
 00422D0A     .  85C0            TEST EAX,EAX
 00422D0C     .  7E 17           JLE SHORT Ekd5.00422D25
 00422D0E     .  6A 00           PUSH 0                          ; /Arg4 = 00000000
 00422D10     .  6A 00           PUSH 0                          ; Arg3 = 00000000
 00422D12     .  8B4D D4         MOV ECX,DWORD PTR SS:[EBP-2C]   ;
 00422D15     .  8A51 0C         MOV DL,BYTE PTR DS:[ECX+C]      ;
 00422D18     .  52              PUSH EDX                        ; Arg2
 00422D19     .  6A 57           PUSH 57                         ; Arg1 = 00000057
 00422D1B     .  B9 50774900     MOV ECX,Ekd5.00497750           ;
 00422D20     .  E8 1EAFFFFF     CALL Ekd5.0041DC43              ; \Ekd5.0041DC43
 00422D25     >  EB 17           JMP SHORT Ekd5.00422D3E
 00422D27     >  6A 01           PUSH 1                          ; /Arg4 = 00000001
 00422D29     .  6A 00           PUSH 0                          ; Arg3 = 00000000
 00422D2B     .  8B45 D4         MOV EAX,DWORD PTR SS:[EBP-2C]   ;
 00422D2E     .  8A48 0C         MOV CL,BYTE PTR DS:[EAX+C]      ;
 00422D31     .  51              PUSH ECX                        ; Arg2
 00422D32     .  6A 57           PUSH 57                         ; Arg1 = 00000057
 00422D34     .  B9 50774900     MOV ECX,Ekd5.00497750           ;
 00422D39     .  E8 05AFFFFF     CALL Ekd5.0041DC43              ; \Ekd5.0041DC43
 00422D3E     >  EB 22           JMP SHORT Ekd5.00422D62
 00422D40     >  8B55 EC         MOV EDX,DWORD PTR SS:[EBP-14]
 00422D43     .  81E2 FF000000   AND EDX,0FF
 00422D49     .  81FA FF000000   CMP EDX,0FF
 00422D4F     .  74 11           JE SHORT Ekd5.00422D62
 
 我对比了一下两段程序 发现有很多相同但是又有细微不同的地方
 都有3E这个特殊效果代码 也有57这个我猜是代表豆编号的代码
 还有代表数量的1?
 但对汇编不是很懂 所以不了解这2段该改哪一段 或者都改?
 希望有过经验的人可以指点一下我 感谢了
 还有下面这段在程序里出现了很多次 每次都大同小异 可能也有一些作用?
 
 00412367     > \6A 3E           PUSH 3E                          ; /Arg1 = 0000003E
 00412369     .  8B4D 08         MOV ECX,DWORD PTR SS:[EBP+8]     ;
 0041236C     .  E8 86600000     CALL Ekd5.004183F7               ; \Ekd5.004183F7
 00412371     .  66:8945 EC      MOV WORD PTR SS:[EBP-14],AX
 00412375     .  8B55 EC         MOV EDX,DWORD PTR SS:[EBP-14]
 00412378     .  81E2 FFFF0000   AND EDX,0FFFF
 0041237E     .  81FA 00800000   CMP EDX,8000
 00412384     .  75 0A           JNZ SHORT Ekd5.00412390
 00412386     .  B8 05000000     MOV EAX,5
 0041238B     .  E9 31020000     JMP Ekd5.004125C1
 
 [ 本帖最后由 ducksuper 于 2006-5-30 20:04 编辑 ]
 |