VB cracking: How to keygen Snowman32 v2.42 by ACiD BuRN [ECLiPSE / CiA]
hello all !
this is my 25th tutor , and i got some thanks for my previous tutors !!
thx all ppls who read my tuts and like them !!
well , let's start now !
Level : easy
protection : name / serial
where to get : http://www.abc-ware.de/
tools needed : Smart check 6 and VB to code the keygen
I)KEYGENING IT!
Ok , fire up your smart check and run the app with it!!
go in the register menu , and enter :
name : ACiD BuRN
City : heheh
serial: 112233
the programme say us : incorrect serial , blablabla !!
in smart check , you must see :
Mid$(String:"ACiD BuRN",Long1,VARIANT:Integer:1)
Asc(String:"A") returns Integer:65
Mid$(String:"ACiD BuRN",Long2,VARIANT:Integer:1)
Asc(String:"C") returns Integer:67
Mid$(String:"ACiD BuRN",Long3,VARIANT:Integer:1)
Asc(String:"i") returns Integer:105
......
this continue with all chars , but what the heck he is doing ??
In smart check , click on show all events, now u must see:
interesting !!!
lemme explain you , what he is doing !
Asc(String:"A") returns Integer:65 <== take the ascii value in decimal
__vbavaradd(VARIANT:empty,VARIANT:Integer:65) <== this add the ascii value to the last one
__vbavarsub(VARIANT:65,VARIANT:Integer:1) <== this substract the result of the addition with 1
__vbavarmov(VARIANT:64,VARIANT:Empty) <== mov the result for using it later..
so , we see what it is doing!
it take the ascii value of the current place of the loop, and add it to the last ascii result
(here it is 0 "empty")
then it substract one value (here it is 1)
and then move the result somewhere to use it later!!
let's look the next char : C , we see :
Asc(String:"C") returns Integer:67 <== take the ascii value in decimal
__vbavaradd(VARIANT:64,VARIANT:Integer:67) <== this add the ascii value to the last final
value (64 here)
__vbavarsub(VARIANT:131,VARIANT:Integer:2) <== this substract the result of the addition with
2 (2 = the current place of the char)
__vbavarmov(VARIANT:129,VARIANT:64) <== overwritte the last value with the new one..
.........
well , the prog does this for all chars of the name
for ACiD BuRN we found : 635
this value is found near the last letter of the name : "N" for ACiD BuRN :
Asc(String:"N") returns Integer:78 <== take the ascii value in decimal
__vbavaradd(VARIANT:566,VARIANT:Integer:78) <== this add the ascii value to the last one
__vbavarsub(VARIANT:644,VARIANT:Integer:9) <== Substract the value with the current posstion of
the name (N = 9th place of my name)
__vbavarmov(VARIANT:635,VARIANT:566) <== mov the result for using it later..
ok , now u see what i mean !!
now , scroll down in smart check and u see what the program is doing
with the City entered :
i entered "heheh" as serial :
Asc(String:"h") returns Integer:104 <== take the ascii value in decimal
__vbavaradd(VARIANT:empty,VARIANT:Integer:104) <== this add the ascii value to the last one
__vbavarsub(VARIANT:104,VARIANT:Integer:1) <== this substract the result of the addition with 1
__vbavarmov(VARIANT:103,VARIANT:Empty) <== mov the result for using it later..
ehe , this look familiar !! let's look the next char who must be : "e"
we see :
Asc(String:"h") returns Integer:104 <== take the ascii value in decimal
__vbavaradd(VARIANT:103,VARIANT:Integer:104) <== this add the ascii value to the last one
__vbavarsub(VARIANT:207,VARIANT:Integer:3) <== substract the value with the current posstion
of the City (here "h" of heheh ==> 3rd place)
__vbavarmov(VARIANT:204,VARIANT:103) <== mov the result for using it later..
ok , look the pic i added with this tut :
you see that the programme do the same loop with the City than with the name , except
it don't use all chars!!
exemple :
it takes one char , then skip the next char , take one char , then skip the next one ...
for heheh :
it takes : the first "h" , then skip the next char "e" , than take the next char "h" , then skip
the next char "e" , and take the next char "h".
hope u understand now !!
another example for: ACiD_BuRN it take : Ai_uN
now , i am sure u understand !!
the final value coming from the City is : 303
the final value coming from the name is : 685 (u remember!! i hope)
Now you see this in smart check :
__vbavarMul(VARIANT:635,VARIANT:Integer:303) <== multiply the value from the name with
the value from the City
__vbavarAdd(VARIANT:192405,VARIANT:Long:45) <== add the result with "45" but what is this
value ? where does it come from ??
lemme look something !! A brain is usefull , hehe
length of the name entered : 9 (length of ACiD BuRN = 9)
length of the city entered : 5 (length of heheh = 5)
9*5=45 !!!! wow we did it !!
so it add the result with the multiplication of the length of the name with the lentgh of the
city !
so : 192405 + 45 = 192450
long(192450)-->Double(192450)
hehe , good =)
scroll down and u see this :
Hex$(VARIANT:byRef Double:1.0069e+007)
if you click on this u see : 10068993 at the right of the smart check window
then u will see something looking like this :
__vbaVarTstNe(VARIANT:String:"112233",VARIANT:"99A401")....
heh , this look like a comparaison !!
i am sure if we enter : 99A401 as serial , it will be registered !!
but we want to code a keygen !!
we had 192450, and just under this we find : 10068993
Damn , where this shit comes from ??
Again , a little brain is usefull =)
10068993 - 192450 = 9876543
hehe , look like it add 9876543 to our result !!!
and then convert it to hexadecimal !
10068993 = 99A401 in hexa !!
BINGO !!! we succeed !!
Lemme , explain you quickly the algo !!
************************************************ALGO********************************************
1st : do the loop with all chars of the name
2nd : do the loop with some chars of the City
3rd : muliply their result to obtain on value
4th : add it with the result of the multiplication between the length of the name and the length
of the City..
5th : add this to 9876543
6th : convert the result in hexadecimal
7th : nothing much , the result in hexadecimal is the correct serial !!
********************************************END OF THE ALGO*************************************
2)KEYGEN SOURCE IN VB5:
like in all my tuts , i give u a working source of a keygen !!
i code it in VB coz it is easy to translate in another language!
i limited the length of the City to 26, coz i coded it quickly , and i didn't know how to
make it work using another way!!
sorry , but it works fine !!
------------------------------KEYGEN SOURCE IN VB5-----------------------------------------------
For i = 1 To Len(Text1.Text)
bignum = bignum + Asc(Mid$(Text1.Text, i, 1))
bignum = bignum - i
Next i
val1 = bignum
For x = 1 To Len(Text2.Text)
If x = 2 Then GoTo nah
If x = 4 Then GoTo nah
If x = 6 Then GoTo nah
If x = 8 Then GoTo nah
If x = 10 Then GoTo nah
If x = 12 Then GoTo nah
If x = 14 Then GoTo nah
If x = 16 Then GoTo nah
If x = 18 Then GoTo nah
If x = 20 Then GoTo nah
If x = 22 Then GoTo nah
If x = 24 Then GoTo nah
If x = 26 Then GoTo nah
bignum2 = bignum2 + Asc(Mid$(Text2.Text, x, 1))
bignum2 = bignum2 - x
nah:
Next x
val2 = bignum2
temp2 = val1 * val2
temp3 = Len(Text1.Text) * Len(Text2.Text)
temp3 = temp3 + temp2
temp3 = temp3 + 9876543
Text3.Text = Hex(temp3)
------------------------------END OF KEYGEN SOURCE IN VB5----------------------------------------
heh , i think the 26 max length for a City is enough !!
so , just do a new project in vb , put 3 text box :
1 for the name
1 for the city (set the max limit to 26)
1 for the serial
create a Button , double click on it , and copy past this source !!
run the keygen , and have Fun !!
3)Ending....
Well , this tut is finish , hope u understand all this piece of shit, but if you have a
comment or one question, mail me
you can found all my tuts at :
MAIL: ACiD_BuRN@nema.com
Web page URL: http://acidburn2000.cjb.net/
Enjoy!
Greetings to my groups : ECLiPSE / CiA / ODT
Also greetingz to: (no specific order)
R!SC, ^Inferno^, AB4DS, Cyber Blade, Klefz, , Volatility, TORN@DO, T4D
Jeff, [Virus], JaNe , Appbusta , Duelist , tKC , BuLLeT , Lucifer48 ,
MiZ , DnNuke , Bjanes , Skymarshall , afkayas , elmopio , SiFLyiNG ,
Fire Worx , Crackz , neural_en , WarezPup , _y , SiONIDE , SKORPIEN
Lazarus , Eternal_Bliss , Magic Raphoun , DEZM , Bisoux , Carpathia ,
K17 , theMc , noos , Xmen , TeeJi , JB007 , Arobas , T0AD ,ytc , Kwai_lo , Killer_3K....
if your name is not here sorry !!! too much ppls to greets !
ACiD BuRN [ECL/CiA]