Jet-Audio Ver.2.7 Trial by GustawKit

Wstep

Program Jet-Audio firmy COWON jest ciekawym programem multimedialnym do odtwarzania róznego rodzaju plików. Program wykorzystuje biblioteke tl32v20.dll. Jest ona jedna zmodyfikowana w stosunku do standardowej i uniemozliwia zarejestrowania programu. Podmiana tej biblioteki z innych aplikacji umozliwi nam zarejestrowanie.

Narzedzia

Opis

Plik JetAudio.exe (961536 KB) wykorzystuje biblioteke tl32v20.dll (92672 KB) ver 2.0.0.3. Biblioteka ta umozliwia zarejestrowanie programu. Dane dla tej biblioteki zapisane sa w pliku JetAudio.tsf i sa one zaszyfrowane. Biblioteka jest jednak zmodyfikowana i nie pozwala nam wprowadzic kodu w "purche". Potrzebna nam bedzie wersja tej biblioteki z mozliwoscia wprowadzenia kodu. Wykorzystalem wersje tl32v20.dll (86528 KB) z ogólnie dostepnego programu Quick View Plus 4.5. Podmiana biblioteki uniemozliwi jednak uruchomienie programu, gdyz sprawdza on sume bajtów biblioteki a takze samego siebie.

Zróbmy kopie plików, beda one nam potrzebne. Rozbroimy teraz plik JetAudio.exe. Najlepiej wykorzystac W32Dasm. Zdekompilujmy ten plik. Program po jakiejkolwiek modyfikacji zglasza komunikat "Files of Jet-Audio may be damaged.....". Poszukajmy tego w zdekompilowanym pliku.

* Reference To: IMAGEHLP.MapFileAndCheckSumA, Ord:001Ah
                                  |
:004131E6 8B1DE4994600            mov ebx, dword ptr [004699E4]
:004131EC 52                      push edx
:004131ED FFD3                    call ebx
:004131EF 85C0                    test eax, eax
:004131F1 7564                    jne 00413257
:004131F3 817DE01E100200          cmp dword ptr [ebp-20], 0002101E
:004131FA 755B                    jne 00413257
:004131FC 8D45F0                  lea eax, dword ptr [ebp-10]
:004131FF 50                      push eax
* Possible StringData Ref from Data Obj ->"jetaudio.exe"
                                  |
:00413200 6824134600              push 00461324
:00413205 E8F6C9FFFF              call 0040FC00
:0041320A 83C408                  add esp, 00000008
:0041320D 8B7DF0                  mov edi, dword ptr [ebp-10]
:00413210 B9FFFFFFFF              mov ecx, FFFFFFFF
:00413215 2BC0                    sub eax, eax
:00413217 F2                      repnz
:00413218 AE                      scasb
:00413219 F7D1                    not ecx
:0041321B 2BF9                    sub edi, ecx
:0041321D 8BC1                    mov eax, ecx
:0041321F C1E902                  shr ecx, 02
:00413222 8BF7                    mov esi, edi
:00413224 8DBDDCFEFFFF            lea edi, dword ptr [ebp+FFFFFEDC]
:0041322A F3                      repz
:0041322B A5                      movsd
:0041322C 8BC8                    mov ecx, eax
:0041322E 83E103                  and ecx, 00000003
:00413231 F3                      repz
:00413232 A4                      movsb
:00413233 8D4DE0                  lea ecx, dword ptr [ebp-20]
:00413236 8D45DC                  lea eax, dword ptr [ebp-24]
:00413239 51                      push ecx
:0041323A 8D95DCFEFFFF            lea edx, dword ptr [ebp+FFFFFEDC]
:00413240 50                      push eax
:00413241 52                      push edx
:00413242 FFD3                    call ebx
:00413244 85C0                    test eax, eax
:00413246 750F                    jne 00413257
:00413248 8B45E0                  mov eax, dword ptr [ebp-20]
:0041324B 3945DC                  cmp dword ptr [ebp-24], eax
:0041324E 7507                    jne 00413257
:00413250 C745EC01000000          mov [ebp-14], 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004131F1(C), :004131FA(C), :00413246(C), :0041324E(C)
|
:00413257 837DEC00                cmp dword ptr [ebp-14], 00000000
:0041325B 7559                    jne 004132B6
:0041325D 8D4DE8                  lea ecx, dword ptr [ebp-18]
:00413260 BB01000000              mov ebx, 00000001
:00413265 E8B28C0200              call 0043BF1C
:0041326A 8D4DE4                  lea ecx, dword ptr [ebp-1C]
:0041326D 885DFC                  mov byte ptr [ebp-04], bl
:00413270 E8A78C0200              call 0043BF1C
* Possible Reference to String Resource ID=01022: 
     "Files of Jet-Audio may be damaged. Please install again."
                                  |
:00413275 68FE030000              push 000003FE
:0041327A 8D4DE8                  lea ecx, dword ptr [ebp-18]
:0041327D C645FC02                mov [ebp-04], 02
:00413281 E87D930200              call 0043C603

widzimy kilka skoków do tej procedury. Najlepiej skoki te usunac. Moze to nie fachowo, ale to tylko chwilowe. A wiec modyfikujemy adresy 131F1,131FA,13246,1324E. Uruchamiamy program wraz z podmieniona biblioteka tl32v20dll. Pojawia sie nag-screen i umozliwia nam wprowadzenie kodu, bingo !. Znalezienie kodu to juz prosta rzecz. Zobacz Info o tl32v20.dll. Po wprowadzeniu kodu, dane zostana zapisane do Jetaudio.tsf. Teraz przywracamy oryginale pliki jetaudio.exe i tl32v20.dll. Uruchamiamy program - Jest zarejestrowany. Powodzenia.

Koncowa notka

Mozliwe, ze z niektórymi programami uda sie zrobic podobnie.