View Single Post
  #11  
Old 03-06-2009, 20:39
Jupiter's Avatar
Jupiter Jupiter is offline
Lo*eXeTools*rd
 
Join Date: Jan 2005
Location: Moscow, Russia
Posts: 216
Rept. Given: 36
Rept. Rcvd 61 Times in 36 Posts
Thanks Given: 20
Thanks Rcvd at 153 Times in 44 Posts
Jupiter Reputation: 61
ida32.wll + ida64.wll

ida64.wll

Code:
.text:1010E8FC ; int __fastcall sub_1010E8FC(void *src)
.text:1010E8FC sub_1010E8FC    proc near               ; CODE XREF: sub_1010EB24+C6
.text:1010E8FC
.text:1010E8FC var_6C          = dword ptr -6Ch
.text:1010E8FC s1              = byte ptr -14h
.text:1010E8FC
.text:1010E8FC                 push    ebx
.text:1010E8FD                 add     esp, 0FFFFFF98h
.text:1010E900                 mov     ebx, eax
.text:1010E902                 push    esp
.text:1010E903                 call    MD5Init
.text:1010E908                 push    ebx             ; s
.text:1010E909                 call    _strlen
.text:1010E90E                 pop     ecx
.text:1010E90F                 push    eax             ; n
.text:1010E910                 push    ebx             ; src
.text:1010E911                 lea     eax, [esp+74h+var_6C]
.text:1010E915                 push    eax             ; int
.text:1010E916                 call    MD5Update
.text:1010E91B                 push    esp             ; s
.text:1010E91C                 lea     edx, [esp+70h+s1]
.text:1010E920                 push    edx             ; dest
.text:1010E921                 call    MD5Final
.text:1010E926                 xor     ebx, ebx
.text:1010E928
.text:1010E928 loc_1010E928:                           ; CODE XREF: sub_1010E8FC+53
.text:1010E928                 push    10h             ; n
.text:1010E92A                 mov     eax, ebx
.text:1010E92C                 shl     eax, 4
.text:1010E92F                 add     eax, offset unk_1014CDCC ; <<<
.text:1010E935                 push    eax             ; s2
.text:1010E936                 lea     edx, [esp+74h+s1]
.text:1010E93A                 push    edx             ; s1
.text:1010E93B                 call    _memcmp
.text:1010E940                 add     esp, 0Ch
.text:1010E943                 test    eax, eax
.text:1010E945                 jnz     short loc_1010E94B
.text:1010E947                 mov     al, 1
.text:1010E949                 jmp     short loc_1010E953
.text:1010E94B ; ---------------------------------------------------------------------------
.text:1010E94B
.text:1010E94B loc_1010E94B:                           ; CODE XREF: sub_1010E8FC+49
.text:1010E94B                 inc     ebx
.text:1010E94C                 cmp     ebx, 19h
.text:1010E94F                 jb      short loc_1010E928
.text:1010E951                 xor     eax, eax
.text:1010E953
.text:1010E953 loc_1010E953:                           ; CODE XREF: sub_1010E8FC+4D
.text:1010E953                 add     esp, 68h
.text:1010E956                 pop     ebx
.text:1010E957                 retn
.text:1010E957 sub_1010E8FC    end
you can see comparison after MD5Final call - patch it

in ida32.wll method is similar

credits: infern0
Reply With Quote