Cracker Handbook 1.0 part 7 docx

6 288 2
Cracker Handbook 1.0 part 7 docx

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

Thông tin tài liệu

Quote: Upack is a packer that can compress Windows PE file, which can be run without decompressing manually. (readme) 45-ArmaInline Quote: ArmInline is an Armadillo unpacking tool designed specifically to deal with the 'Strategic Code-Splicing' antidump feature available with private builds of Armadillo 3.x-4.x. It 'revirgin's the spliced code by recursively identifying and removing the redundant opcodes, rather than dumping and patching in a VirtualAlloc, and so it adds nothing to the size of your dump. (readme) 46-GetDlgItem Quote: The GetDlgItem function retrieves the handle of a control in the specified dialog box. (win32.hlp file) 47-MessageBox Quote: The MessageBox function creates, displays, and operates a message box. The message box contains an application-defined message and title, plus any combination of predefined icons and push buttons (win32.hlp file) 48-RegCreateKeyEx Quote: The RegCreateKeyEx function creates the specified key. If the key already exists in the registry, the function opens it. (win32.hlp file) 49-RegQueryValueEx Quote: The RegQueryValueEx function retrieves the type and data for a specified value name associated with an open registry key. (win32.hlp file) 50-GetPrivateProfileString Quote: The GetPrivateProfileString function retrieves a string from the specified section in an initialization file. This function is provided for compatibility with 16-bit Windows-based applications (win32.hlp file) 51-Packer là trình nén và mã hoá các File Exe, Dll. Có nhiều loại Packer khác nhau, có loại chỉ có nhiệm vị nén cho dung lượng nhỏ như: UPX, ASpack, NSpack, WinUpack Còn có loại vừa nén vừa mã hoá file như: Asprotect, Armadillo, Execryptor, ENIGMA protector , Acprotect có quá chời loại packer nên cần dùng tools với các chữ ký của từng loại packer để xác định coi nó thuộc dạng nào. PEiD và RDG là 2 công cụ thực hiện công việc trênd. Theo hình trên thì em có thể đoán là có thể là PE-Armor, ENIGMA protector hoặc WinUpack. Tốt nhất bác cho link Target bác đang xử để bít chính xác hơn. (why not bar) PEiD, How to use [Tut] Copyright by Zombie - REA.fareastking.com Quote: Homepage: http://peid.has.it/ Forum: http://peidforums.has.it/ Download: http://www.absolutelock.de/construct eases/PEiD.zip http://www.secretashell.com/codomain/peid/PEiD.zip Plugins: http://www.secretashell.com/codomain/peid/plugins PEiD là chương trình nhỏ giúp bạn detect loại packer đang được sử dụng với file tương ứng (.exe, .dll , etc ). Ngoài ra nếu file không bị pack PEiD cho bạn biết ngôn ngữ code lên file như: Visual Basic, MASM, etc Các thông tin PE file được cung cấp khá nhiều. Cách sử dụng: Load chương trình lên, Browser chọn file cần detect. Sau đó chương trình sẽ hiện thị thông tin packer, coder cho bạn biết ở khung textbox trên các button options. Các options: - Multi Scan: Scan toàn bộ files trong thư mục chỉ định - Task View: Xem list process hiện tại về dùng nó để load file tương ứng. - Options: a. Normal / Deep / Hardcore scan b. Recurse SubFolder: Sử dụng đệ qui vào các SubFolder c. Use External Signatures: Sử dụng file nhận biết dấu hiệu file riêng (nếu có file) d. Register Shell Extension: Tích hợp vào Popup Menu cho phép chọn load bằng PEiD khi RightClick vào các file tương ứng e. Minimize to SystemTray: Hiển thị thành icon ở System Tray khi minimize f. Load plugins: Hỗ trợ plugins g. Allow multiple Instances: Cho phép load cùng lúc nhiều thể hiện của PEiD. - Plugins: Các plugins bên ngoài cho phép làm thêm nhiều thứ như Unpack chẳng hạn. Các plugin bạn download về copy vào thư mục plugin trong thư mục PEiD, PEiD sẽ tự nhận ra thôi. Sorry lão Zom vì copy của lão qua mà không xin phép nhé. Nhưng thấy mấy bài này mà bỏ cho lão del thì phí của zời quá. Zombie(REA) BÀI HỌC ZOMBIE Zombie post bài này với mục đích là cùng mọi người học từ đầu với ASM ha Hih Zombie cũng đang bắt đầu học lại nó đây nên cứ cho làm mọi thứ từ đầu hết ha, LÝ THUYẾT ASSEMBLY Part 1: Khái niệm về bit ,byte ,word I. Bộ nhớ a. Byte: - Các thông tin xử lý được lưu trữ trên bộ nhớ > Nhóm 8 bits kết hợp lại thành 1 byte nhớ. - Byte nhớ được xác định bằng 1 con số Address. Byte nhớ đầu tiên có Address = 0. Các byte nhớ có địa chỉ riêng khác nhau và cố định. - Số bits khả thi của CPU càng cao thì khả năng truy cập byte nhớ càng lớn - Dữ liệu lưu trong byte nhớ là Content hay còn gọi là Value. >> Conten luôn là giá trị 8 bits, trong khi Address byte nhớ phụ thuộc vào số bits khả thi của CPU. (8086 xử dụng Address 20 bits, 80286 thì dùng 24 bits.) >> 1 bits có khả năng chứa 2 giá trị (0/1), như vậy với n bits ta chứa được 2n giá trị. Example: 20 bits >>220 = 1,048,576. Con số này được xem là 1 Mega và 210 là Kilo b. Word: - 1 word được tạo thành từ 2 bytes. - Address thấp hơn (lấy Address của Byte) sẽ được lấy làm Address cho Word. >> Example: 2 bytes có Address 2,3 tạo thành Word có Address là 2. II. Ví trị Bits trong Byte or Word: - Vị trí bit trong Byte/Word được đánh theo thứ tự từ phải sang trái: 7 6 5 4 3 2 1 0 << Vị trí bits trong Byte 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |< Byte cao >|<-Byte thấp->| III. Biểu diễn số nguyên: - Với một Byte/Word ta có 1 bit msb (Most Significant Bit) và 1 bit lsg (Least Significant Bit) - msb là bit cuối cùng bên trái (bit 7 đối với Byte, và 15 với Word). - lsb thì ngược lại, nằm cuối cùng bên phải. Để biểu diễn một số nguyên ta dùng hết 1 word (16 bits) mà không cần sử dụng bit xác định dấu. Do đó con số nguyên lớn nhất ta có là 1111 1111 1111 1111 = 65535. >> Ở đây lsb mang giá trị 0 cho số chẳn và ngược lại. Đối với số nguyên có dấu, ta sử dụng msb làm bit xác định dấu (0: Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm). * Số bù 1: Là kết quả phép đảo bits. 0000 0000 0000 0101 > Bù 1 1111 1111 1111 1010 * Số bù 2: Kết quả phép cộng số bù 1 và 1 > Bù 1 1111 1111 1111 1010 + 1 > Bù 2 1111 1111 1111 1011 Vì sao bù 2 là biểu diễn số âm? Ta lấy con số gốc + bù 2 của nó sẽ cho kết quả là 0 vì msb sẽ bị mất do word chỉ có khả năng lưu giá trị 16 bits. Và suy ra nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị gốc. ***Vấn đề tiếp theo là biểu diễn Value của Bytes hay Word dưới dạng số thập phân. - Để biểu diễn dạng không dấu đơn giản chỉ là phép tính chuyển cơ số. - Với dạng có dấu ta chuyển tính dưới dạng bits, lấy bù 2. Con số thập phân của kết quả này là dạng biểu diễn. >> Các lưu ý mục này << 1. Như đã nói msb = 0 khi là số dương và ngược lại và qua việc test nhiều lần ta có: Các số Hex bắt đầu tứ 0-7 là dương và tiếp theo là âm. 2. Dạng biểu diễn thập phân có dấu và không dấu cho 1 word: - 0000h-7FFFh: Thập phân có dấu = không dấu. - 8000h-FFFFh: Có dấu bằng không dấu trừ 65536. - và tương tự cho 1 byte. OkAi Đến đây tạm xong một chút về ASM… Part tiếp theo là về các thanh ghi, offset… Part 2: Register (Thanh ghi) Các thanh ghi là nơi lưu giữ thông tin của bộ xử lý. Chúng được phân loại theo chức năng tương ứng (tổng cộng 13 thanh ghi) I. Thanh ghi dữ liệu: AX, BX, CX, DX (Với Windows được mở rộng thành EAX, EBX, ECX, EDX với 32 bits): - Như tên gọi chúng sử dụng vào việc thao tác dữ liệu (thực hiện nhanh hơn so với thao tác trực tiếp trên . phép cộng số bù 1 và 1 > Bù 1 111 1 11 11 111 1 10 10 + 1 > Bù 2 11 11 111 1 11 11 1 01 1 Vì sao bù 2 là biểu diễn số âm? Ta lấy con số gốc + bù 2 của nó sẽ cho kết quả là 0 vì msb sẽ bị. bit xác định dấu (0: Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm). * Số bù 1: Là kết quả phép đảo bits. 00 00 000 0 00 00 01 0 1 > Bù 1 111 1 11 11 111 1 10 10 * Số bù 2: Kết. nguyên ta dùng hết 1 word (16 bits) mà không cần sử dụng bit xác định dấu. Do đó con số nguyên lớn nhất ta có là 11 11 111 1 11 11 111 1 = 65535. >> Ở đây lsb mang giá trị 0 cho số chẳn và

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan