[ Fenix @ 08.06.2006. 10:21 ] @
Izgubio sam izvorni kod programa koji sam davno radio, imam samo njegov exe.

kako da izvadim podatke iz list box-a koji se u njemu pojavljuje?

Da li neke API funkcije omogućuju to?

Da li da pretrazujem RAM u potrazi za određenim tekstom za koji znam da se pojavljuje u kontroli ne bih li nekako "napipao" lokaciju u RAM-u gdje se čuva sadrzaj kontrole i kako da to ucinim?
[ goranvuc @ 08.06.2006. 13:43 ] @
Postoji jedan vrlo jednostavan nacin: Otvoris EXE u notepad-u i potrazis sa Find neku stavku sa liste koju znas. Trebalo bi da pronadjes kompletnu listu razdvojenu odredjenim list separatorom. Poenta je u tome sto VB prilikom pravljenja izvrsne verzije ove stringove ostavlja u izvornom obliku.
[ Fenix @ 08.06.2006. 18:40 ] @
Ma ne, radio sam ga u C++, izvini što ne naglasih.
[ Aleksandar Ružičić @ 11.06.2006. 00:34 ] @
Citat:

Poenta je u tome sto VB prilikom pravljenja izvrsne verzije ove stringove ostavlja u izvornom obliku.

valjda svaki kompajler ostavlja stringove u izvornom obliku, to se zove string table...

@Fenix pokushaj sa getWindowText apijem, ako to netje onda cesh morati sendMessage da koristish...
[ goranvuc @ 11.06.2006. 10:12 ] @
Citat:
krckoorascic: valjda svaki kompajler ostavlja stringove u izvornom obliku, to se zove string table...


Pa ne bas u izvornom, u tome je i poenta. String literale koji su upisani u kod kao npr.

Code:

MyVar = "Ovo je neka inicijalizacija string promenljive"


VB compiler ce sacuvati u odredjenoj sekciji izvrsnog fajla i to SAMO JEDNOM (u slucaju da si isti string koristio vise puta), ali ce ga sacuvati sa umetnutim space-ovima (zbog konverzije iz ANSI u UNICODE), sto znaci da samim tim nisu u izvornom obliku.

String literali koji su vrednosti svojstava ActiveX kontrola zadrzavaju svoj izvorni oblik, za razliku od prethodnog slucaja, a posto se pitanje odnosilo na ListBox, onda ovo vazi i za njega, tj. da citiram sebe:

Citat:
goranvuc: Poenta je u tome sto VB prilikom pravljenja izvrsne verzije ove stringove ostavlja u izvornom obliku.


Da li se ovo moze primeniti na sve kompajlere ja stvarno ne znam, verujem da si ti upoznat sa svim kompajlerima kada tako nesto tvrdis, moje znanje je puno skromnije.
[ Aleksandar Ružičić @ 11.06.2006. 22:13 ] @
ok, verovatno si u pravu.

Citat:

Da li se ovo moze primeniti na sve kompajlere ja stvarno ne znam, verujem da si ti upoznat sa svim kompajlerima kada tako nesto tvrdis, moje znanje je puno skromnije.

ne nisam upoznat sa svim kompajlerima ali sam citao neke knjige o kompajlerima (jer sam poceo da radim na jednom, nece generisati standalone aplikacije naravno, u pitanju je kompajler za jedan skript jezik) i upoznat sam sa nekom osnovnom logikom kompajlera... i koliko mi se cini ja nigde nisam tvrdio da je tako za sve kompajlere samo sam pretpostavio...
[ Fenix @ 11.06.2006. 22:23 ] @
Citat:
ako to netje onda cesh morati sendMessage da koristish...


na koji se način tu može koristiti sendMessage?
[ mladenovicz @ 12.06.2006. 15:57 ] @
http://groups.google.com/group...c5fb972f3c26?#d827c5fb972f3c26
[ icobh @ 17.06.2006. 09:29 ] @
Ako je program rađen u C++ i trebaš da izvučeš sve stringove iz njega, ja ti preporučujem ResHacker, lame ali ipak ja ga od svih najviše koristim.
[ Nibble @ 17.06.2006. 10:21 ] @
Upravu si za to icobh ali i moze da koristi Olly pa desni klik i search for-all referenced text strings.
[ icobh @ 17.06.2006. 22:35 ] @
Zašto da ne, samo OllyDBG ne koristi baš svako, i nezna sve njegove prednosti, ali vrijedi...