Sellainen joka kaappaa välistä pääohjelman ja pääohjelman osan, pienemmän ohjelman väliset parametrit ja muuntelee niitä siinä välissä.
Ei pystynyt mitenkään muuten tekemään erästä juttua kuin valeohjelman siihen niiden väliin jotta pääohjelma luulee sitä parametrejä muuntelevaa valeohjelmaa oikeaksi, eikä huomaa mitään.
Kun ei ollut käytössä sellaista ylellisyyttä kuin dokumentaatio, lainkaan.
Piti tehdä valeohjelma.
6
1608
Vastaukset
- Anonyymi
Kerro ihmeessä tarkemmin.
Mikä ympäristö? Oliko kohdeohjelmien lähdekoodi saatavilla? Mitä ohjelmointikieltä käytit? Voitko lähdekoodin omasta ratkaisustasi tai edes periaatteen? - Anonyymi
DVD-videoiden ja kuvien editointia, adoben ohjelmia... ei lähdekoodia ole saatavilla noissa...
- Anonyymi
Itse yritin joskus 10 vuotta sitten tehdä Windowissa niin että pakkasin toisen Exen käynnistyvään pinemmän Exen sisään, tämä latasin sitten sen varsinaisen Exen muistista ja yritti käynnistää sen, mutta Windows esti sen laittomana toimintana.
- Anonyymi
Toiminto sinänsä ei ole laiton, mutta pienikin virhe tuollaisen ohjelman toteuttamisessa kylläkin johtaa laittomaan toimintoon !
vinkki: joskus kannattaa koodata DLL sen iänikuisen EXEn sijasta.
Esim. näin:
Sinulla on muualta sellaisenaan saatu ALKUPER.EXE
Tuosta ALKUPER.EXE ei ole lähdekoodeja, joten joudut itse debuggerin ja/tai disassemblerin avulla selvittämään tuon sisäistä toimintaa, jos jotain haluat muokata.
Koodaat itse MUOKKAAJA.DLL (Tämän voi aivan yhtä hyvin koodata Delphillä kuin C:llä).
Myös koodaat itse LATAAJA.EXE
Myös LATAAJA.EXEn voi koodata Delphillä (toki se C:lläkin on mahdollista tehdä).
Mitäkö tuo LATAAJA.EXE tekee?
1. Kutsuu Windows API -funktiota: CreateProcess(..., CREATE_SUSPENDED, ...)
2. Käytä Windows API -funktioita WriteProcessMemory ja ReadProcessMemory
Voit myös joutua muokkaamaan uuden prosessin ajoympäristöä: erityisesti rekisterin EIP (32-bit) tai RIP (64-bit) arvoa siten, että se osoittaa uuteen koodiin, jonka itse lisäsit uuteen prosessiin.
Uuden 4 KiTavun muistialueen lisääminen vieraaseen prosessiin (= ALKUPER.EXE):
Käytä Windows API -funktioita VirtualAllocEx.
Joudut kirjoittamaan pienen palan konekielikoodia, joka tekee seuraavaa:
Muokk := LoadLibrary('MUOKKAAJA.DLL');
P := GetProcAddress(Muokk, 'OMA_MUOKK');
sitten kutsut funktiota P, joka on todellisuudessa funktio OMA_MUOKK itse tekemässäsi MUOKKAAJA.DLL.
Normaalisti hyviin tapoihin kuuluisi ohjelman lopussa kutsua FreeLibrary(Muokk), mutta jos edellä kuvatulla tavalla muokkaat toisen tekemää koodia, niin sinulla ei ole varaa moiseen ylellisyyteen - kun et tarkkaan tiedä, milloin sitä pitäisi kutsua - tämä ei kuitenkaan ole vakava bugi, koska käyttöjärjestelmä vapauttaa lopetettavan prosessin RAM -muistin joka tapauksessa.
- Anonyymi
Valeohjelman sijaan voidaan puhua väliohjelmasta, middlewaresta.
Middlewarea käytetään mm. verkkoliikenteessä, kun halutaan lisätä tunnistetiedot lähetettävään http-otsikkoon automaattisesti, ja tarkastamaan onko http-pyynnöllä oikeus johonkin resurssiin.- Anonyymi
"ja tarkastamaan onko http-pyynnöllä oikeus johonkin resurssiin."
Onko siis valtion eri palveluissaan (Traficom, Kela, Te-toimisto, omakanta jne.) käyttäjän tunnistamiseen käyttämä suomi.fi -palvelu Middlewarea ?
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod337004- 386434
- 293514
- 453010
- 342714
- 152408
- 372198
- 162076
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons481947En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191807