|
||
2000 |
|
2000 |
|
||
About mIRC This program is a chat, and is very good!! I often use
it, but... something doesn't work: |
||
In the cold of the night, in the warmth of the breeze, |
||
|
|
|
GRANDEM MALIGNITATEM COGNOSCENDO |
Introduction |
Cracking this program, I've learned something that I'll explain during the essay, but I want
to say that for me it was an hard work. While I was doing this keygen, I was thinking that it
should be an hard work for all the newbies, but I was wrong: I discovered that for someone
it's impossible to do in a week of cracking activity. Anyway I did it, and I want you to be
happy like me: nothing is impossible, there is only an hard work to do. So follow me in this
essay and be ready to learn a lot from this hard battle.
Let me tell you that [...] means that I haven't copyed that part of code, because it was
useless.
Required Tools |
- Soft Ice (You can find it on http://www.crackstore.com/)
Program's URL |
http://www.mirc.co.uk/
The Essay |
Step over the call and the test (with F10), and when you are on the jump, switch the zero
flag off (the zero flag activated is represented by the Z in capital letter, so you must put
the cursor on the Z and press Ins to switch it off).
Press F5 and your registration will be accepted. Easily, isn't it? Nope. You can see that on
the Help menu there isn't the Registration submenu anymore, but when u close and load again
mIRC it will tell you that you have an unlicensed version. That's because on every mIRC start
it checks the registration number. There are now two solutions: the first is to leave PC on
for all the day, but I don't think that your parents will be happy of this; the second one is
to make a Keygen. I prefer the last one.
So: go back on CS:004A33B2, and this time step into the call (with F8). When I was at this
point, I've started checking every single routine, and I will tell you the addresses of the
most important (the ones that can teach you something), while I'll rewrite the ones that are
needed for the keygen. Where we were? Oh, yeah. Press some times F10 until you'll fly here:
Something was telling me that that call should give me the right serial number. To check the
addresses you can write d 005425DC, or right click on the address and click on display. Step
into the call and go ahead until you can see this:
Now we must look at the address 004A2F29. WHAT'S THAT??? I've taken some hour to understand
what it was: is an array, an array of DWORDS. The multiplication is between the ascii char
and the EAX value of the array. It takes the first ascii code, it multiplicates for Array[0],
then takes the second ascii code and it multiplicates for Array[1]. The sum of this
multiplications is stored in EBX. So at the address 004A2F42, in EBX is contained the right
first part of our registration number. You can see the array values in the VB keygen that I
have done for you.
What does this routine? Takes a char (starting from the fourth) and his precedent,
multiplicates them ascii codes, and then multiplicates the result with a value of the array.
And oviously stores the final results in EBX, so standing on 004A2F82, we can wee the last
part of our registration number, that is 363D2h (222162). |
The VB Keygen |
Private Sub ShowKey() 'Text1.Text = Username | Min 4 chars | Static Already As Boolean, MyTable(&H26) If Already = False Then MyTable(0) = 11: MyTable(1) = 6: MyTable(2) = 17: MyTable(3) = 12 MyTable(4) = 12: MyTable(5) = 14: MyTable(6) = 5: MyTable(7) = 12 MyTable(8) = 16: MyTable(9) = 10: MyTable(10) = 11: MyTable(11) = 6 MyTable(12) = 14: MyTable(13) = 14: MyTable(14) = 4: MyTable(15) = 11 MyTable(16) = 6: MyTable(17) = 14: MyTable(18) = 14: MyTable(19) = 4 MyTable(20) = 11: MyTable(21) = 9: MyTable(22) = 12: MyTable(23) = 11 MyTable(24) = 10: MyTable(25) = 8: MyTable(26) = 10: MyTable(27) = 10 MyTable(28) = 16: MyTable(29) = 8: MyTable(30) = 4: MyTable(31) = 6 MyTable(32) = 10: MyTable(33) = 12: MyTable(34) = 16: MyTable(35) = 8 MyTable(36) = 10: MyTable(37) = 4: MyTable(38) = 16 End If If Len(Text1.Text) < 4 Then Text2.Text = "": Exit Sub CL = 0 For C = 4 To Len(Text1.Text) Valore = Asc(Mid$(Text1.Text, C, 1)) * MyTable(CL) FirstPart = FirstPart + Valore CL = CL + 1 If CL > &H26 Then CL = 0 Next CL = 0: Valore = 0 For C = 4 To Len(Text1.Text) Valore = Asc(Mid$(Text1.Text, C - 1, 1)) * Asc(Mid$(Text1.Text, C, 1)) SecondPart = SecondPart + Valore * MyTable(CL) CL = CL + 1 If CL > &H26 Then CL = 0 Next Text2.Text = LTrim$(Str$(FirstPart)) + "-" + LTrim$(Str$(SecondPart)) End Sub Private Sub Text1_Change() ShowKey End Sub
Final Notes |
So we have finally did the Keygen. I'm hoping that you have learned something more, because
is what I did: I've learned a lot cracking this program. If you like this tutorial contact
me, because I want to know if my tutorials are read and if it's a real help for newbies like
me (I've started my cracking activity from two weeks) ;)
Oh, that's something funny: open the About dialog box and then write "ARNIE", doesn't matter
if in small or capital letters. The author will change himself in a sweet sweet peluche.
PEACE ON EARTH