Finish Chúc bạn đọc mau mắn Toolcracking Check Registry Key – How to break it !!! Chào các pác, với 1 số soft việc đăng ký sẽ được kiểm tra thông qua việc kết nối với registry và kiểm tra 1 số key nào đó, qua bài viết này em xin trình bày 1 phương pháp đơn giản để thịt soft loại này thông qua việc reserve 1 crackme. Let get the party started !!! Target: DaXXoR #8 (you can find it in my zip) Tool: Olly, PEiD, ASPackDie, Windows Calulator Protect: Check regkey Pack: AsSpack 2.12 Level: Beginner Cracker: haule_nth 1- Unpack: Dùng PEiD ta biết nó pack = ASPack 2.12 OK cứ xài ASPackDie để unpack (không thì cứ MUP thằng này unpack dễ như ăn cháo ý mà) ta có được file unpacked.exe 2- Keyfile it: Bước thăm dò bắt đầu Mở file lên nhấn "I Have Valid Key", bùm nó nhảy ra cái nag “chửi” ta liền "Invalid key, try again" Bước tìm hiểu đã xong, không sao cứ từ từ ông sẽ thịt mày con ạ Load nó vào Olly -> Search for -> All references text strings -> ta thấy ngay 1 chuỗi lạ là: "SOFTWARE\RetardC\Serial" thử vào registry xem thấy trong HKEY_LOCAL_MACHINE có cái sub này, nhìn bên fải ta thấy 1 key tên là "SERIAL" có giá trị là zero. Quá trình kiểm tra này thông thường các pác xài cái tool có tên là RegMon thì chính xác hơn nhiều, cái này thì em chỉ ăn may thui nhá. OK vậy chúng ta có thể hiểu được quá trình check key của crackme như sau: Đầu tiên crackme sẽ kiểm tra giá trị của cái key này trong registry và nếu không đúng với giá trị nó cần thì nó sẽ chửi ta liền. OK, chúng ta bắt tay vào thịt nó nào: Cũng trong bảng String ta tìm chuỗi chúc mừng xem nào: "YOU DID IT, GREAT CRACKER" Ta sẽ đến đây: 00401B51 > \8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 00401B54 . E8 B72B0200 CALL unpacked.00424710 00401B59 . 8945 B8 MOV DWORD PTR SS:[EBP-48],EAX 00401B5C . 8345 B8 05 ADD DWORD PTR SS:[EBP-48],5 < Cộng thêm 5 đơn vị vào chuỗi serial 00401B60 . 817D B8 3D350>CMP DWORD PTR SS:[EBP-48],0E353D < So sánh với serial của cương trình là 0E353D 00401B67 . 75 4C JNZ SHORT unpacked.00401BB5 00401B69 . A1 7C4D4800 MOV EAX,DWORD PTR DS:[484D7C] 00401B6E . 6A 00 PUSH 0 00401B70 . B9 E2B14700 MOV ECX,unpacked.0047B1E2 ; ASCII "REGISTERED!" 00401B75 . BA C8B14700 MOV EDX,unpacked.0047B1C8 ; ASCII "YOU DID IT, GREAT CRACKER" 00401B7A . 8B00 MOV EAX,DWORD PTR DS:[EAX] 00401B7C . E8 A7860700 CALL unpacked.0047A228 00401B81 . 66:C745 D0 5C>MOV WORD PTR SS:[EBP-30],5C 00401B87 . BA EEB14700 MOV EDX,unpacked.0047B1EE ; ASCII "Retard-o-Program (Registered)" 00401B8C . 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] Vậy là ta có thể tính ra serial thực sự rùi, vì quá trình kiểm tra sẽ cộng thêm 5 đơn vị vào chuỗi ser của ta rồi mới so sánh với ser của nó Cho nên ser thật sự mà crackme cần là cái ser trong memory của nó trừ đi 5, bật cái Calculator của win lên chuyển sang dạng Hex: E353D - 5 = E3538, nhưng chuỗi ser của crackme cần là ở dạng số thập phân chứ không fải là số Hex, từ Hex chuyển sang Decmical ta có chuỗi cần tìm là: 931128 Vào registry chỉnh lại giá trị của key SERIAL lại là 931128 Mở crackme check lại thử xem, tuyệt quá: "YOU DID IT, GREAT CRACKER" Thế là xong, bạn đã keyfile thành công DaXXoR Crackme #8 3-Kết thúc: Qua bài viết em đã trình bày 1 phương pháp đơn giản để pass loại soft dạng này, mong bài biết này giúp ích cho các pác. Cảm ơn. ThAnKs: All members of REAOnline Forum Thank to all people who take time to read my tut ===== haule_nth * See Ya ===== Target: UnPackMe_Armadillo3.70a.j.exe (included in file rar) Tool: Olly (edited by hacnho), ImportREC, LordPE, ArmInline, ArmTools, winhex. Tất cả các tool đều có thể down tại site www.tinicat.de/hacnho., ngoài ra trong site còn có loạt tut của Tomo, em chưa có điều kiện để đọc và thực hành nhưng chúng rất tổng quát, v à bao quát rộng, giải thích cặn kẽ. Xin lỗi các bác trước, tại tut em viết trong nhiều lúc nên ảnh chụp ko khớp với nhau. _Load target vô PEid: _Load target vô Olly: _Bản Armadillo này check bp tại 5 byte đầu tiên của mỗi hàm và chỉ check có 1 lần vì vậy ta Ctrl + G, WriteProcessMemory, đặt bp như hình vẽ: (hoặc có thể gõ lệnh bp WriteProcessMemory+5) _F9, olly break, xóa bp đó đi, gõ bp WaitForDebugEvent, F9, olly break : . 0E353D 00 401 B67 . 75 4C JNZ SHORT unpacked .00 401 BB5 00 401 B69 . A1 7C4D4 800 MOV EAX,DWORD PTR DS:[484D7C] 00 401 B6E . 6A 00 PUSH 0 00 401 B 70 . B9 E2B14 700 MOV ECX,unpacked .00 47B1E2 ; ASCII "REGISTERED!". 00 401 B75 . BA C8B14 700 MOV EDX,unpacked .00 47B1C8 ; ASCII "YOU DID IT, GREAT CRACKER& quot; 00 401 B7A . 8B 00 MOV EAX,DWORD PTR DS:[EAX] 00 401 B7C . E8 A78 607 00 CALL unpacked .00 47A228 00 401 B 81. GREAT CRACKER& quot; Ta sẽ đến đây: 00 401 B 51 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 00 401 B54 . E8 B72B0 200 CALL unpacked .00 424 7 10 00 401 B59 . 8945 B8 MOV DWORD PTR SS:[EBP-48],EAX 00 401 B5C