XOOX. Cilvēks. ([info]xoox) rakstīja [info]koderi kopienā,
@ 2006-05-29 12:09:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Kādam no cienītajiem kolēģiem ir idejas, kā nomainīt string jeb virkni jau nokompilētā EXE failā? Virkne ir garāka nekā jau esošā. EXE failā virkni atrast var, mēģināju nomainīt uz garāko, bet programma pēc tam vairs nedarbojas. Jāmeklē checksumma? Bet kur?
Nu jā, un virkne nav kā daļa no resursiem (resource string), tā parādās tikai kā pliks teksts EXE, līdz ar to API funkcijas UpdateResource u.c. neder.
Googles tante ātru risinājumu nepiedāvā, bet mēģināt iebraukt PE formāta jaukumos par maz laika.


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]neons
2006-05-30 07:46 (saite)
Nav bijusi darīšana ar Windows disasembleriem, bet ar normālu DOSisku viss būtu elementāri. Mums tiktu uztaisīts viens liels .asm fails norādītajā formātā (MASM/TASM), kurā ar Search/Replace visprastākajā teksta redaktorā būtu jānomaina mūs interesējošā teksta virkne un tad ar to pašu MASM/TASM vienkārši no jauna jāuzģenerē ekzešņiks. Pieņemu, ka ar Windozes rīkiem ir līdzīgi.

Dizasemblers nevar strādāt īpaši nekorekti, vienīgā problēma varētu būt, ka viņš varētu kaukur saputrot datus ar kodu (nesaprast, kas šī baitu virkne īsti ir). Bet pamatā gudrs dizasemblers redz, ka kods kaukur vēršas pie noteiktās adreses kā pie datiem un līdz ar to attiecīgo vietu kodā pieraksta kā datus.

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?