Sano, että syöttöruutu on ja kirjoitan tekstin. Voinko jotenkin löytää sijainnin, johon teksti kirjoitetaan?
Sano, että syöttöruutu on ja kirjoitan tekstin. Voinko jotenkin löytää sijainnin, johon teksti kirjoitetaan?
Aseta katkaisupisteet GetWindowText ()
: lle ja GetDlgItemText ()
: lle ja anna kohdeohjelman lukea syöteteksti . Jos rikkoutumispiste osuu, voit jäljittää puhelupinon nähdäksesi, mikä koodi lukee syöttötekstiäsi ja missä muistissa se on tallennettu. Jos kumpikaan rikkoutumispiste ei osu, voit yrittää asettaa ehdollisen katkaisupisteen kohtaan SendMessage ()
, suodattamalla se rikkomaan vain WM_GETTEXT
viesti.
Jos yllä olevat menetelmät epäonnistuvat, sinun kannattaa analysoida ohjelmaa staattisesti löytääksesi missä se luo tekstiruutuikkunan ja miten se käsittelee tekstikentän syötettä. Ikkunanluonti-sovellusliittymäkutsujen ja / tai ristiviittausten hakeminen tekstikenttään liittyviin merkkijonoihin (staattiset tunnisteet, virheilmoitusmerkkijonot jne.) Voivat olla hyödyllisiä.
Jasonin sanojen lisäksi haluaisin lisätä, että on myös toinen mahdollisesti hyödyllinen tapa:
ExitProcess ()
(ja todennäköisesti HeapFree ()
too) "bla bla bla"
Olen samaa mieltä siitä, että tämä voi olla ylitapaus, mutta silti hyödyllinen joissakin tilanteissa.
kaikkien yllä olevien ratkaisujen lisäksi, kun olet syöttänyt tekstimerkkijonosi paina f12
ja keskeytä virheenkorjaaja
nyt on olemassa useita vaihtoehtoja etsiä merkkijonoa view call stack ( ctl + k)
ja aseta katkaisupiste pinon palautusosoitteeseen
ja suorita painamalla f9 - ollydbg todennäköisesti rikkoutuu joissakin järjestelmäkutsuissa
kun se katkeaa voit etsiä prosessin koko muistista
( alt + m napsauttamalla hiiren kakkospainikkeella hakua ctrl + l toistoa varten)
kirjoittamallesi merkkijonolle
aseta pääsyn katkaisupiste ( laitteistokatko kohta luettuna)
sijainnista, jos sovellus ei ole kovin hämärtynyt puhelupino, saattaa näyttää sovelluskoodin, mihin se tuli, voit myös seurata sieltä
jos sovellus ei ole luokitellut ohjausasetuksia aliluokkaan katkaisupiste windowproc
- tai classproc
-sivulla saa myös oikean kontekstin seuraamaan merkkijonoa, jos sovellus käyttää directxiä, voit asettaa taukoja SendInpussa t () apis tai DrawText (...) apis