/------------------------------HellSpawn 2K1-----------------------\ | Author: KahnAbyss | | Target: Puzzler 2.05 | | Tools: W32dasm 8.93 | | Hiew 6.04 | | Crack Type: Patch | | Level: Newbie | \-----------------------------------------------------------------------------/ This software can be found at: www.mud.ca/Puzzler/puzzler.html ok since its my first tutorial I hope you gonna understand it:) Part 1A: Patching Puzzler with Hiew ============================= Step 1: Run Puzzler 2.05 and press "O" then select any puzzle except the XCube When you try to play you gonna have an error message. "You must register to play this puzzle...." Step 2: Make a backup of the file puzzler.exe to ori.exe then open ori.exe with W32Dasm Step 3: Go to "String Data Reference" and search for the error message Step 4: Move up until you see a cmp or test operation with a call just before it you should land there: :004237CC E89F0B0000 call 00424370 <--- Serial verification routine :004237D1 85C0 test eax, eax <--- Test if serial is ok :004237D3 7523 jne 004237F8 <--- Jump if serial is not good so it here we gonna patch :004237D5 6A04 push 00000004 * Possible StringData Ref from Data Obj ->"Register" :004237D7 6804344300 push 00433404 * Possible StringData Ref from Data Obj ->"You must register to play this " ->"puzzle. Would you like to switch " ->"to the free test puzzle?" Step 5: Get the offset of the line :004237D3 7523 jne 004237F8 At the bottom of the screen you should see something like @Offset 000237D3h Step 6: Open the file puzzler.exe with Hiew press F4 and select Decode Mode Press F5 and enter offset 237D3 Press F3 to edit it then change 75 --> jne for 74 --> je Press F9 to update the change then F10 to exit Step 7: Restart puzzler and try any puzzle you want... Surprise !!! it works:) Part 1B: Puzzler 2.0x crack source (Visual Basic) ======================================= Well now I gonna give your the source code in VB to make the patch Just make a form with a button called Command1 and you are ready to go:) This is a multi version crack to have other offset do the same thing with previsious version of Puzzler so its handle version 2.03/2.05/2.05 Fixed Private Sub Command1_Click() If Dir(App.Path & "\puzzler.exe") <> "" Then 'Verify if its in good directory Open App.Path & "\Puzzler.exe" _ For Binary As #1 'Open file Select Case LOF(1) 'Select Offset for good version Case 331776 'Version 2.03 Position = &H229C3 + 1 Version = " 2.03 " Case 335872 'Version 2.05 Position = &H237D3 + 1 Version = " 2.05 " Case 397312 'Version 2.05 + Fix Position = &H23E83 + 1 Version = " 2.05 Fixed " Case Else 'Not a valid version MsgBox "Wrong File Size", vbOKOnly, _ "Puzzler Crack" Close #1 Exit Sub End Select Seek #1, Position 'Get good Offset Input #1, OffSetChk If Asc(Left(OffSetChk, 1)) <> &H75 Then 'Verify Offset MsgBox "Crc Error", vbOKOnly, "Puzzler Crack" Exit Sub Else Put #1, Position, &H74 'Patch 1st Offset Put #1, Position + 1, &H23 'Patch 2nd Offset MsgBox "Puzzler" & Version & "Successfully Cracked!", _ vbOKOnly, "Puzzler Crack" End If Close #1 Else MsgBox "The Crack Must Be In The Puzzler Directory", _ vbOKOnly, "Puzzler Crack" Exit Sub End If End Sub