A:link { TEXT-DECORATION: underline } A:visited { TEXT-DECORATION: underline } A:active { COLOR: red; TEXT-DECORATION: underline } A:hover { COLOR: #8080ff; TEXT-DECORATION: underline }

ScreenHunter 2.2

Data

by Spider

 

Luglio 2001

UIC's Home Page

Published by Quequero


Crackare un prog è una sfida con noi stessi...

Qualche mio eventuale commento sul tutorial :)))

...Vinciamola!!!

....

E-mail: spider_xx87@hotmail.com
 
irc.azzurra.it #crack-it

....

Difficoltà

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

 

Mi sembra stupido scrivere un tute su come crackare un prog così facile. Comunque penso che possa essere utile ai newbies assoluti.
Il tutorial è breve, ma per una protezione così idiota non è necessario scrivere un romanzo!


ScreenHunter 2.2
Written by Spider

Introduzione

Il programma permette di prelevare un'immagine dallo schermo e salvarla. L'immagine può avere varie forme (rettangolare, ellittica, ecc.)

Il programma presenta all'avvio un noioso nag-screen che ci chiede il codice. In questo tutorial vedremo come sopprimerlo.
Da qualche parte c'era scritto anche che dopo 30 giorni si deve buttare, ma io ho portato la data al 31 dicembre 2099 e va lo stesso che è una meraviglia.

Tools usati

Tools usati:
- SoftICE
- Hex Workshop 3.11 o un altro Editor Esadecimale
- Un Editor di risorse (facoltativo)

URL o FTP del programma


L'ho scaricato dal sito http://www.download.com, quindi cercatelo lì.

Notizie sul programma

 

Il programma permette di prelevare un'immagine dallo schermo e salvarla. L'immagine può avere varie forme (rettangolare, ellettica, ecc.) <==== sì, è proprio uguale a prima!

Essay

Se dovete crakkare il prog seguendo questo tute, vi consiglio di stamparlo, sennò vi viene male a seguirlo.

Bene, incominciamo. Aprite il Symbol Loader del SoftICE e caricate ScreenHunter.exe. Avviamo il programma e subito il Sice poppa. Cominciamo a premere F10 e vediamo come non succede nulla fino all'indirizzo :004469D8, dove troviamo l'istruzione call xxxx:004552E7; premiamo F10 e il sice esce e poppa solo appena chiudiamo il programma. Settiamo un bp sulla call e riavviamo il prog. Il Sice poppa di nuovo all'indirizzo xxxx:004469D8 e questa volta, invece di passare avanti, entriamo nella call premendo F8. Riprendiamo a premere F10 e subito, all'indirizzo xxxx:00455237, troviamo un'altra call, seguita da un ret. Se c'è il ret vuol dire che torniamo al punto di prima, e dunque la call deve essere quella che esegue tutto il programma. Entriamo nella call con F8. Qui troviamo subito un'altra serie di istruzioni e call varie. All'indirizzo :0045F34B troviamo l'istruzione call [eax+50]. La eseguiamo con F10. Il SoftICE esce e poppa subito dopo la chiusura del nag-screen. Premiamo F4: il programma ha già fatto apparire la finestra principale, quindi non possiamo far saltare la call perchè creeremmo sicuramente problemi al programma. Dunque dobbiamo entrare anche in questa call. Eliminiamo il precedente bp con il comando bc* e settiamo un bp sulla call. Riavviamo e vediamo il nostro fedele SoftICE poppare alla riga del breakpoint. Premiamo F8 per entrare nella call e arriviamo all'indirizzo :004255C0. Qui niente di sospetto, dunque premiamo F10 fino all'istruzione :0042571E, dove troviamo una call seguita da tanti push ebx. Eseguiamo la call con F10 e vediamo che SoftICE esce e ripoppa solo alla chiusura del nag. Bene bene, osserviamo il codice prima e dopo la Call:

:00425715 add esp, 00000004
:00425718 cmp eax, ebx
;confronta eax e ebx
:0042571A jne 00425723
;se sono diversi salta a 00425723 (dopo la call!!!)
:0042571C mov ecx, edi
:0042571E call 00425960
;visualizza il nag
:00425723 push ebx
:00425724 push ebx
:00425725 push ebx
:00425726 push ebx

Non ci vuole molto a capire come fregare il programma... Abbiamo diverse possibilità: possiamo noppare la call, o trasformare il jne in jmp, ecc. La soluzione migliore, secondo me, è la seconda. Eliminiamo i bp precedenti (bc*) e settiamo un bel bp nella riga del jne. Riavviamo il programma (e poi basta che sarete già stanchi...) e non appena il Sice poppa alla riga 0042571A, scriviamo il comando "a", cioè Assemble code, e scriviamo:

xxxx:0042571A jmp 00425723
xxxx:0042571C
 
Cioè gli diciamo di saltare sempre, e, all'indirizzo :0042571C, premiamo invio senza scrivere niente.

Premiamo F5 per vedere com'è andata e... Funziona! Il nag-screen non compare e il prog passa direttamente alla main window!


Un'altra cosa: anche se il nag non c'è più, nella finestra principale, accanto ai pulsanti, c'è la scritta "Unregistered, unlicensed copy".
Se volete, è possibile sostituire la scritta con qualunque cosa che vi piace. Prendete un resource editor, come Resource Hacker o Borland Resource Workshop o quello che volete. Nella "String Table" cercate la stringa "Unregistered, unlicensed copy" e modificatela con ciò che preferite (es. : "Copy registered to Spider").
 
.·'·.·'·.·'·.·'·····>Spider

Note finali

Ed eccoci giunti alla fine del tutorial. Saluto Quequero, AndreaGeddon, Yado, TheMR, Bubbo e tutti gli altri della UIC.


Byeeeeeeeeeeeeeeeeeeeeeezzzz!!!!!!!
Spider

Disclaimer

Vorrei ricordare che il software va comprato e  non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.

Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.


Home

<!-- DIV 728x90 IAM --> <div id="ad72890bottom" align="center"></div> <!-- START Digilander F --> <SCRIPT LANGUAGE="Javascript"> <!-- if ( typeof(bsl1_boot) != 'undefined' ) { setTimeout("bsl1_boot()",100); } var rs_DLR=1; var rs_DLRERR=0; //--> </SCRIPT> <SCRIPT LANGUAGE="Javascript" SRC="http://digilander.libero.it/_ad/digi_ad_13.js"> </SCRIPT> <!-- Begin Nielsen DCR SDK --> <script> if(window.location === window.parent.location){ // Static Queue Snippet ! function(t, n) { t[n] = t[n] || { nlsQ: function(e, o, c, r, s, i) { return s = t.document, r = s.createElement("script"), r.async = 1, r.src = ("http:" === t.location.protocol ? "http:" : "https:") + "//cdn-gl.imrworldwide.com/conf/" + e + ".js#name=" + o + "&ns=" + n, i = s.getElementsByTagName("script")[0], i.parentNode.insertBefore(r, i), t[n][o] = t[n][o] || { g: c || {}, ggPM: function(e, c, r, s, i) { (t[n][o].q = t[n][o].q || []).push([e, c, r, s, i]) } }, t[n][o]}}} (window, "NOLBUNDLE"); // SDK Initialization var nSdkInstance = NOLBUNDLE.nlsQ("P1504C48C-9D0B-4ADE-B7CD-04AF56A52362", "nlsnInstance"); // Content Metadata var nielsenMetadata = { type: 'static', assetid: ( location.hostname + location.pathname + location.search ).replace( /([^\w]|_)+/g, '-' ).replace( /^-+|-+$/g, '' ) || 'homepage', section: 'LiberoCommunity_BRW' }; // Event 'staticstart' Call nSdkInstance.ggPM("staticstart", nielsenMetadata); } </script> <!-- End Nielsen DCR SDK --> <!-- Libero COMSCORE start - Version 1.53 --> <script type="text/javascript"> if ( rs_DLRERR == 1 ) { var libero_comscore_error = 404; } </script> <script type="text/javascript"> document.write(unescape("%3Cscript src='" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js'%3E%3C/script%3E")); </script> <script type="text/javascript"> if (rs_DLR) { document.write(unescape("%3Cscript id='libero_tracking_js_site' src='http://digistatic.libero.it/js/comscore_8_3_04/comscore_digilander.libero.it.js'%3E%3C/script%3E")); document.write(unescape("%3Cscript id='libero_tracking_js_site' src='http://digistatic.libero.it/js/comscore_8_3_04/comscore_engine.js'%3E%3C/script%3E")); } </script> <noscript> <img src="http://b.scorecardresearch.com/p?c1=2&amp;c2=13259779&amp;cj=1&amp;name=libero.others&amp;ns_site=libero" /> </noscript> <!-- Libero COMSCORE end --> <!-- IOL Analytics --> <script src="//i.plug.it/iplug/js/lib/iol/analytics/data/digilander-libero-it/tracking_digilander-libero-it.min.js"></script> <script src="//i.plug.it/iplug/js/lib/iol/analytics/engine/IOL.Analytics.Tracking.min.js"></script> <script type="text/javascript"> var iat = new IOL.Analytics.Tracking.Engine(); iat.send(); </script> <noscript><img src="//italiaonline01.wt-eu02.net/215973748390194/wt.pl?p=315,libero.web.share.digiland.siti.digilander&amp;cg1=libero&amp;cg2=web&amp;cg3=share&amp;cg4=digiland&amp;cg5=siti&amp;cg6=digilander&amp;cg7=libero.web.share.digiland.siti.digilander" height="1" width="1" alt=""></noscript> <!-- /IOL Analytics --> <!-- BEGIN Global site tag (gtag.js) - Google Analytics 4 --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-9K5Y6YYGV4"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-9K5Y6YYGV4'); </script> <!-- END Global site tag (gtag.js) - Google Analytics 4 --> <div id="adinterstitial"></div> </body> </html>