Armadillo x.xx + Unpacking = Cracked!

Intro: _Ta lại gặp nhau ở phần 3 này: Trong tut này ta sẽ xử lý các soft+upackme với mục tiêu unpack xong là cracked. Đây là phiên bản Expansion của series#1 vá series#2! Do đó series#4 sẽ bàn về CopyMemII. Đón đọc! _Khi làm tut tui cũng đã thu lại video tut. Nếu các bạn có nhu cầu có thể rq để kiểm tra các bước thực hành của mình. Nói rõ một điều rằng, tất cả target trong bài tôi đều test hết trên hệ điều hành WindowsXP SP1. Mọi sự đều tương đối, mong rằng bạn đừng ngạc nhiên khi thấy target không chạy lên máy mình. II. Tools: · OllyDBG 1.10 với các plugin: Hide Debugger 1.2.3f, Armadillo Process Detach Plugin v1.0, OllyDBG PE Dumper 3.0.3, Command Bar 3.10.109c đã patch bug với RE-PAIR 0.6 + AntiDetectOlly_v2.2.4. · PE Tools v1.5.RC5.2005 · Import REConstructor v1.6 FINAL · Có nhiều bạn hỏi tôi có tools về armadillo

pdf21 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2672 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Armadillo x.xx + Unpacking = Cracked!, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Armadillo-Góp nhặt cát đá Phần 3: Armadillo x.xx+Unpacking= Cracked! I. Intro: _Ta lại gặp nhau ở phần 3 này: Trong tut này ta sẽ xử lý các soft+upackme với mục tiêu unpack xong là cracked. Đây là phiên bản Expansion của series#1 vá series#2! Do đó series#4 sẽ bàn về CopyMemII. Đón đọc! _Khi làm tut tui cũng đã thu lại video tut. Nếu các bạn có nhu cầu có thể rq để kiểm tra các bước thực hành của mình. Nói rõ một điều rằng, tất cả target trong bài tôi đều test hết trên hệ điều hành WindowsXP SP1. Mọi sự đều tương đối, mong rằng bạn đừng ngạc nhiên khi thấy target không chạy lên máy mình. II. Tools: • OllyDBG 1.10 với các plugin: Hide Debugger 1.2.3f, Armadillo Process Detach Plugin v1.0, OllyDBG PE Dumper 3.0.3, Command Bar 3.10.109c đã patch bug với RE-PAIR 0.6 + AntiDetectOlly_v2.2.4. • PE Tools v1.5.RC5.2005 • Import REConstructor v1.6 FINAL • Có nhiều bạn hỏi tôi có tools về armadillo không. Hì, xin thưa rằng hiện trên NET tools về Armadillo tôi có khá nhiều. Bạn xem bộ sưu tập tools của tui nhé. Thích thì rq trong topic này, kô PM hay send YIM. III. Unpacking Target#1: Remote Installer 1.3 _Load target lên Olly, đặt một breakpoint on excution: He WaitForDebugEvent. Nhấn F9, ta có: _Ghi nhớ địa chỉ 0012EB60. Ctrl+F2 restart, xoá He, đặt bp WriteProcessMemory. Nhấn F9: _F9 lần 2: _F9 lần 3, chương trình run hoàn toàn với thông báo đăng ký: _Khửa khửa, không có ghi một 1000 bytes vào đoạn code có OEP. Yeah! Nghi vấn được giải toả, không dùng CopyMemII. Các bạn có đọc tut của sLayer/MP2k nói soft này là CopyMemII, tui nghĩ kô phải ! Restart Olly, load target. Xoá tất cả các breakpoint. Bp WriteProcessMemory, F9, F9: _Follow in Dump, change 60E8 thành EBFE: _Bp WaitForDebugEvent, F9, Ctrl+F9, F7: _Theo phương pháp cũ. Push EAX Call DebugActiveProcessStop, Nop. Ghi lại trị EAX. _Nhấn F8, trace tới 004DBD30 90 NOP, hix xem lại trị EAX. _Tới đây, theo bác lightphoenix EAX=0 thì vẫn attach được theo MSDN của BillGates . Ok, ta attach child xem: _Bây giờ làm sao để by pass, okie, tôi sẽ chỉ cho bạn một cách để by pass! Restart tất cả lại. Bp WriteProcessMemory, F9, F9: _Follow in Dump, change 60E8 thành EBFE: _Ở Code Window, Ctrl+G nhập vào: WaitForDebugEvent. Nhấn F2 để set breakpoint, F9, Alt+F9. _Assemble thành: _Đến đây quá trình unpack diễn ra bình thường. Attach child, F9, F12. Change EBFE thành 60E8: _Alt+M, Breakpoint On Memory Access, F9. OEP. -LordPE dump Full: _IAT fix: _1 hàm invalid. Ta thấy chương trình bằng VB. Tui dump liều, load lên nó chạy, yeah. Nhưng close nó crash. Coi IAT, thấy thiếu hàm __vbaend. Thêm vô cái. Fix dump. Nó run tốt! Không còn thông báo gì nữa. Xem: _Hãng này có 1 product nữa là AssetDB, dùng chung một packer và cái này lại là CopyMemII. Chúng ta sẽ bàn soft này trong series#4. Xem: _F9 Lần 1: _F9 Lần2: _F9 lần 3: Target#2: Declan's Japanese Dictionary – Armadillo 4.xx _Load target: _Dạng standard nên có hai cách để tìm OEP. Một Alt+M, Set memory breakpoint on access. Hai là bp CreateThread, F9, Ctrl+F9, F7, Ctrl+F9, F7. Đặt break point tại Call ECX, F9, F7: _OEP: _Đến phần fix IAT. Chúng ta như thường lệ trace vào hàm Call đầu tiên dưới OEP để tìm đoạn Jmp vô cực theo method của Cracks Latinos hay dùng breakpoint VirtualProtect. _Cách thứ nhất vô hiệu (Sau khi trace vào hàm Call): _Cách thứ hai dùng bp VirtualProctect, shift+F9 40 lần hơn để tìm đoạn Push 100  _Hai cách này không xong tui chế ra cách Việt Nam ;;). Bạn để ý hàm: CALL DWORD PTR DS:[41F160];kernel32.GetVersionExA không?Tui thấy nó có một giá trị đáng ngờ: 41F160. Ok, restart lại. Vào Memory Dump Window, Ctrl+G nhập 41F160, đặt Hardware Breakpoint on Write trị Dword. Shift+F9: _Shift+F9 lần 2: _Cuộn lên một chút: _Khửa khửa, vậy cách tui đúng . Tương tự các tut trước bạn unpack bình thường. Restart lại, Shift+F9, nhập vào 003CA65B, đặt tại đó một HE. F9, Enter vào hàm này, patch 55 thành C3. Ctrl+G nhập vào OEP address 415726, đặt tại đây một HE, xoá HE cũ. Nhấn F9. Dùng LordPE dump, fix IAT, show invalid, Cut Thunks. Run thử, yeah cracked! _Các bạn thịt hết soft của hãng này đi, cùng một kiểu! Target#3: Ace Utilities 2.50– Armadillo 4.xx _Một dạng CrC check của Armadillo. Chúng ta dùng unpacked nhưng khi run báo lỗi file đã bị mod. Okie, chúng ta xử nó! _Load target: _ Alt+M, Set memory breakpoint on access, F9. OEP: _Ghi nhớ 474AF8, Ctrl+F2, Memory Window, Alt+F1, HW 474AF8, Shift+F9 2 lần: _Cuộn lên trên: _Restart lại, Shift+F9, nhập vào 003D6BEB, đặt tại đó một HE. F9, Enter vào hàm này, patch 55 thành C3. Ctrl+G nhập vào OEP address 00467C23, đặt tại đây một HE, xoá HE cũ. Nhấn F9. Dùng LordPE dump full, fix IAT, show invalid, Cut Thunks. Run thử: _Chúng ta cần by pass check CRC. Load dumped_.exe lên Olly. Nhấn F9 để hiện thông báo error, nhấn F12, nhấn Alt+K. _Chúng ta thấy nag được gọi từ dumped_.004015E8 Call stack of main thread, item 14 Address=0012E2A4 Stack=004015EE Procedure / arguments=? USER32.MessageBoxA Called from=dumped_.004015E8 _Trở lại CPU, Ctrl+G gõ vào 004015E8: _Patch 004015D9 75 41 JNZ SHORT dumped_.0040161C thành: _ Copy to Excutable>Selection, Ctrl+E, re-change 7541 thành EB41, save file. Run thử, cracked! Target#4: File Recover 5.0 – Armadillo 4.xx _Đây là một dạng unpack-cracked khác, sau khi unpack chúng registered nhưng đòi hỏi một hàm ArmaAccess.Dll để chạy. Vì sao chúng đòi file này, khi pack armadillo nhét vào soft hàm này, khi unpack chúng ta đã làm cỏ hàm này nên nó đòi hỏi, thật hàm này không đóng vai trò gì cả. Có hai cách để xử lý chúng đó là ta dùng thư viện sẵn có được pub trên trang chủ Armadillo để hoàn tất hoặc chúng ta patch . Dạng này sau khi unpacked sẽ dùng GetFileSizeA để check size, nếu không đúng, LoadLibraryA để load file ArmAccess.Dll, thông qua GetProcAddress để xử lý. Chúng ta patch ở hàm GetProcAddress. FARPROC GetProcAddress( HMODULE hModule, // handle to DLL module LPCSTR lpProcName // name of function ); _Dạng này rất thú vị, hẹn gặp trong một tut khác vì nó khá dài! Ở đây tôi chỉ bạn lại một soft protect kiểu này và chúng ta dùng thư viện sẵn có để cracked. _Load target: _Alt+M, Set breakpoint tại sections text. F9, OEP: -Tại 41FB6E, click phải chọn Follow in Dump>Memory Address. Đặt HW trị Dword. Làm các bước tương tự trên. Dump, Fix IAT. Chép file ArmAcess.Dll Run thử: _Vẫn chưa cracked, mở HexWorkShop load dumped_.exe. Ctrl+F: Unregistered _Edit thành: _Save, mở file Edited: Target#5: RM to MP3 Converter v1.32 – Armadillo 4.xx _Bạn tự mình thực hành. Target#6: Status Bar Javascript Magic version 1.0– Armadillo 4.xx _Cái này không bạn chạy được 15 ngày. Remove nó nhé! II. Conclusion _Tut này thoả lòng của một số bạn đã PM tôi rằng, sao bác hướng dẫn có dạng push ebp mà không có dạng pushad. _Nếu bạn có soft nào pack bằng Armadillo vui lòng gửi link về lenguyenkhang@gmail.com GrEeTs Fly Out: Deux, INFINITE,Computer_Angel, Zombie, NVH(c),softcracker_vn, luucorp, Aaron, JMI, Canterwood, hhphong, R@dier, tlandn, RCA, CTL, Moonbaby, kienmanowar, benina,TQN, the_lighthouse, Nini, hoadongnoi, dqtln, hosiminh, Nilrem, Teerayoot, Ferrari, Kruger, Kelvin, Devilz, NXL ...and you ! Special Thanx Cracks Latinos. Merci FFF, RiF, N-Gen (closed), ICI-TEAM pour me-aider des connaissances du Game Cracking! Thanx to author of OllyDBG. To be continued... Written by hacnho (tutorial date: Tien Giang 1/09/2005)

Các file đính kèm theo tài liệu này:

  • pdfArmadillo_tut_serie#3.pdf
Tài liệu liên quan