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

Cracker Handbook 1.0 part 368 docx

6 111 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cracker Handbook 1.0 Part 368
Tác giả Trickyboy, Pnluck, Saturn, LittleLuk
Thể loại bài viết
Định dạng
Số trang 6
Dung lượng 220,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

VII-Reduce Size: Thật ra cũng ko còn nhiều điều gì làm , mở CFF Explorer lên, Open file, delete hết các section : Vì .adata ko còn chứa phần IAT redirect nên ta delete mà ko sợ gì hết..

Trang 1

báo lỗi Trong hầu hết trường hợp ,ta phải luôn fix relocation khi unpack bất

kì DLL nào, dù là packer nào

Rất may mắn là Armadillo ko hề encrypt Relocation nên ta dễ dàng fix Nếu

như các packer khác thì sẽ gặp rắc rối to đấy Giờ chúng ta đến khâu cuối cùng

VII-Reduce Size:

Thật ra cũng ko còn nhiều điều gì làm , mở CFF Explorer lên, Open file,

delete hết các section :

Vì adata ko còn chứa phần IAT redirect nên ta delete mà ko sợ gì hết Sau

đó chỉnh Base Of Code lại cho đúng :

Save file Để gọn hơn mở LordPE ,Option lại phần ReBuild :

Trang 2

Tiến hành rebuild file fix sau cùng :

Size sau khi thu gọn, còn nhỏ hơn file gốc chưa bị pack :

Rename, và file vẫn được Unikey.exe Load tốt Coi như hoàn thành phần Unpack cho DLL pack bởi Armadillo

VIII- Ending:

Quả thật Unpack ko hề đơn giản là sao chép, làm hùng hục như 1 cái máy, chúng ta cần nắm vững các kiến thức cơ bản Hi vọng các bạn đã nghiệm ra nhiều thứ từ bài viết này

Big Thanks to: fly [CUG], stephenteh {RES} for helping

Chân thành cám ơn:

Các anh em ở REA đã giúp đỡ tricky trong việc học tập

Cụ hacnho với loạt tut unpack siêu cấp của mình

Bác Why Not Bar vì đã pack dùm tricky mấy cái file Unikey

…và cả bạn nữa

Trang 3

Tàn Ma Kiếm (Written by Trickyboy)

By Pnluck, Saturn and LittleLuk with the collaboration of Faina

Execryptor 2.2.50

Crackme, Ollydbg, IsDebug&Extra, Olly Invisible, HideDebugger, NtGlobalFlag, OllyDump, AntidetectOllyPatch , RDG

About EXECryptor

Bạn có thể tìm thấy những thông tin về Execryptor ở URL:

http://www.strongbit.com/execryptor.asp

About Reversing stuff detection

Execryptor sử dụng rất nhiều kỹ thuật để phát hiện ra OLLYDBG và những công

cụ khác (softice, filemon, regmon, etc ) Đúng như vậy vì Execryptor (EXECR) tạo nhiều tiểu trình (Threads), mà sẽ điều khiển gần như là liên tục Và OLLYDBG hay filemon chưa được sửa lỗi thì sẽ bị Execryptor tặng cho màn terminated Vì vậy, bạn nên có RE-pair 0.6(dành cho regmon, filemon) và AntidetectOllyPatch (đối với Olly)

About R3 degugger detection

EXECR sử dụng một vài những thủ thuật mã để thấy được là nó đang bị debug

Control of Beingdebug

Trang 4

1 004XXXXX MOV EAX,DWORD PTR FS:[30] ;fs:[30] cho ta địa chỉ của PEB

2

3 004XXXXX ADD EAX,2 ; PEB+2 is địa chỉ bộ nhớ đang bị debug

4 004XXXXX MOV EAX,DWORD PTR DS:[EAX] ; 0 (không bị

debug) or 1(bị debug)

5

6 004XXXXX OR AL,AL

7 004XXXXX JE UnPackMe.004F2C67

Control of ProcessHeap

1 004XXXXX MOV EAX,DWORD PTR FS:[18] ; fs:[18] cho ta địa chỉ của khối TEB

2 ở đây là một vài thao tác của mã

3 004XXXXX MOV EAX,DWORD PTR [EAX+30] ;TEB+0x30 cho ta địa chỉcủa khối PEB

4 ở đây là một vài thao tác của mã

5 004XXXXX MOV EAX, DWORD PTR[EAX+18] ;PEB+0x18 cho ta địa chỉ của ProcessHeap

6 004XXXXX CMP DWORD PTR DS:[EAX+10],0 ;EAX+10 bằng 0(không bị debug) hoặc những giá trị khác (phát hiện đang bị debug)

Controll of NtGlobalFlag

1 004XXXXX MOV EAX,DWORD PTR FS:[30] ;fs:[30] cho ta địa chỉ của khối PEB

2 004XXXXX ADD EAX,8E4180C9

3 004XXXXX ADD EAX,71BE7F9F ;EAX = PEB+0X68 : địa chỉ của NtGlobalFlag

4 004XXXXX MOV EAX,DWORD PTR DS:[EAX] ; NtGlobalFlag có lẽ 0x70(phát hiện bị debug ) or 0 (không bị debug)

Use of Windows apis

Có sự hiện diện của 2 hàm này: CheckRemoteDebuggerPresent và

IsDebuggerPresent (các bạn xem thêm MSDN)

Use of Seh

Trang 5

EXECR sử dụng nhiều ngoại lệ, chủ yếu để phát hiện ra những ngắt phần cứng

1 004XXXXX MOV ECX,ESP

2 004XXXXX ADD ECX,10

3 004XXXXX MOV ECX,DWORD PTR DS:[ECX] ;conn trỏ tới ngữ cảnh của chương trình (Context of software)

4 004XXXXX MOV DWORD PTR DS:[ECX],10013 ;thay đổi các cở ngữ cảnh (context flags)

5

6 00524C5F ADD ECX,18 ;ECX = thanh ghi debug thứ 7 (Debug Register 7_)

7 00524C65 MOV AL,BYTE PTR DS:[ECX]

8 00524C67 ADD ECX,9C ;ECX = thanh ghi EBP

9 00524C6D ADD BYTE PTR DS:[ECX],AL

10 00524C6F ADD ECX,4 ;ECX = thanh ghi EIP

11 00524C75 MOV DWORD PTR DS:[ECX],UnPackMe.00522929 ;đặt lại con trỏ eip sau khi trình điều khiển ngoại lệ thực thi

12

13 0052068E XOR EAX,EAX ;EAX = 0 : fixed exception

14 00520690 POP ECX

15 00520691 RETN

Đây là trình điều khiển ngoại lệ dơn giản nhất, vì những loại khác sẽ xem xét các thanh ghi phần cứng (DR0->DR3  Chúng ta không nên dùng các ngắt phần cứng, mà chỉ nên dùng các ngắt mềm

Use of Thread

EXECR sẽ tạo ra nhiều cái threads điều khiển để phát hiện ra OLLYDBG, một số

sự chỉnh sửa mã như BP, , để tránh những con threads này, bạn nên code injection vào hàm API CreateThread :

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN