SHOW:
|
|
- or go back to the newest paste.
| 1 | Vulnerable function | |
| 2 | 017449B0 /$ 81EC 0C010000 SUB ESP,10C | |
| 3 | 017449B6 |. A1 9400AC01 MOV EAX,DWORD PTR DS:[1AC0094] | |
| 4 | 017449BB |. 33C4 XOR EAX,ESP | |
| 5 | 017449BD |. 898424 080100 MOV DWORD PTR SS:[ESP+108],EAX ; Set stack Cookie | |
| 6 | 017449C4 |. 8B8424 180100 MOV EAX,DWORD PTR SS:[ESP+118] | |
| 7 | 017449CB |. 53 PUSH EBX | |
| 8 | 017449CC |. 8B9C24 140100 MOV EBX,DWORD PTR SS:[ESP+114] | |
| 9 | 017449D3 |. 55 PUSH EBP | |
| 10 | 017449D4 |. 56 PUSH ESI | |
| 11 | 017449D5 |. 8BB424 200100 MOV ESI,DWORD PTR SS:[ESP+120] | |
| 12 | 017449DC |. 57 PUSH EDI | |
| 13 | 017449DD |. 68 38709D01 PUSH OFFSET 019D7038 | |
| 14 | 017449E2 |. 6A 03 PUSH 3 | |
| 15 | 017449E4 |. 894424 18 MOV DWORD PTR SS:[ESP+18],EAX | |
| 16 | 017449E8 |. E8 43F9FEFF CALL 01734330 ; Ignore | |
| 17 | 017449ED |. 8B16 MOV EDX,DWORD PTR DS:[ESI] | |
| 18 | 017449EF |. 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18] | |
| 19 | 017449F2 |. 83C4 08 ADD ESP,8 | |
| 20 | 017449F5 |. 6A 04 PUSH 4 | |
| 21 | 017449F7 |. 8BCE MOV ECX,ESI | |
| 22 | 017449F9 |. FFD0 CALL EAX ; Read 4 bytes from file | |
| 23 | 017449FB |. 8B16 MOV EDX,DWORD PTR DS:[ESI] | |
| 24 | 017449FD |. 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18] | |
| 25 | 01744A00 |. 6A 02 PUSH 2 | |
| 26 | 01744A02 |. 8BCE MOV ECX,ESI | |
| 27 | 01744A04 |. FFD0 CALL EAX ; Read 2 bytes from file | |
| 28 | 01744A06 |. 0FB608 MOVZX ECX,BYTE PTR DS:[EAX] | |
| 29 | 01744A09 |. 66:0FB650 01 MOVZX DX,BYTE PTR DS:[EAX+1] | |
| 30 | 01744A0E |. 8B06 MOV EAX,DWORD PTR DS:[ESI] | |
| 31 | 01744A10 |. 66:C1E1 08 SHL CX,8 | |
| 32 | 01744A14 |. 66:03CA ADD CX,DX | |
| 33 | 01744A17 |. 8B50 18 MOV EDX,DWORD PTR DS:[EAX+18] | |
| 34 | 01744A1A |. 0FB7F9 MOVZX EDI,CX | |
| 35 | 01744A1D |. 6A 02 PUSH 2 | |
| 36 | 01744A1F |. 8BCE MOV ECX,ESI | |
| 37 | 01744A21 |. FFD2 CALL EDX ; Read 2 bytes from file | |
| 38 | 01744A23 |. 66:0FB608 MOVZX CX,BYTE PTR DS:[EAX] | |
| 39 | 01744A27 |. 66:0FB640 01 MOVZX AX,BYTE PTR DS:[EAX+1] | |
| 40 | 01744A2C |. 66:C1E1 08 SHL CX,8 | |
| 41 | 01744A30 |. 66:03C8 ADD CX,AX | |
| 42 | 01744A33 |. 66:83C1 01 ADD CX,1 | |
| 43 | 01744A37 |. 66:890B MOV WORD PTR DS:[EBX],CX ; palette size in CX | |
| 44 | 01744A3A |. 0FB7C9 MOVZX ECX,CX | |
| 45 | 01744A3D |. 51 PUSH ECX | |
| 46 | 01744A3E |. 8D5424 1C LEA EDX,[ESP+1C] | |
| 47 | 01744A42 |. 68 24709D01 PUSH OFFSET 019D7024 | |
| 48 | 01744A47 |. 52 PUSH EDX | |
| 49 | 01744A48 |. FF15 AC409701 CALL DWORD PTR DS:[<&MSVCR80.sprintf>] | |
| 50 | 01744A4E |. 8D4424 24 LEA EAX,[ESP+24] | |
| 51 | 01744A52 |. 50 PUSH EAX | |
| 52 | 01744A53 |. 6A 02 PUSH 2 | |
| 53 | 01744A55 |. E8 D6F8FEFF CALL 01734330 ; Ignore | |
| 54 | 01744A5A |. 68 10709D01 PUSH OFFSET 019D7010 | |
| 55 | 01744A5F |. 6A 03 PUSH 3 | |
| 56 | 01744A61 |. E8 CAF8FEFF CALL 01734330 ; Ignore | |
| 57 | 01744A66 |. 33ED XOR EBP,EBP | |
| 58 | 01744A68 |. 83C4 1C ADD ESP,1C | |
| 59 | 01744A6B |. 66:392B CMP WORD PTR DS:[EBX],BP | |
| 60 | 01744A6E |. 0F86 B4000000 JBE 01744B28 | |
| 61 | 01744A74 |. 81E7 00800000 AND EDI,00008000 | |
| 62 | 01744A7A |. 897C24 14 MOV DWORD PTR SS:[ESP+14],EDI | |
| 63 | 01744A7E |. 8BFF MOV EDI,EDI | |
| 64 | 01744A80 |> 8B16 /MOV EDX,DWORD PTR DS:[ESI] | |
| 65 | 01744A82 |. 8B42 18 |MOV EAX,DWORD PTR DS:[EDX+18] | |
| 66 | 01744A85 |. 6A 02 |PUSH 2 | |
| 67 | 01744A87 |. 8BCE |MOV ECX,ESI | |
| 68 | 01744A89 |. FFD0 |CALL EAX ; Read 2 bytes from file (index) | |
| 69 | 01744A8B |. 66:0FB608 |MOVZX CX,BYTE PTR DS:[EAX] | |
| 70 | 01744A8F |. 66:0FB650 01 |MOVZX DX,BYTE PTR DS:[EAX+1] | |
| 71 | 01744A94 |. 66:C1E1 08 |SHL CX,8 | |
| 72 | 01744A98 |. 66:03CA |ADD CX,DX ; Index is in CX | |
| 73 | 01744A9B |. 66:837C24 14 |CMP WORD PTR SS:[ESP+14],0 | |
| 74 | 01744AA1 |. 0FB7F9 |MOVZX EDI,CX | |
| 75 | 01744AA4 |. 74 03 |JE SHORT 01744AA9 ; Check if Size is Zero | |
| 76 | 01744AA6 |. 0FB7FD |MOVZX EDI,BP ; BP,EDI: counter | |
| 77 | 01744AA9 |> 66:3B3B |CMP DI,WORD PTR DS:[EBX] ; Check if counter is less than size | |
| 78 | 01744AAC |. 72 0F |JB SHORT 01744ABD | |
| 79 | 01744AAE |. 68 E46F9D01 |PUSH OFFSET 019D6FE4 | |
| 80 | 01744AB3 |. 6A 02 |PUSH 2 | |
| 81 | 01744AB5 |. E8 D6F9FEFF |CALL 01734490 ; Ignore | |
| 82 | 01744ABA |. 83C4 08 |ADD ESP,8 | |
| 83 | 01744ABD |> 8B06 |MOV EAX,DWORD PTR DS:[ESI] | |
| 84 | 01744ABF |. 8B50 18 |MOV EDX,DWORD PTR DS:[EAX+18] | |
| 85 | 01744AC2 |. 6A 02 |PUSH 2 | |
| 86 | 01744AC4 |. 8BCE |MOV ECX,ESI | |
| 87 | 01744AC6 |. FFD2 |CALL EDX ; Read 2 bytes from file (R) | |
| 88 | 01744AC8 |. 8B5424 10 |MOV EDX,DWORD PTR SS:[ESP+10] | |
| 89 | 01744ACC |. 0FB7CF |MOVZX ECX,DI | |
| 90 | 01744ACF |. 8D3C8A |LEA EDI,[ECX*4+EDX] ;Pointer in the palette where to write | |
| 91 | 01744AD2 |. 0FB608 |MOVZX ECX,BYTE PTR DS:[EAX] | |
| 92 | 01744AD5 |. 0FB650 01 |MOVZX EDX,BYTE PTR DS:[EAX+1] | |
| 93 | 01744AD9 |. 66:C1E1 08 |SHL CX,8 | |
| 94 | 01744ADD |. 66:03CA |ADD CX,DX | |
| 95 | 01744AE0 |. 886F 02 |MOV BYTE PTR DS:[EDI+2],CH ; Write byte to pointer+2 | |
| 96 | 01744AE3 |. 8B06 |MOV EAX,DWORD PTR DS:[ESI] | |
| 97 | 01744AE5 |. 8B50 18 |MOV EDX,DWORD PTR DS:[EAX+18] | |
| 98 | 01744AE8 |. 6A 02 |PUSH 2 | |
| 99 | 01744AEA |. 8BCE |MOV ECX,ESI | |
| 100 | 01744AEC |. FFD2 |CALL EDX ; Read 2 bytes from file (G) | |
| 101 | 01744AEE |. 0FB608 |MOVZX ECX,BYTE PTR DS:[EAX] | |
| 102 | 01744AF1 |. 0FB650 01 |MOVZX EDX,BYTE PTR DS:[EAX+1] | |
| 103 | 01744AF5 |. 66:C1E1 08 |SHL CX,8 | |
| 104 | 01744AF9 |. 66:03CA |ADD CX,DX | |
| 105 | 01744AFC |. 886F 01 |MOV BYTE PTR DS:[EDI+1],CH ; Write byte to pointer+1 | |
| 106 | 01744AFF |. 8B06 |MOV EAX,DWORD PTR DS:[ESI] | |
| 107 | 01744B01 |. 8B50 18 |MOV EDX,DWORD PTR DS:[EAX+18] | |
| 108 | 01744B04 |. 6A 02 |PUSH 2 | |
| 109 | 01744B06 |. 8BCE |MOV ECX,ESI | |
| 110 | 01744B08 |. FFD2 |CALL EDX ; Read 2 bytes from file (B) | |
| 111 | 01744B0A |. 0FB608 |MOVZX ECX,BYTE PTR DS:[EAX] | |
| 112 | 01744B0D |. 0FB650 01 |MOVZX EDX,BYTE PTR DS:[EAX+1] | |
| 113 | 01744B11 |. 66:C1E1 08 |SHL CX,8 | |
| 114 | 01744B15 |. 66:03CA |ADD CX,DX | |
| 115 | 01744B18 |. 882F |MOV BYTE PTR DS:[EDI],CH ; Write byte to pointer | |
| 116 | 01744B1A |. 0FB703 |MOVZX EAX,WORD PTR DS:[EBX] | |
| 117 | 01744B1D |. 83C5 01 |ADD EBP,1 ; Increment counter | |
| 118 | 01744B20 |. 3BE8 |CMP EBP,EAX ; get out if counter > size | |
| 119 | 01744B22 |.^ 0F8C 58FFFFFF \JL 01744A80 | |
| 120 | 01744B28 |> 8B8C24 180100 MOV ECX,DWORD PTR SS:[ESP+118] | |
| 121 | 01744B2F |. 5F POP EDI | |
| 122 | 01744B30 |. 5E POP ESI | |
| 123 | 01744B31 |. 5D POP EBP | |
| 124 | 01744B32 |. 5B POP EBX | |
| 125 | 01744B33 |. 33CC XOR ECX,ESP | |
| 126 | 01744B35 |. E8 C2CD1800 CALL 018D18FC ; Check stack cookie | |
| 127 | 01744B3A |. 81C4 0C010000 ADD ESP,10C | |
| 128 | 01744B40 \. C2 0C00 RETN 0C | |
| 129 | 01744B43 CC INT3 |