Maggot

Mp3 To Wave Converter v 1.19. 2001-02-08

Maggot

Ladda progget från: http://www.cnet.com/

Tanka denna Tut från: http://hem.fyristorg.com/cps/

Hjälpmedel:

W32dasm 8.93
Hiew 6.55
En dosa Göteborgs rapé

Lika lätt som att skjuta en ko [X]___Medel,som att joddla i motvind [ ]___Lika svårt som att suga av sig själv [ ]

|
|

Typ av skydd

Endast 33 konverteringar

Här börjar mina onda tankar

Detta program konverterar mp3:or till waveformat vilket kan vara trevligt om man vill bränna cdskivor. Efter installationen av programmet behöver du
bara högerklicka på mp3:an och välja "convert mp3 to wave". Ett mycket enkelt och trevligt program.
Detta program är begränsat till 33 konverteringar vilket jag tycker känns lite för snålt tilltaget. Denna tutorial beskriver hur vi tar bort denna begränsning.

Ok, vi börjar med att öppna W32dasm. Välj sedan "Open file" leta upp mp3towave.exe och öppna den filen. Laddat o klart ??.. Då klickar vi på Strn Ref för att
kolla in textsträngarna. Här finns lite intressanta saker såsom texten "Your 33 free conversions are used up! Mp3 To Wave Converter" klicka några gånger på den raden
för att kolla hur många gånger den förekommer.. Två gånger tydligen.
Patcha dom nedanstående byten genom att ladda in mp3towave.exe i Hiew

Här nedanför är den gången vi kallar nummer ett

0040546F: A1447C4100 mov eax,[00417C44]
00405474: 85C0 test eax,eax
00405476: 0F8481000000 je 004054FD
0040547C: B9B0674100 mov ecx,004167B0
00405481: E82A260000 call 00407AB0
00405486: 85C0 test eax,eax
00405488: 755F jne 004054E9 ------------------------------Ändra jne till jmp, 755F till EB5F så skuttar vi över nedanstående koll
0040548A: A1B4674100 mov eax,[004167B4]
* String Resource ID=00033 "Your 33 free conversions are used up! Mp3 To Wave Converter"
0040548F: BE21000000 mov esi,00000021 --------------Flyttar 21h till Esi. 21 i hexadecimal = 33 i decimaltal. Kom ihåg 33 konverteringar
00405494: 3BC6 cmp eax,esi -------------------------------Jämför eax mot esi, esi=33
00405496: 7C51 jl 004054E9 --------------------------------Hoppa om mindre än 33 konverteringar kvar


Denna kan vi kalla förslagsvis nummer två

00407A37: FF15DC114100 call LoadStringA ;USER32.dll
00407A3D: 85C0 test eax,eax
00407A3F: 7454 je 00407A95 -----------------------------Ändra je till jmp, 7454 till EB54 ett likadant skutt här
00407A41: 8B4E04 mov ecx,[esi+04]
* String Resource ID=00033 "Your 33 free conversions are used up! Mp3 To Wave Converter"
00407A44: B821000000 mov eax,00000021 ------------21h = 33
00407A49: 2BC1 sub eax,ecx
00407A4B: 7902 jns 00407A4F

Nu kan man tro att vi är klara,,,,,men men men men men men men..Så korta tuts får jag nog aldrig skriva.

Vi återgår till det intressanta ämnen hexadecimalt, vi konstaterar med kalkylatorn i avancerat läge att 21 i hexdecimal är 33 i decimaltal.
Då återgår vi till W32dasm och gör en textsökning efter 00000021 börja från toppen och sök neråt. Vad hittar vi då. Jo två ställen till.

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
:00401C42 (C)

00401C7C: 833DB467410021 cmp dword ptr [004167B4], 00000021
00401C83: 0F8CE4000000 jl 00401D6D

Denna kontroll tacklar vi genom att kolla in koden som hoppade hit, alltså address 00401C42, här hittar vi ett jump if equal (je).
Då ändrar vi "jump if equal" till "jump if not equal". Ändra alltså "koden" 7438 till 7538. Orsaken till att jag ändrar detta hopp och inte hoppet
på adressen 00401C83 är bara för att jag hade lust :)

Tre av fyra kontroller klara.

Den sista kontrollen lämnar jag över till er som en liten utmaning, maila mig om ni inte löser det :)
Tänk på att det kan ta lite tid innan jag svarar på mailen.....

Maggot@ihavepms.com

Dom slutliga små orden

Tycker du att detta program är bra så bör du registrera dig. Det har jag gjort.(hmmm)
Denna text är skriven för att läsas, ej för att utövas i praktiken.