Pointer Suche

04/29/2012 16:07 TheCherry#1
Es ist peinlich aber ich kann den Pointer nicht ganz so gut finden ....

Ich setze auf verfolgenden String (auf die "0") einen breakpoint bei read: ("0.9.3.2962")

Unten makiert bleibt er dann stehen (die Funktion wird wohl bei vielen String aufrufen benutzt) Doch wo sehe ich nun die Basic Adresse + offsets?
Code:
00403050  /$ 56             PUSH ESI
00403051  |. 57             PUSH EDI
00403052  |. 89C6           MOV ESI,EAX
00403054  |. 89D7           MOV EDI,EDX
00403056  |. 89C8           MOV EAX,ECX
00403058  |. 39F7           CMP EDI,ESI
0040305A  |. 77 13          JA SHORT Nostale_.0040306F
0040305C  |. 74 2F          JE SHORT Nostale_.0040308D
0040305E  |. C1F9 02        SAR ECX,2
00403061  |. 78 2A          JS SHORT Nostale_.0040308D
00403063  |. F3:A5          REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
00403065  |. 89C1           MOV ECX,EAX
00403067  |. 83E1 03        AND ECX,3
0040306A  |. F3:A4          REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
0040306C  |. 5F             POP EDI
0040306D  |. 5E             POP ESI
0040306E  |. C3             RETN
0040306F  |> 8D7431 FC      LEA ESI,DWORD PTR DS:[ECX+ESI-4]
00403073  |. 8D7C39 FC      LEA EDI,DWORD PTR DS:[ECX+EDI-4]
00403077  |. C1F9 02        SAR ECX,2
0040307A  |. 78 11          JS SHORT Nostale_.0040308D
0040307C  |. FD             STD
0040307D  |. F3:A5          REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
0040307F  |. 89C1           MOV ECX,EAX
00403081  |. 83E1 03        AND ECX,3
00403084  |. 83C6 03        ADD ESI,3
00403087  |. 83C7 03        ADD EDI,3
|| BREAK || 0040308A  |. F3:A4          REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
0040308C  |. FC             CLD
0040308D  |> 5F             POP EDI
0040308E  |. 5E             POP ESI
0040308F  \. C3             RETN
Code:
EAX 0000000A
ECX 00000001
EDX 07A865F4
EBX 00000003
ESP 0018FBC0
EBP 0018FC84
ESI 0755C380 ASCII "0.9.3.2962"
EDI 07A865F4
EIP 0040308A Nostale_.0040308A
C 0  ES 002B 32bit 0(FFFFFFFF)
P 1  CS 0023 32bit 0(FFFFFFFF)
A 0  SS 002B 32bit 0(FFFFFFFF)
Z 0  DS 002B 32bit 0(FFFFFFFF)
S 0  FS 0053 32bit 7EFDD000(FFF)
T 0  GS 002B 32bit 0(FFFFFFFF)
D 1
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00010606 (NO,NB,NE,A,NS,PE,GE,G)
ST0 empty -??? FFFF 00000000 00000000
ST1 empty 3.4734739874949509820e+18
ST2 empty 4.9157507590454787070e+18
ST3 empty 4.7710736431842071570e+18
ST4 empty 3.7625323344733921840e+18
ST5 empty 3.6189998617397962750e+18
ST6 empty 5.0587290434738752510e+18
ST7 empty 2.1474836480100000000e+11
               3 2 1 0      E S P U O Z D I
FST 0020  Cond 0 0 0 0  Err 0 0 1 0 0 0 0 0  (GT)
FCW 107F  Prec NEAR,24  Mask    1 1 1 1 1 1
Bitte helft mir und gebt mir nun nicht nur den Basic + Offset nämlich auch eine "Erleuchtung" :P