Temp chính là giá trị tính từ chuỗi Name đoạn code đầu tiên đóa - Điềm khác nhau thứ hai là ở dạng UnEncrypted không có hai dòng code này : Code: Temp1 = Temp1 & 0x7F Temp1 = Temp1 ^ Key
Trang 1- Tuy nhiên gút lại thì cách xác định chuỗi MagicString gồm 10 chars đều như nhau Giả sử game có Table gồm 100 String thì chuỗi MagicString cần lấy là chuỗi thứ N sao cho N = Temp % 100 Temp chính là giá trị tính từ chuỗi Name (đoạn code đầu tiên đóa)
- Điềm khác nhau thứ hai là ở dạng UnEncrypted không có hai dòng code này : Code:
Temp1 = Temp1 & 0x7F
Temp1 = Temp1 ^ Key
Trong đó Key ở đây có thể coi là chìa khóa để giải mã cho dạng Encrypted Vì chuỗi MagicString ở dạng Encrypted bị mã hóa Cả hai đoạn code chỉ khác nhau đúng hai dòng này, còn quá trình lấy và tính là same same
Zombie(REA)
Iolo Keygen Bundled Tutorials
Quote:
Software: Iolo's Productions
Quote:
System Mechanic: Keep your PC running faster, cleaner, and error-free with
System Mechanic
Search and Recover: Recover deleted files, email, and more from any digital
media, instantly!
System Shield: Fight identity theft and protect your personal data with System
Shield
DriveScrubber: Securely wipe all information on your harddrive with
DriveScrubber
Macro Magic: Eliminate those time wasting tasks on your PC with Macro
Magic
Homepage:
Code:
Trang 2http://iolo.com/
Crack Type: Keygen Bundled
Cracker: Zombie
Ok Lâu nay mọi người thấy một số Release của Zom dưới dạng Bundled thì giờ đây là tut của Zom về Keygen Bundled này
Trước hết muốn code được Keygen Bundled thì phải:
- Keygen được hết các Softwares mình định cho vào Bundled :D Tất
nhiên Keygen từng em còn không xong thì seo Bundled
- Nắm rõ thuật toán sinh Serials của từng em
- Ở đây nếu Bundled có 2 loại (theo Zom là vậy):
+ Nhồi hết Function Keygen từng em một vào Bundled Trường hợp này khi các Softwares trog Bundled không có thuật toán tương tự nhau mà khác nhau hoàn toàn Hoặc do bạn chưa nắm rõ được cái giống & khác của từng thuật toán
+ Viết 1 Function chung cho hết toàn bộ Softwares, sử dụng Parameters linh động
Ở đây phải nắm thật rõ điểm khác & giống nhau thuật toán sinh Serials từng em
Để khi đó ta có thể gán Parameters ở những điểm khác Cụ thể Zom sẽ ví dụ ngay vào Iolo Productions này
Ok Giới thiệu sơ thế về Keygen Bundled Còn giờ đây bắt tay mần ăn nào
Keygen đầu tiên ta xử em: System Mechanic 6 (Standard)
I Check information:
PEiD: ASPack 2.12b -> Alexey Solodovnikov
II Unpack:
Code:
0155D001 > 90 NOP << Start Here
0155D002 60 PUSHAD
0155D003 E8 03000000 CALL SysMech6.0155D00B <<< Trace here
0155D008 - E9 EB045D45 JMP 46B2D4F8
0155D00D 55 PUSH EBP
0155D00E C3 RET
Sau khi Trace đến
Code:
Trang 30155D003 E8 03000000 CALL SysMech6.0155D00B
nhìn sang cửa sổ Register sẽ thấy giá trị ESP Right-Click Chọn Follow in Dump
Cửa sổ giá Memory dưới cùng giờ sẽ nhảy tới địa chỉ có giá trị tương ứng ESP Chọn 4 Bytes rồi Right-Click - Breakpoint - Hardware, on access - DWORD F9 Run tiếp
Code:
0155D3B1 /75 08 JNZ SHORT SysMech6.0155D3BB << Paused
0155D3B3 |B8 01000000 MOV EAX, 1
0155D3B8 |C2 0C00 RET 0C
0155D3BB \68 3891A900 PUSH SysMech6.00A99138
0155D3C0 C3 RET
Tracd đến hết Return sẽ nhảy về OEP ở
Code:
00A99138 55 PUSH EBP <<< OEP
00A99139 8BEC MOV EBP, ESP
00A9913B 83C4 F0 ADD ESP, -10
00A9913E B8 A879A900 MOV EAX, SysMech6.00A979A8
Ngay ở đây load LordPE lên, chọn Process và Dump Full
Tiếp đó là ImportREC, OEP = 00A99138 - 400000
RVA, RVA Size thì dùng IAT Auto Search để lấy Sau đó Get Imports & Fix dump file Dumped
II Find Death Point
- OK Giờ coi như done Load file đã unpacked lên
Òh mà xin nói trước Đến tận ver 6 này Iolo vẫn còn chơi trò GetWindowTextA để tìm các Windows có text dính dáng đến Keygen :D Nếu tìm thấy sẽ cho Restart lại Windows Nên khi mần em này vui lòng đóng mọi thứ có dính dáng chữ
"Keygen" Thậm chí chữ Keygen nằm trong chuỗi Path của Total Comamnder hay bất cứ gì cũng teo ( em bị roài :D )
- F9 run & Shift F9 để nhảy qua một số Exception Ta load được SM 6 lên
Trang 4* Nếu bạn đã vài lần thử Crack & viết keygen cho em này sẽ nhận thấy nó anti bằng một biện pháp khá ngộ Check WindowText xem có Windows nào có Text =
"Keygen" hoặc những từ nhạy cảm thì sẽ Force Restart lại Windows Do đó để
"an toàn" mà mần ăn ta phải luộc cái Anti này đã
Breakpoints lên 2 hàm API: ExitWindowsEx và để đề phòng khi nó Restart ta biết đường mà Patch nó wa :D
(lão nào rãnh thì có thể Breakpoints lên GetWindowTextA để trace dần đến đoạn check & Restart mà Patch thẳng luôn cho gọn.)
OK Sau khi Enter ta có Nag Screen hiện lên Keep it n return Olly
Trace bên cửa sổ Stack ta có:
Code:
0012E980 |0044B6B2 RETURN to dumped_.0044B6B2
0012E984 |0012E9D0 Pointer to next SEH record
0012E988 |0044B6CB SE handler
0012E98C |0012E9A0
0012E990 |02E37074 ASCII "H©D"
0012E994 |0000000C
0012E998 |02000498
0012E99C |008C8810 ASCII "The licensing information you have entered is not recognized
In most cases this indicates that you have simply typed the information incorrectly
Please verify that you are entering this information exactly as it appears on your order"
0012E9A0 ]0012E9C4
0012E9A4 |0044B5D9 RETURN to dumped_.0044B5D9 from
dumped_.0044B624
Mò mẫm tìm về từ địa chỉ gần nhất:
Code:
0044B624
Breakpoint lên & Enter OK trên Nag Screen
OK Lần này ta được Paused ở breakpoints này Trace xuống hết Return cuối cùng Code:
Trang 50044B6D2 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-C]
0044B6D5 8BE5 MOV ESP, EBP
0044B6D7 5D POP EBP
0044B6D8 C2 1000 RET 10
để về lại được :
Code:
0044B5DF | 8BE5 MOV ESP, EBP
0044B5E1 | 5D POP EBP
0044B5E2 \ C2 0400 RET 4
Cũng lại tiếp tục trace về Return luôn
Code:
008C8351 |> \6A 00 PUSH 0 ; /Arg1 = 00000000
008C8353 | 66:8B0D A4838>MOV CX, WORD PTR DS:[8C83A4] ; | 008C835A | B2 02 MOV DL, 2 ; |
008C835C | B8 10888C00 MOV EAX, dumped_.008C8810 ; |ASCII
"The licensing information you have entered is not recognized
In most cases this indicates that you have simply typed the information incorrectly
Please verify that you are entering this information exactly as it appears on your order"
008C8361 | E8 4A32B8FF CALL dumped_.0044B5B0 ;
\dumped_.0044B5B0
008C8366 |> 33C0 XOR EAX, EAX
Tới được khu vực nhạy cảm roài :D Giờ là trace tiếp đoạn Jump Condition khi Check Serials Tiếp tục trace về Return luôn
Code:
008C8D56 E8 09ACF0FF CALL dumped_.007D3964
008C8D5B 84C0 TEST AL, AL
008C8D5D 74 0C JE SHORT dumped_.008C8D6B
008C8D5F 8B55 FC MOV EDX, DWORD PTR SS:[EBP-4]
008C8D62 8BC3 MOV EAX, EBX
Trang 6008C8D69 EB 09 JMP SHORT dumped_.008C8D74 008C8D6B > 33D2 XOR EDX, EDX
008C8D6D 8BC3 MOV EAX, EBX
008C8D6F E8 DCF3FFFF CALL dumped_.008C8150
008C8D74 > 33C0 XOR EAX, EAX << Về lại được ở đây Hey Giờ để ý hén Trước khi gọi hàm