ouCHastilaer Skrevet 20. november 2008 Del Skrevet 20. november 2008 Hei! Jeg har nå en asm-kildekode som utfører en modifisering av et gitt mål. Under ".data" har den følgende string "Sequence db 75h,41h,0E8h,7Ah". Det er altså de bytene jeg skal modifisere de originale med. Men mitt ønske er at brukeren selv skal få velge hva patcheren skal modifisere med. En løsninge jeg tenkte på var å bruk GetItemTextA elns, på en Edit-box, men det blir jo gjort om til ASCII osv, så den stringen blir jo ubrukelig!? Bruker WriteFile. Så, hvordan løser jeg dette problemet? Lenke til kommentar
Emancipate Skrevet 30. november 2008 Del Skrevet 30. november 2008 Du må lage en funksjon som ser på den "ubrukelige" strengen og finner de riktige tallene. Det ville vært lettere å hjelpe deg hvis du sa hva du hadde prøvd. Lenke til kommentar
LonelyMan Skrevet 22. september 2011 Del Skrevet 22. september 2011 (endret) Hver byte i hex-string format er 2 bytes lang uten hex terminatorer slik som 0xffh, vil kunne leses som ff i editboksen. Så hver hex byte er 2 bytes lang i string format. Så bruker du en funksjon for å konvertere hexstring til heltall. Hvis du bruker unicode editbokser så må du konvertere widestring til ansi først. Om du lar brukeren skrive base 10 (heltall/integer) istedet for base 16 (hex) så kan du gjøre konverteringen enklere, ascii representasjon av tallet 0 er 48. Du tar simpelt hen bare tallet i editboksen og subtraherer 48 så har du tallets integer variant umiddelbart. For å optimalisere dette så sletter du simpelt hen bare bit 5 og 6 så er konverteringen ferdig hvis du har lagret ascii tallet i ax så gjør du bare følgende: and ax, 0Fh EN simpel instruksjon og du har konvertert ett tall fra string format til integer format. Det gjelder å tenke når en koder asm Har du mange tall du skal konvertere så putt 0Fh i ett 16 bit register og kjør heller slik: and ax, cx Endret 22. september 2011 av LonelyMan Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå