Cracking part 46 pps

6 268 0
Cracking part 46 pps

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

Thông tin tài liệu

.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 .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) _OllyDBG: 00401628 FF25 10204000 JMP DWORD PTR 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… 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: 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  . .rdata:004028B0 0000000C C _XcptFilter .rsrc:004 0465 4 00000006 unicode aa+ .rsrc:004046C8 00000006 unicode aM2 .rsrc:004046A8 00000006 unicode a6b .rsrc:004 0467 C 00000006 unicode a*+ .data:00403020. .rsrc:004046EE 00000020 unicode VS_VERSION_INFO .rdata:00402A0E 0000000B C USER32.dll .rsrc:004049C6 00000018 unicode Translation .rsrc:0040474A 0000001E unicode StringFileInfo .rsrc:004 0468 C. unicode CompanyName .rsrc:004046D8 0000000C unicode CHECK .rsrc:0040493C 00000026 unicode Anwendung Crackme2 .rdata:00402306 00000006 unicode @7 .rsrc:004 0460 C 00000006 unicode ?M2 .rsrc:004044F0

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

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

  • Đang cập nhật ...

Tài liệu liên quan