能力值:
( LV5,RANK:70 )
|
-
-
2 楼
004010FB |. A3 14854000 MOV DWORD PTR DS:[408514],EAX
00401100 |. 77 16 JA SHORT ExploitM.00401118
00401102 |. 8BCB MOV ECX,EBX
00401104 |. 8BF5 MOV ESI,EBP
00401106 |. 8BC1 MOV EAX,ECX
00401108 |. 8D7C24 24 LEA EDI,DWORD PTR SS:[ESP+24]
0040110C |. C1E9 02 SHR ECX,2
0040110F |. F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] ; 溢出点,如果覆盖掉0x0012fcf8内的数据0x004050b0就会出错
00401111 |. 8BC8 MOV ECX,EAX
00401113 |. 83E1 03 AND ECX,3
00401116 |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00401118 |> 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
0040111C |. 55 PUSH EBP ; /pMemory
0040111D |. 6A 01 PUSH 1 ; |Flags = HEAP_NO_SERIALIZE
0040111F |. 51 PUSH ECX ; |hHeap
00401120 |. FF15 08504000 CALL DWORD PTR DS:[<&KERNEL32.HeapFree>] ; \HeapFree
00401126 |. B9 20000000 MOV ECX,20
0040112B |. 33C0 XOR EAX,EAX
0040112D |. 8BFD MOV EDI,EBP
0040112F |. 81FB 84000000 CMP EBX,84
00401135 |. F3:AB REP STOS DWORD PTR ES:[EDI]
00401137 |. 77 19 JA SHORT ExploitM.00401152
00401139 |. 8BCB MOV ECX,EBX
0040113B |. 8BF5 MOV ESI,EBP
0040113D |. 8BD1 MOV EDX,ECX
0040113F |. 8DBC24 A800000>LEA EDI,DWORD PTR SS:[ESP+A8]
00401146 |. C1E9 02 SHR ECX,2
00401149 |. F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
0040114B |. 8BCA MOV ECX,EDX
0040114D |. 83E1 03 AND ECX,3
00401150 |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00401152 |> 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
00401156 |. 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
0040115A |. FF10 CALL DWORD PTR DS:[EAX]
0040115C |. 8B9424 A400000>MOV EDX,DWORD PTR SS:[ESP+A4]
00401163 |. 8D8C24 A400000>LEA ECX,DWORD PTR SS:[ESP+A4]
0040116A |. FF12 CALL DWORD PTR DS:[EDX] ; 弹出fail对话框
使用132(十进制)个@字符就可以验证溢出点
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
谢谢啦,找到了
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
谢谢,一直认为要传入超级长的串才能找到溢出点。。。。。。
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
exploit.dat文件,最好使用ultraedit等程序打开,以十六进制的形式编辑
|