Ohjelmiston purkaminen tarkoittaa ohjelmiston ottamista ja sen kirjoittaman kielen muuttamista ihmisille ymmärrettävämmäksi. Se tekee tämän ottamalla alkuperäisen ohjelman kielen ja muuttamalla sen lähdekoodiksi, joka voidaan ymmärtää paremmin. Jos se tehdään oikein, henkilö voi yrittää purkaa ohjelmiston, hän voi luoda ohjelman, joka toimii hyvin samankaltaisesti, ellei aivan kuten alkuperäinen ohjelmisto.
Ohjelmiston purkamiseen voidaan käyttää monia ohjelmia. Joillakin näistä ohjelmista on laillinen käyttö ja toisissa ei. On huomattava, että jokainen, joka yrittää purkaa ohjelmistoja laittomiin tarkoituksiin, voi rikkoa henkistä omaisuutta, mikä on monissa maissa rikosoikeudellisesti rangaistavaa.
Itse asiassa piraattikopioiden tekeminen ohjelmistosta tai tuotteen valmistaminen, jolla on sama tehtävä kuin alkuperäisellä ohjelmistolla, voi olla yleisin syy ohjelmiston purkamiseen. Tämä johtuu siitä, että ohjelmiston purkamisen avulla voidaan ehkä poistaa ohjelmiston kopiosuojaus. Näin ollen jokaisella, joka pystyy purkamaan ohjelmiston onnistuneesti tällä tavalla, on rajoittamaton mahdollisuus kopioida ohjelmasta.
Vaikka monet yritykset haluaisivat, että tietokoneohjelmat, jotka purkavat ohjelmiston, kielletään jo pelkästään tästä syystä, myös ohjelmistojen purkamiselle on joitain laillisia käyttötarkoituksia. Näitä ovat vikojen löytäminen ohjelmasta, haittaohjelmien löytäminen ja koodin tarkistaminen. Lisäksi ohjelman käyttäminen ohjelmiston purkamiseen voi toimia oppimisen apuna ohjelmointia opiskeleville opiskelijoille. Nämä tapaukset voivat olla erittäin päteviä syitä ohjelmiston purkamiseen.
Usein dekompressori voi olla hyödyllinen työkalu niille, jotka käsittelevät avoimen lähdekoodin ohjelmistoja, jotka saattavat haluta lisätä tietyn ohjelman ominaisuuksia tai arvoa. Tässä tapauksessa dekompressori voi auttaa merkittävästi ohjelman uudelleenkirjoittamisessa tai sen lisäämisessä. Tämä on kuitenkin eri asia kuin ohjelman purkaminen suurelta ohjelmistovalmistajalta, joista suurin osa on suojattu lisenssisopimuksilla ja kopioinninestokoodilla.
On huomattava, että ohjelmiston purkaminen ei tarkoita vain ohjelman purkamista, vaikka nimi saattaa viitata siihen, että se on ainoa tehtävä. Kääntämisen käännösosa on myös erittäin tärkeä. Usein, kun se on käännetty, se kootaan sitten takaisin yhteen nähdäkseen, onko halutut tulokset saavutettu. Jos ei, lisätoimia on ehkä tehtävä.