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

Cracking part 46 pps

6 269 0
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

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

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

Nội dung

Tui cracking thường thường đều dùng đến tính năng này của IDA để tìm.. Để dòng string thể hiện rõ ràng nhất, tôi khuyên bạn nên setup các options cho tab Strings của IDA theo hình sau:

Trang 1

.rdata:004028D0 0000000E C getmainargs

.rdata:00402884 0000000C C dllonexit

.rdata:00402870 00000012 C CxxFrameHandler

.rdata:004028B0 0000000C C _XcptFilter

.rsrc:00404654 00000006 unicode \a\a+

.rsrc:004046C8 00000006 unicode \aM2

.rsrc:004046A8 00000006 unicode \a6b

.rsrc:0040467C 00000006 unicode \a*+

.data:00403020 0000000B C YOU DID IT

.data:0040302C 0000000B C Well done,

.rsrc:004049A6 00000018 unicode VarFileInfo

.rsrc:004046EE 00000020 unicode VS_VERSION_INFO

.rdata:00402A0E 0000000B C USER32.dll

.rsrc:004049C6 00000018 unicode Translation

.rsrc:0040474A 0000001E unicode StringFileInfo

.rsrc:0040468C 0000000E unicode Serial

.rdata:004029A2 0000000D C SendMessageA

.rsrc:0040461C 0000000A unicode QUIT

.rsrc:0040496A 0000001E unicode ProductVersion

.rsrc:00404922 00000018 unicode ProductName

.rdata:004029EE 00000010 C PostQuitMessage

.rsrc:004048DE 00000022 unicode OriginalFilename

.data:00403038 00000029 C One of the Details you entered was wrong .rsrc:00404664 0000000A unicode Name

.rdata:0040289A 0000000B C MSVCRT.dll

.rsrc:004045E2 0000001C unicode MS Sans Serif

.rdata:00402864 0000000A C MFC42.DLL

.rsrc:004047C8 0000002E unicode MFC-Anwendung Crackme2

.rdata:00402996 0000000A C LoadIconA

.rsrc:004048B6 00000020 unicode LegalTrademarks

.rsrc:0040486A 0000001E unicode LegalCopyright

.rdata:00402986 0000000D C KERNEL32.dll

.rdata:004029E2 00000009 C IsIconic

.rsrc:00404836 0000001A unicode InternalName

.rdata:004029CE 00000011 C GetSystemMetrics

.rdata:00402976 00000010 C GetStartupInfoA

.rdata:00402962 00000011 C GetModuleHandleA

.rdata:004029BE 0000000E C GetClientRect

.rsrc:004047FE 00000018 unicode FileVersion

.rsrc:004047A6 00000020 unicode FileDescription

.rdata:00402A00 0000000D C EnableWindow

.data:00403064 00000006 C ERROR

.rdata:004029B2 00000009 C DrawIcon

Trang 2

.rsrc:00404900 0000001A unicode Crackme2.EXE

.rsrc:004045B6 00000026 unicode Crackme2 - By CoSH

.rsrc:00404850 00000012 unicode Crackme2

.rsrc:00404888 00000026 unicode Copyright (C) 1999

.rsrc:00404786 00000018 unicode CompanyName

.rsrc:004046D8 0000000C unicode CHECK

.rsrc:0040493C 00000026 unicode Anwendung Crackme2

.rdata:00402306 00000006 unicode @7

.rsrc:0040460C 00000006 unicode ?M2

.rsrc:004044F0 00000006 unicode 3\v

.rsrc:004044E8 00000006 unicode 3\v

.rsrc:004044B9 00000005 C 3330

.rsrc:00404818 00000016 unicode 1, 0, 0, 1

.rsrc:00404988 00000016 unicode 1, 0, 0, 1

.rsrc:0040476E 00000012 unicode 040704B0

Trong khi đó tab strings của Olly và Wdasm:

Bạn đã nể khả năng disasm của IDA chưa Tui cracking thường thường đều dùng đến tính năng này của IDA để tìm Chỉ cần nhấn Alt+T gõ vào dòng chữ muốn tìm Để dòng string thể hiện rõ ràng nhất, tôi khuyên bạn nên setup các options cho tab Strings của IDA theo hình sau:

Khi sử dụng IDA có 4 cửa sổ ta cần quan tâm Thứ nhất là IDA View-A, đây là cửa sổ chính như CPU trong Olly Mọi thao tác về đọc code hay xử lý code đều nằm trên đây Thứ hai là HexView tương tự memory dump window của Olly Kế đến là bảng Names

và cuối cùng là bảng Strings như ta đã xem qua ở trên Ở ver 4.8 này có thêm hai bảng Export và Import

Xem một ví dụ về khả năng tìm hàm của IDA và OllyDBG, quả là rất có lợi cho việc xác định IAT trong quá trình fix mà ko cần ctrl+R trong OllyDBG để xác định tên hàm

_IDA:

.text:00401628 jmp ds: imp_?DoMessageBox@CWinApp@@UAEHPBD II@Z ; declspec(dllimport) CWinApp::DoMessageBox(char const *,uint,uint)

Trang 3

_OllyDBG:

DS:[<&MFC42.#2512>] ; MFC42.#2512

IV Vẫn là OllyDBG yêu dấu!

Bảo đảm đọc tới đây, thế nào các bạn cũng có người ngẫm nghĩ : “Lỡ yêu Olly rồi, kô bỏ

được, phải chi kết hợp được thì hay” Oh, được chứ! Tui sẽ chỉ cho bạn một cách để Olly

có thể đọc được string đã disasm từ IDA

Để làm được điều này bạn phải có một plugin Olly là MapConv 1.4 download từ

http://ollydbg.win32asmcommunity.net/stuph/

File Name/Description Source Author(s) Release

date

MapConv_14.zip

MapConv 1.4

imports map files from SoftiCE or IDA

Update: address of the code section is now read dynamically

BCB 6.0

godfather+

TBD SHaG

10.Jun.2003

Nếu bạn đã có thì chúng ta bắt đầu Mở lại IDA, load target.exe lên, vào Menu

File->Produce->Create Map File…

Chọn options như sau:

Save với tên target.map Load target.exe lên OllyDBG Vào menu Plugin chon MapConv,

chọn Replace Label, browse đến target.map…

Trang 4

Lần lượt chạy plugin này hai lần để load toàn bộ label và comments:

Yeah, bây giờ vào, R-click Search Names in All Modules Xem thử cái:

Wow, coi thêm một cái cho đã:

He he, ưng cái bụng rồi hẻ :d Phần lý thuyết tới đây tui xin mạn phép kết thúc IDA còn rất nhiều điều để khám phá Bạn hãy tự mình tìm một cách riêng để khám phá xem, nếu lười thì chờ tuts của tui sau này ;;)

IV Thực hành với Advanced Tracks Eraser 3.0 – Remove time trial

Soft này code bằng Delphi7 Sig by TQN Thanx anh vì một sig rất tốt cho app written by Delphi

Chỉnh giờ hệ thống cho soft expired, set back lại dĩ nhiên báo lỗi!

Load với IDA

Qua tab Strings, gõ alt+T nhập vào dòng Days Left:

Double vào dòng Days Left ta tới IDA View-A:

Để con trỏ chuột tại DATA XREF: sub_48B868+3Eo bạn sẽ thấy đoạn text này

thuộc về đoạn code:

Trang 5

Double click vào dòng DATA XREF: sub_48B868+3Eo ta sẽ ở đây:

CODE:0048B868 ;

¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦

CODE:0048B868

CODE:0048B868 ; Attributes: bp-based frame

CODE:0048B868

CODE:0048B868 sub_48B868 proc near ; DATA XREF: CODE:0048B5E5o

CODE:0048B868

CODE:0048B868 var_C = dword ptr -0Ch

CODE:0048B868 var_8 = dword ptr -8

CODE:0048B868 var_4 = dword ptr -4

CODE:0048B868

CODE:0048B868 push ebp

CODE:0048B869 mov ebp, esp

CODE:0048B86B push 0

CODE:0048B86D push 0

CODE:0048B86F push 0

CODE:0048B871 push ebx

CODE:0048B872 push esi

CODE:0048B873 mov ebx, eax

CODE:0048B875 xor eax, eax

CODE:0048B877 push ebp

CODE:0048B878 push offset loc_48B928

CODE:0048B87D push dword ptr fs:[eax]

CODE:0048B880 mov fs:[eax], esp

CODE:0048B883 push offset _str_Advanced_Tracks_1.Text

CODE:0048B888 mov eax, 0Fh

CODE:0048B88D call sub_48AFD4

CODE:0048B892 push eax

CODE:0048B893 mov eax, 0Fh

CODE:0048B898 pop edx

CODE:0048B899 sub eax, edx

CODE:0048B89B lea edx, [ebp+var_8]

CODE:0048B89E call sub_474DFC

CODE:0048B8A3 push [ebp+var_8]

CODE:0048B8A6 push offset _str Days_Left_.Text

Trang 6

 

Ngày đăng: 01/07/2014, 13:20

TỪ KHÓA LIÊN QUAN