PCad 2000
Triple Cracking!


26/05/2000

by "AndreaGeddon"

 

 

UIC's Home Page

Published by Quequero

Cad Cad Cad

Qualche mio eventuale commento sul tutorial :)))

e chi te li chiede?!?!?!?!

Vabbu�!

Fortissimamente cad!
UIC's form
Home page:  www.andreageddon.8m.com
E-mail: [email protected]
IRC chan:   #crack-it  /  #crack-it2
UIC's form

Difficolt�

(X)NewBies ( )Intermedio ( )Avanzato ( )Master

 

Allora, veramente l'idea era di trovarmi un codice di licenza giusto, ma per adesso mi limito al cracking, visto che arrivano gli esami e io devo studiare taaaanto...


PCad 2000
Triple Cracking!
Written by AndreaGeddon

Introduzione

Un CAD per layout di circuiti. Progettazione, calcoli e sbroglio. Fichissimo.

Tools usati

SoftIce

Il solito editor hexa

URL o FTP del programma

nada

Notizie sul programma 

Quando lo installi ti chiede 3 licenze, una per ogni parte del prog, ma non le controlla. Quando esegui il programma, poi, ti appare la nag "license invalid!". Togliamo questo puerile controllo.

Essay

I tre programmi sono: PCad, Schematics e InterPlace. Ognuno di questi vuole la sua licenza. Io avevo solo la licenza del PCad, ma l'ho inserita sbagliata, e nessuno dei tre proggy andava. Oki, iniziamo.

PARTE PRIMA: PCB.EXE

Iniziamo col PCB: tanto le routine sono praticamente identiche. Cosa abbiamo? Una nag che non ci fa partire il prog. E' naturale che settiamo un bel bpx su messageboxa. Lanciamo il prog, e il sice poppa qui:

(parentesi: vado a disassemblare e... 5.6 mega???? doh! Lo lascio a disasm e esco... un se p� fa uss�!)

 

0087616D      call    dword ptr [008C9760|    call messageboxa

 

oki, risalite di qualche riga, e vedrete che � impossibile evitare questa chiamata. Evidentemente il problema � da risolovere pi� a monte. Steppiamo oltre questa call, fino ad arrivare alla linea  0087619F dove c'� un bel RET 000C. Ritorniamo dove? Alla linea 008761D1. Vediamo se si pu� saltare questa call. Si, poco pi� su c'� un je (a 008761AF) che dobbiamo noppare. Oki, risparate il sice, settate un break sulla linea del jump, e quando ci arrivate noppatelo. Che succede? Il prog continua ed incappa in un altra call

008761BE      call       dword ptr [edx+0000008C|

che ci rispara la nag. Abbocato! Stupido tranello. Ma se pensano di fregarci cos�, si sbagliano, giusto? Ah, potete provare a noppare le call, ma i risultati non saranno molto convincenti. Allora, pare che ancora non ci sia modo di evitare questa benedetta nag. Allora facciamo appello al Salmone Supremo e continuiamo a risalire (hihi! Que, ogni volta che alla uic compare il salmone, mi devi devolvere una percentuale come copyleft!). Se lo fate da wdasm avete la lista delle linee che chiamano la nag: sono solo 28! Allora riandiamo in sice, breakiamo su008761AF, mi raccomando, adesso non noppate il jump, continuate a steppare fino a che arrivate a

008761D7   RET 000C

dove retorniamo? Alla linea 00551FD7. Qui che si pu� fare? Risaliamo alla ricerca del jump perduto, e ne troviamo uno con la faccia da innocente proprio alla linea:

00551FB5   je     00551FF3

che ci fa saltare la call alla nag! Bene, torniamo in sice, settiamo il break su 00551FB5, invertiamo la flag (cos� adesso saltiamo) e... tadaaaa! NO! Cacchio! Ancora nag?? Per tutti i salmoni lessi! Ma che succede? Torniamo in sice, stesso break di poco fa, saltiamo al JE, e steppiamo per vedere cosa succede dopo... doh! Incappiamo nella riga

00552017    jnz    00552055

che non salta, e ci fa capitare sulla

00522039    call     008761A2

che ci spara la nag, allora bypassiamo il primo jump, arriviamo a questo, lo invertiamo... e stavolta parte il programma. Quindi i responsabili sono solo i due jumpetti che vanno EBbati (se esiste noppare esiste anche ebbare!!). Bene, fatto questo avete praticamente risolto anche gli altri due: infatti i programmatori non si sono degnati di cambiare una virgola. Ma vediamoli rapidamente...

PARTE SECONDA: SCH.EXE

Siccome la cosa � sempre uguale sar� breve: iniziate col bpx messageboxa. Popperete alla linea 006EEDB8. Da qui steppate fino al ret, che vi riporter� alla linea 006EEE09. Anche qui non si scappa, e bisogna RETornare di nuovo, alla linea 00471B72. Da qui vediamo poco pi� sopra alla linea 00471B52 un bel JE che dovr� diventare JUMP. Proseguendo si arriver� al secondo controllo, alla linea 00471BA1 jnz, che pure deve diventare JUMP. Il prossimo...

PARTE TERZA: DCM.EXE

Di nuovo si parte da messageboxa, ci ritroveremo alla linea 007B37AD. Steppate fuori e tornerete a 007B37FE. Anche qui steppate fuori ancora e vi ritroverete a 004443F4. Poco pi� su, alla linea 004443D7 c'� il JE da ebbare, e poi proseguendo da qui si arriva a 00444439, altro JNZ da ebbare. E pure questo � fatto.

Il tempo di cracking di questo/i prog � dovuto solo al tempo di disassemblaggio (molto).

Mah, sono un p� deluso, probabilmente cercher� di trovarmi un codice giusto per farlo partire.

AndreaGeddon

                                                                                         Note finali

Un saluto a tutta la ML, a cod, al bieco, ded, weisses, e chi altro. Tutti tranne syscalo che mi deoppava!!

Disclaimer

Queste informazioni sono solo a scopo puramente didattico (eh gi�..).
 

UIC's page of reverse engineering, scegli dove andare:
Home   Anonimato   Assembly    CrackMe   ContactMe   Forum   Iscrizione
Lezioni    Links   Linux   NewBies   News   Playstation
Tools   Tutorial   Search   UIC Faq
UIC