Tải bản đầy đủ (.pdf) (5 trang)

Cracker Handbook 1.0 part 106 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (80.8 KB, 5 trang )

Cho ăn ké miếng nha Moon Tự nhiên topic Cracker! Who r u đâu mất tiu Lazy
tìm quá vì đang dialup ở nhà nên tiện tay vô topic bác lun



QUOTE

Production: MindManager X5 Pro v5.0.784
Copyright by: Mindjet LLC
Homepage:
Protector: Name/Serials
Packed: None
Code: Microsoft Visual C++ 6.0
Tools: OllyDbg 1.09d + Hex Workshop 4.1t
Done: Get Correct Serials
Cracked by: Zombie DeathMan
Comment: MindManager®, Mindjet's visual tool for brainstorming and
planning, offers business professionals a more effective way to electronically
capture, organize, and communicate information and ideas.
As the digital alternative to note-pads, flipcharts and white boards,
MindManager increases productivity through faster understanding, better
decisions and reduced meeting time. MindManager seamlessly integrates with
Microsoft® Office.
XML-based MindManager seamlessly integrates with Microsoft® Office®
and Enterprise data sets to harness corporate knowledge.
Note: Do chương trình này hạn chế việc download từ homepage…Ver trên
homepage chỉ là bản trial không thể Register được…Bạn nào muốn download
bản Full thì reply Zombie sẽ uphost (hehe Việc uphost nhờ Comp làm giùm
ne ).
Chương trình này Zombie thấy so best lém…



Yeh! Công việc hiển nhiên cần làm đầu tiên là load chương trình lên bằng
Olly Hm Khá lâu một chút do bản thân chương trình khá nặng
Sau khi mọi thứ hoàn tất, bạn chạy chương trình. About/Licsence và nhập một dãy
số fake.

Okai! Món quà lì xì đầu năm Mindjet dành cho bạn là nguyên cái Nag đập bốp
ra Oki Bạn cho thì mình nhận vậy.Nhấn Ok, và nhận lỗi Exception Vào Olly,
quan sát cửa sổ Stack (có thể bạn cần nhấn “*” để đến chổ stack hiện tại).



CODE

0012EB10 7C03FDB4 ASCII "Access violation - no RTTI data!" >> Bạn
đang ở đây
0012EB14 E06D7363
0012EB18 00000001
0012EB1C 00000000
0012EB20 77E73887 RETURN to kernel32.77E73887 from
ntdll.RtlRaiseException
0012EB24 00000003
0012EB28 19930520
0012EB2C 0012EBB4
0012EB30 7C2D0604 MFC70U.7C2D0604
0012EB34 0012EB00
0012EB38 0B3AC8D0 UNICODE "MP5M-001-8901-2345-678"
0012EB3C 0012EC14
0012EB40 77D8D610 USER32.77D8D610
0012EB44 77D42400 USER32.77D42400

0012EB48 FFFFFFFF
0012EB4C 77D6CC9A RETURN to USER32.77D6CC9A from
USER32.77D8D451
0012EB50 77D456B6 RETURN to USER32.77D456B6 from
USER32.77D6CB84
0012EB54 00000000
0012EB58 7197E132 COMCTL32.7197E132
0012EB5C 03F7049A
0012EB60 000000B1
0012EB64 /0012EBA4
0012EB68 |7C01BA05 RETURN to MSVCR70.7C01BA05 from
kernel32.RaiseException
0012EB6C |E06D7363
0012EB70 |00000001
0012EB74 |00000003
0012EB78 |0012EB98
0012EB7C |0B3AC8D0 UNICODE "MP5M-001-8901-2345-6789"
0012EB80 |0012EBF4
0012EB84 |E06D7363
0012EB88 |00000001
0012EB8C |00000000
0012EB90 |00000000
0012EB94 |00000003
0012EB98 |19930520
0012EB9C |0012EBB4
0012EBA0 |7C2D0604 MFC70U.7C2D0604
0012EBA4 ]0012EBB8
0012EBA8 |7C2D0601 RETURN to MFC70U.7C2D0601 from
<JMP.&MSVCR70._CxxThrowException>
0012EBAC |0012EBB4

0012EBB0 |7C2D0604 MFC70U.7C2D0604
0012EBB4 |7C31E4D0 MFC70U.7C31E4D0
0012EBB8 ]0012EBC8
0012EBBC |7C2D793B RETURN to MFC70U.7C2D793B from
MFC70U.#1074
0012EBC0 |0012F1F4
0012EBC4 |03F7049A
0012EBC8 ]0012EC20
0012EBCC |0052B423 RETURN to MindMana.0052B423 from
<JMP.&MFC70U.#2095>


Yeh! Bà con học lập trình ASM cơ bản cũng biết rằng một lệnh trước khi được
thực thi sẽ được tống lên Stack địa chỉ lệnh đó Và ở đây ta cũng dựa trên nguyên
tắc đó.
Trước khi chương trình hiện Nag sẽ có phần check và hàm check cũng sẽ được đổ
lên Stack
Trace tìm xuống trong Stack đến đoạn bạn thấy String Fake Ser nhập vào và tìm
đến địa chỉ trong khoảng 52xxxx (hoặc tìm dựa trên hàm được gọi từ file nào). Of
course! Phần check Ser này nằm trên files của chương trình, do đó bạn lọc qua các
hàm từ những files khác Tập trung vào files của chương trình thôi

Sau một lúc trace đến


CODE

0012EBC8 ]0012EC20
0012EBCC |0052B423 RETURN to MindMana.0052B423 from



Ở đây là hàm trả về gần Nag nhất, vậy có khả năng nó liên quan đến Check Ser. Về
lại cửa sổ chính, Go to đến 0052B423



CODE

0052B3E0 . 53 PUSH EBX
0052B3E1 . 8B5C24 08 MOV EBX,DWORD PTR SS:[ESP+8]
0052B3E5 . 56 PUSH ESI
0052B3E6 . 57 PUSH EDI
0052B3E7 . 8BF1 MOV ESI,ECX
0052B3E9 . 8DBE EC000000 LEA EDI,DWORD PTR DS:[ESI+EC]
0052B3EF . 57 PUSH EDI
0052B3F0 . 68 09010000 PUSH 109
0052B3F5 . 53 PUSH EBX
0052B3F6 . E8 11671A00 CALL <JMP.&MFC70U.#1735>
0052B3FB . 833B 00 CMP DWORD PTR DS:[EBX],0
0052B3FE . 74 23 JE SHORT MindMana.0052B423
0052B400 . 8B3F MOV EDI,DWORD PTR DS:[EDI]
0052B402 . 8B06 MOV EAX,DWORD PTR DS:[ESI]
0052B404 . 57 PUSH EDI
0052B405 . 8BCE MOV ECX,ESI
0052B407 . FF90 60010000 CALL DWORD PTR DS:[EAX+160]
0052B40D . 84C0 TEST AL,AL
0052B40F . 75 12 JNZ SHORT MindMana.0052B423
0052B411 . 6A FF PUSH -1
0052B413 . 6A 30 PUSH 30
0052B415 . 6A 69 PUSH 69

0052B417 . E8 3E581A00 CALL <JMP.&MFC70U.#1008>
0052B41C . 8BCB MOV ECX,EBX
0052B41E . E8 FF681A00 CALL <JMP.&MFC70U.#2095>
0052B423 > 5F POP EDI >> Bạn sẽ Goto đến đây
0052B424 . 5E POP ESI
0052B425 . 5B POP EBX
0052B426 . C2 0400 RETN 4


Có vẻ gần đúng rồi Ở 2 lệnh JE & JNZ bạn set breakpoint và có thể thử qua
nhiều lần sẽ thấy nếu Serials nhập sai các lệnh nhảy sẽ không được thực hiện tương
ứng
CMP DWORD PTR DS:[EBX],0 >> CMP Giá trị tại 12EBF4, 0
Và AL = 0. Nếu muốn bạn có thể trace into vào lệnh CALL ở 0052B3F6 để Patch
trả về giá trị

×