1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 95 ppsx

6 513 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 122,12 KB

Nội dung

Xem tut html ở đây: http://vncracking.host.sk/huongdan/WinDriver_ver_2.02_hacnho_tut.htm Mở khóa phần mềm WinDriver Ghost 2.02 Phần mềm: WinDriver Ghost 2.02 Bảo vệ: Evalution Version/ Name Serial. Công cụ : PEiD 0.91,ProcDump 1.6 Final, Hiew 6.85 -SoftIce 4.0.5 (for Win98SE). - OllyDBG 1.09d Phương pháp crack: Manual unpack and find serial Mức độ: ()Dễ ()Vừa (x)Hơi khó ()Rất khó File cần crack: WinDrvGhost.exe Cracker: hacnho (hacnho_hva@yahoo.com) Website: http://www.hvaonline.net I. Giới thiệu Phần mềm WinDriver Ghost 2.02 là một phần mềm cho dùng để backup lại Driver cho các máy PC. Sẽ rất hữu dụng khi bạn không biết driver trong máy mình tên gì và nó sẽ cứu nguy cho bạn nếu lỡ tay làm mất cái đĩa driver. WinDriver Ghost provides you the easy and fast detection, backup and restore of the entire hardware device drivers currently on your system. With it, you can even find the latest drivers for your hardware and install them onto your computer. Just one or two mouse button clicks, you will have all your hardware devices extracted and backuped to any folder you want. When you reinstall or upgrade your system, you can restore them by clicking a button, after reboot once, all the drivers will be installed and will function well. Also you may choose to backup a certain driver or the entire drivers to an EXE automatic installer. If you have a hardware that is troublesome, just remove it with the software. It is especially useful to those who have lost his Driver Disk or Driver CD. WinDriver Ghost is able to clone the installation EXE package. Các bạn có thể tải WinDriver Ghost 2.02 từ trang http://www.zhangduo.com/ II. Bắt tay vào crack Như thường lệ, chúng ta dùng PEiD 0.91 để detect WinDriver Ghost 2.02. Kết quả cho biết: " UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo ". Okie, nó được pack bằng UPX. Hôm nay chúng ta sẽ không unpack bằng công cụ mà hacnho sẽ hướng dẫn các bạn tự unpack bằng tay. Sau đó chúng ta mới tiến hành mổ xẻ để tìm Reg Code 1. Unpacking UPX 1.24w. Đầu tiên các bạn dùng Procdump 1.6, chọn chức năng PE Editor để load file WinDrvGhost.exe. Vào nút Sections, click phải tại UPX 0 và chọn edit section. Bạn thấy rằng Sections characteristics sẽ là E0000080. Sửa lại là E0000020 (IMAGE_SCN_CNT_CODE). Nhấn OK, sau đó đóng Procdump lại. Dùng Symbol Loader của SoftIce để load WinDrvGhost.exe lên. Wow, SI popup tại đây Các bạn sẽ thấy tương tự như vầy: 005A6B80 > $ 60 PUSHAD < Push registers to stack! 005A6B81 . BE 00904F00 MOV ESI,WinDrvGh.004F9000 < Start! 005A6B86 . 8DBE 0080F0FF LEA EDI,DWORD PTR DS:[ESI+FFF08000] 005A6B8C . 57 PUSH EDI 005A6B8D . 83CD FF OR EBP,FFFFFFFF 005A6B90 . EB 10 JMP SHORT WinDrvGh.005A6BA2 Okie, bây giờ bạn sẽ nhấn F10 trace downward cho tới khi gặp những dòng tương tự như vầy: 005A6CCB . FF96 3C771A00 CALL DWORD PTR DS:[ESI+1A773C] 005A6CD1 . 09C0 OR EAX,EAX 005A6CD3 . 74 07 JE SHORT WinDrvGh.005A6CDC 005A6CD5 . 8903 MOV DWORD PTR DS:[EBX],EAX 005A6CD7 . 83C3 04 ADD EBX,4 005A6CDA .^EB E1 JMP SHORT WinDrvGh.005A6CBD 005A6CDC > FF96 40771A00 CALL DWORD PTR DS:[ESI+1A7740] 005A6CE2 > 61 POPAD < Đặt Breakpoint tại đây ( dùng trỏ chuột double click vào đây hay nhấn BPX 005A6CE2) 005A6CE3 E9 CC37F3FF JMP WinDrvGh.004DA4B4 < Nhảy tới Entry Point (EP) Khi bạn trace tới địa chỉ 005A6CE2, nhấn F7 để set breakpoint ở đây. Sau đó nhấn F5 2 lần cho SI btrace down tới địa chỉ 005A6CE3.Ta dừng lại đây đôi chút để phân tích. Dòng lệnh này sẽ jump tới Entry Point. Đây là Entry Point mà ta tìm được trong bộ nhớ. Rất quan trọng để unpack. Yêu cầu bạn lấy giấy ghi lại cái EP này: 004DA4B4. Bây giờ bạn lần lượt đánh vào các lệnh sau. Nhớ đánh chính xác nha! A EIP [ENTER] JMP EIP [ENTER] [Esc] BC * [F5] Sau đó đừng đóng cái WinDriver Ghost 2.02 đang mở. Open cái Procdump hay LordPE lên. Trong phần Tasklist. Các bạn chọn cái task C:\Program Files\WinDriver Ghost\WinDrvGhost.exe. Right click chọn Dump Full. Save lại với tên unpacked.exe. Wow, lúc này file đã có dung lượng 1.61MB lớn hơn file ban đầu (703KB). Nhưng chạy bây chừ là nó crash ngay! Bạn phải chỉnh lại OEP mới chạy được. Dùng kiến thức về PE Header. Ta sẽ dùng PE Editor của Procdump hay LordPE để chỉnh lại EP theo một công thức: Entry Point mới = Entry Point tìm được trong memory - Image Base ( thường thì là Image Base = 400000), Các bạn còn nhớ cái EP mà hacnho bảo ghi lại không? Okie, hãy lấy nó ra. Ta được gì nào? 004DA4B4 - 00400000 = 000DA4B4 Đây chính là OEP mới. Quá good! Bây giờ chúng ta mở Procdump, dùng chức năng PE Editor load WinDriver Ghost 2.02 lên! Trong phần Headers Info. Các bạn sẽ nhìn thấy dòng "Entry Point :". Bây giờ hãy xoá giá trị trong đó và thay bằng 000DA4B4. Bây giờ chạy lại WinDriver Ghost 2.02 xem sao! Nó đã được unpack 2. Reverse and Find a real Reg Code. Sau khi unpack thành công. Lại dùng PEiD 0.91 để detect complier. Oh Complies bằng Delphi7. Phần lớn các chương trình code bằng delphi không sử dụng các hàm API mà lại sử dụng VCL nên các breakpoint API là vô hiệu. Trong khi đó các chương trình complies bằng VC mặc dù có sử dụng MFC nhưng ta vẫn xài được các breakpoint API. Do đó dùng SI để crack là không nên. Mặc dù vẫn được (co thể đặt các breakpoint tại các hàm call). Chúng ta nên dùng OllyDBG để crack. Chương trình này reverse Delphi soft khá tốt Dùng OllyDBG load WinDriver Ghost lên! Tìm đến dòng thông báo mà bạn nhận được khi bạn nhập Name và Fake Reg Code. "Please make sure the registration code and the registration name are correct.". Double click vào dòng text string vừa tìm được để ra main 0049D5C4 . BA 64D84900 MOV EDX,unpacked.0049D864 ; ASCII "$%^" 0049D5C9 . E8 B675F6FF CALL unpacked.00404B84 0049D5CE . 6A 00 PUSH 0 0049D5D0 . 68 68D84900 PUSH unpacked.0049D868 ; ASCII "Invalid Registration Code" 0049D5D5 . 68 84D84900 PUSH unpacked.0049D884 ; ASCII "Please make sure the registration code and the registration name are correct." Dịch chuyển vệt sáng lên trên một chút. 0049D154 /$ 55 PUSH EBP < Đặt breakpoint tại đây! 0049D155 |. 8BEC MOV EBP,ESP 0049D157 |. 83C4 F0 ADD ESP,-10 0049D15A |. 53 PUSH EBX 0049D15B |. 56 PUSH ESI 0049D15C |. 57 PUSH EDI 0049D15D |. 33C9 XOR ECX,ECX 0049D15F |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX 0049D162 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX 0049D165 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX 0049D168 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 0049D16B |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0049D16E |. E8 197EF6FF CALL unpacked.00404F8C < Trace into 0049D173 |. 33C0 XOR EAX,EAX 0049D175 |. 55 PUSH EBP 0049D176 |. 68 E3D14900 PUSH unpacked.0049D1E3 0049D17B |. 64:FF30 PUSH DWORD PTR FS:[EAX] 0049D17E |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 0049D181 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0049D184 |. E8 1B7CF6FF CALL unpacked.00404DA4 0049D189 |. 8BD8 MOV EBX,EAX 0049D18B |. 85DB TEST EBX,EBX 0049D18D |. 7E 26 JLE SHORT unpacked.0049D1B5 0049D18F |. BF 01000000 MOV EDI,1 0049D194 |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4] 0049D197 |. 0FB67438 FF |MOVZX ESI,BYTE PTR DS:[EAX+EDI-1] 0049D19C |. 8D55 F0 |LEA EDX,DWORD PTR SS:[EBP-10] 0049D19F |. 8BC6 |MOV EAX,ESI 0049D1A1 |. E8 26FFFFFF |CALL unpacked.0049D0CC 0049D1A6 |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10] 0049D1A9 |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C] 0049D1AC |. E8 FB7BF6FF |CALL unpacked.00404DAC 0049D1B1 |. 47 |INC EDI 0049D1B2 |. 4B |DEC EBX . 1B7CF6FF CALL unpacked .00 404 DA4 00 49D189 |. 8BD8 MOV EBX,EAX 00 49D18B |. 85DB TEST EBX,EBX 00 49D18D |. 7E 26 JLE SHORT unpacked .00 49D1B5 00 49D18F |. BF 01 0 00 000 MOV EDI ,1 00 49D194 |> 8B45 FC. vầy: 00 5A6B 80 > $ 60 PUSHAD < Push registers to stack! 00 5A6B 81 . BE 00 904 F 00 MOV ESI,WinDrvGh .00 4F 900 0 < Start! 00 5A6B86 . 8DBE 00 80F0FF LEA EDI,DWORD PTR DS:[ESI+FFF0 800 0] 00 5A6B8C. 00 49D5C4 . BA 64D84 900 MOV EDX,unpacked .00 49D864 ; ASCII "$%^" 00 49D5C9 . E8 B675F6FF CALL unpacked .00 404 B84 00 49D5CE . 6A 00 PUSH 0 00 49D5D0 . 68 68D84 900 PUSH unpacked .00 49D868

Ngày đăng: 03/07/2014, 17:20

TỪ KHÓA LIÊN QUAN