Vinnaren i pepparkakshustävlingen!
2013-04-30, 22:15
  #1
Medlem
Chevrons avatar
Hej,

har knåpat lite med PE-formatet nu, och har hittills lyckats kopiera in lite kod till en annan fil.

Jag lägger till en ny section i slutet av filen (read, execute), kopierar över min stubbe dit, uppdaterar alla addressser till WinAPI-funktioner till att peka på rätt ställe i imports, pekar AddressOfEntryPoint till min stubbe. Detta fungerar fint så länge som filen laddas på samma basaddress som ImageBase, men gör den inte det går det ju helt åt skogen då det som borde peka till IAT leder till en annan modul eller ingenstans alls.


Hur löser man detta enklast utan att göra för stora antaganden?
Tvingas jag till att lägga dit relocations?
Citera
2013-04-30, 23:18
  #2
Moderator
Protons avatar
IT-säkerhet: datorvirus och skadlig kod --> Övriga utvecklingsfrågor
/Moderator
Citera
2013-04-30, 23:42
  #3
Medlem
.Chloes avatar
Varför uppdaterar du inte bara med din adress till ImageBase?

Plus så låter det som du har problem med ASLR. Beror på.
Citera
2013-05-01, 02:30
  #4
Medlem
Chevrons avatar
Citat:
Ursprungligen postat av .Chloe
Varför uppdaterar du inte bara med din adress till ImageBase?

Plus så låter det som du har problem med ASLR. Beror på.

För att jag inte kan få en absolut adress till PE-header eller någonting utan basadressen. Även om jag kunde det hade inte ditt förslag fungerat då ImageBase är "preferred base address" och uppdateras inte i minnet (dvs värdet från filen står kvar).
Citera
2013-05-01, 13:31
  #5
Medlem
Chevrons avatar
(Kan tillägga att det ju löser sig om man sätter flaggan IMAGE_FILE_RELOCS_STRIPPED i Characteristics, men jag vill inte införa några nya begränsningar.)
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback