Cześć,
Rozpoczynam ostatnio swoją przygodę z reverse engineering i chciałem zapytać, jak z drugiego procesu mógłbym wyciągnąć wartość zmiennej (znam jej nazwę)? Skąd w ogóle wziąć sam jej adres? Dysponuję IDA w wersji 5.0.
0
0
Jej nazwa jest najmniej istotna bo w czasie wykonania (a w ogóle już po kompilacji) tej nazwy nie ma. Zreversuj tą aplikacje, zobacz gdzie i jak się ta zmienna alokuje i na tej podstawie określ gdzie może być w drugim procesie.
0
Mam przykładowo taki fragment w zreversowanym kodzie:
.text:006E87B8 dd 104E4h, 0FFFFFFFFh, 7
.text:006E87C4 aTimegap db 'Timegap',0 ; DATA XREF: sub_6E7A54+1ACo
.text:006E87CC dd 104E4h, 0FFFFFFFFh, 7
.text:006E87D8 aGettime db 'GetTime',0 ; DATA XREF: sub_6E7A54+1D1o
Jak na podstawie tego mogę określić wypisane wyżej właściwości?
0
To tylko stringi, same wartości będą gdzieś indziej, a to gdzie konkretnie zależy od tego czy była to zmienna lokalna na stosie, czy globalna, czy zaalokowana na stercie, w jakiejś strukturze, etc. Jak podążysz tym xrefem do funkcji sub_6E7A54 to w jej okolicach pewnie gdzieś to będzie.
Być może prościej będzie ci je znaleźć przez Cheat Engine.