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

Cracker Handbook 1.0 part 224 pot

6 161 2
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 224 Pot
Tác giả Benina, Kiemanowar, Hacnho, QHQCrker, Merc, TQN, light.phoenix, iamidiot, takada, haule_nth, trickyboy, thienthanden, stringer
Người hướng dẫn Sgi, the_lighthouse
Trường học Unknown
Chuyên ngành Cracking Techniques
Thể loại Tài liệu
Năm xuất bản Unknown
Thành phố Unknown
Định dạng
Số trang 6
Dung lượng 137,22 KB

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

Nội dung

Nhưng đó là dành cho các good craker, còn chúng ta - em và các bác - là những newbie thì cảm thấy rất khó khi dùng nó các bác thì không biết thế nào chứ mỗi lần em crack soft với SoftICE

Trang 1

Thanks To: Benina,Kiemanowar, Hacnho, QHQCrker, Merc, TQN, light.phoenix,

iamidiot, takada, haule_nth, trickyboy, thienthanden, stringer … all my friend, and YOU

Để chúng ta có nhiều nguồn tham khảo, tôi xin add một số link Ai biết trang nào add thêm nhé

http://members.fortunecity.com/quine/

http://www.idapro.ru/

http://assarbad.net/en/stuff/IDA.idc/

http://home.arcor.de/idapalace/

http://members.fortunecity.com/quine/

http://pilorama.com.ru/library/ida1.php

http://pilorama.com.ru/library/ida2.php

http://www.jasonweiler.com/idcrt.html

http://www.woodmann.com/crackz/Tutorials/Quine3.htm

http://www.woodmann.com/fravia/enh_ida.htm

http://www.woodmann.com/fravia/quine1.htm

http://www.woodmann.com/fravia/quine_21.htm

http://www.woodmann.com/fravia/quine_51.htm

http://www.datarescue.com/idadoc/919.htm

http://www.hexblog.com/

http://www.the-interweb.com/serendipity/index.php

http://www.xs4all.nl/~itsme/projects blers/ida.html

http://home.arcor.de/idapalace/links.htm

http://www.program-transformation.org/Transform/WebHome

http://sourceforge.net/projects/openaudit/

http://dennis.backtrace.de/

http://www.sabre-security.com/

http://www.datarescue.com/

http://www.datarescue.com/idabase/idasupport.htm

Benina(reaonline.net)

Using Olly

Using Olly

Tác giả : Sgi

Biên dịch : the_lighthouse

Trang 2

Như các bác thường thấy, các good cracker thường sử dụng SoftICE như 1 vụ khí

để "hạ sát" các soft Nhưng đó là dành cho các good craker, còn chúng ta - em và các bác - là những newbie thì cảm thấy rất khó khi dùng nó (các bác thì không biết thế nào chứ mỗi lần em crack soft với SoftICE thì soft crack đâu không thấy, chỉ thấy máy tính phải format lại thôi ;) Nhưng từ khi có cái chân lý của bác benina : W32DASM + HIEW + SI = OLLDBG thì em cũng đỡ khổ hơn (mà cái computer của em cũng đỡ mệt) Hôm rồi trốn học > lang thang trên mạng thấy được cái bài này khá hay dành cho newbie > mừng lém :w00t: (mừng như lúc người yêu nói : ) Nay xin mạn phép trans ra cho các newbie đọc (các bác admin đọc đừng có cười nha), nếu các bác thấy có gì sai thì cho ý kiến nha Thanks

================================================== ======= Crackme : hxxp://www.xs4all.nl/%7Eanvile/n2c/tuts/n2c-OllyTut1.zip

Đầu tiên, các bác dùng PEiD để check xem crackme có bị pack không (Ở đây em xin giải thích 1 xíu : để bảo vệ cho chương trình không bị "phơi bày" khi

disassemble và cũng để cho kích thước file nhỏ lại thì các programmer thường sẽ pack chương trình đó lại, các bác cứ hiểu nôm na pack nghĩa là nén lại, nhưng không phải là zip hay rar đâu nhé bởi vì mặc dù nén lại nhưng chương trình vẫn chạy được bình thường Okey, các bác đã hiểu pack là gì chưa ? Qua PEiD ta biết chương trình không bị pack (quá khỏe) và được code bằng Microsoft Visual C++ 6.0

Sau khi biết chương trình không bị pack, chúng ta mở OllyDBG lên ( OllyDBG là

1 chương trình debug khá tốt, phiên bản mới nhất là 1.10, down tại hxxp://home.t-online.de/home/Ollydbg - ở đây em xin không giới thiệu nhiều về Olly, các bác có thể tham khảo bài của bác rongchaua để biết nhiều hơn về công cụ đa tính năng này ) Sau đó chúng ta vào File\Open hoặc nhấn F3, sau đó chọn file để Olly load lên , nếu các bác không muốn phải làm đi làm lại điều này mỗi khi muốn load 1 file nào đó thì các bác có thể cho nó vào menu chuột phải bằng cách vào

Options\Add to Explorer chọn Add OllyDbg to menu in Windows Explorer, khi muốn xóa thì chọn Remove OllyDbg from menu in Explorer, xong nhấn Done Bây giờ chúng ta load file crackme1 lên, sau khi chương trình load xong chúng ta

sẽ ở đây :

Code:

00401B70 | $55 PUSH EBP

Đến đây chúng ta có 2 cách để tìm real serial (1 cách của em, 1 cách của tác giả) nhưng vì đây là bài viết dành cho newbie nên em xin chỉ post 1 cách (của tác giả) Okey, chúng ta tiếp tục nào Bây giờ ta hãy nhấn F9 (hoặc vào Debug\Run) để run chương trình Trong crackme, chúng ta nhập 1 fake serial, của em là 1234567890, nhấn Check Và bùm 1 cái nag văng ra kèm theo thông tin Incorect try again!! Mặc xác nó Bây giờ chúng ta ấn ALT-TAB để chuyển qua Olly, xong ấn ALT-E

để mở cửa sổ Executable modules Cửa sổ Executable modules hiện lên, các bác

Trang 3

thấy trong list có file crackme của chúng ta > click chuột phải vào dòng đó, chọn View names (hoặc nhấn Ctrl-N) 1 cửa sổ khác hiện ra với title Names in

crackme1 Trong list các bác tìm dòng như sau :

Code:

00402000 | rdata | Import | KERNEL32.lstrcmpA

Đây là hàm so sánh > cần set breakpoint > click chuột phải vào dòng đó, chọn Toogle breakpoint on import Bây giờ các bác có thể tắt bớt các cửa sổ trong Olly cho dễ nhìn (nhưng nhớ để lại cửa sổ CPU nha) Xong các bác nhấn ALT-TAB để chuyển qua file crackme, chúng ta nhấn check lại và hãy nhìn xem, cửa sổ Olly nhảy ra => Breakpoint của chúng ta đã hoạt động Thú vị không các bác, đúng là cái thàng Olly này nó hay thật Nhưng cái hay chưa phải đã hết Nếu như trong SoftICE để xem giá trị trong các thanh eax, ecx, edx chúng ta phải đánh d eax , d ecx, d edx thì với Olly mọi thứ đều tự động cả Các bác không tin ư ? Hãy nhìn sang cửa sổ Registers (FPU) bên phải xem Hehehe, có phải các bác thấy 2 số serial không :

Code:

ECX 0012F8B4 ASCII "<BrD-SoB>"

EDX 0012F8C4 ASCII "123456789"

Nhưng đó là 2 số nào, chúng ta hãy tiếp tục nhìn xuống dưới chỗ khung Address : Code:

0012F8A4 | 00401593 | CALL to lstrcmpA from crackme1.0040158D

0012F8A8 | 0012F8C4 | String1 = "1234567890"

0012F8AC | 0012F8B4 | String2 = "<BrD-SoB>"

Thì ra ở đây chương trình so sánh 2 số serial : 1 số thì do chúng ta đánh vào rồi, vậy số kia là gì ? chắc chắn là real serial Okie, chúng ta hãy ghi nó ra giấy nào (hoặc nếu bác nào nhớ được thì cảng tốt) Đóng Olly lại, mở crackme lên, nhập vào

<BrD-SoB> và :)

(còn tiếp)

Using Olly - Phần 2

Using Olly II

Chào các bác, chúng ta lại tiếp tục "sự nghiệp đen tối" của mình nào !!!

Chà, crackme xấu số tiếp theo sẽ là evdcm2

Trang 4

(http://www.xs4all.nl/%7Eanvile/n2c/t c-OllyMan2.zip)

Ở phần 1, em đã hướng dẫn các bác tìm real serial bằng 1 cách, với crackme này

em sẽ hướng dẫn các bác tìm real serial theo 1 cách khác

Chúng ta open cái crackme lên, nhập name : the_lighthouse, serial : 1234567890 Bấm check và 1 nag văng ra : Sorry, Serial not valid Nhấn OK và bụp nó biến mất tiêu Ah, dzậy là cái crackme này khác cái ở phần 1 là sau khi bắn nag ra xong

là nó tự động close lại liền Okey, tiếp theo chúng ta dùng PEiD để check nó, khỏe quá không bị pack

Dùng Olly load nó lên, chúng ta dừng lại ở đây :

Code:

00401099 | $EB 27 | JMP SHORT evdcm2.004010C2

Khác với cách ở phần 1, đến đây chúng ta sẽ tìm nơi mà cái nag Sorry ở trên được gọi Cách làm như sau : click chuột phải chọn Search for\All referenced text strings Cửa sổ Text strings referenced hiện ra, trong list chúng ta thấy dòng sau : Code:

00401223 | PUSH evdcm2.00402117 | ASCII "Sorry, Serial not valid !"

Double click vào dòng đó, chúng ta đến đây :

Code:

0040120E | E8 79000000 | CALL <JMP.&USER32.GetDlgItemTextA | GetDlgItemTextA <== set breakpoint ở đây

00401213 | A3 FB204000 | MOV DWORD PTR DS:[4020FB], EAX

00401218 | 33C0 | XOR EAX, EAX

0040121A | \ EB 19 | JMP SHORT evdcm2.00401235

0040121C | > 6A 00 | PUSH 0 | Style=

MB_OK:MB_APPLMODAL

0040121E | 68 0F214000 | PUSH evdcm2.0040210F | Title =

"CrackMe"

00401223 | 68 17214000 | PUSH evdcm2.00402117 | Text =

"Sorry, Serial not invalid !" <== Chúng ta đang ở đây

00401228 | 6A 00 | PUSH 0 | hOwner = NULL

0040122A | E8 69000000 | CALL <JMP.&USER32.MessageBoxA> |

MessageBoxA

0040122F | 50 | PUSH EAX | ExitCode

00401230 | E8 7B000000 | CALL <JMP.&KERNEL32.ExitProcess> | ExitProcess

00401235 | > 68 50204000 | PUSH evdcm2.00402050

0040123A | 5E | POP ESI

0040123B | E8 C0FDFFFF | CALL evdcm2.00401000

00401240 | A3 FF204000 | MOV DWORD PTR DS:[4020FF], EAX

Trang 5

00401245 | E8 B6FDFFFF | CALL evdcm2.00401000

0040124A | 55 | PUSH EBP

0040124B | B8 07214000 | MOV EAX, evdcm2.00402107

00401250 | 8BE8 | MOV EBP, EAX

00401252 | FE45 00 | INC BYTE PTR SS:[EBP]

00401255 | E8 A6FDFFFF | CALL evdcm2.00401000

Nhìn lên trên chúng ta biết địa chỉ nên đặt breakpoint là 0040120E , click vào đó nhấn F2, xong nhấn F9 để Run chương trình Nhập name : the_lighthouse và serial : 1234567890 Bấm check và ngay lập tức Olly nhảy ra => breakpoint của chúng ta

đã hoạt động và chúng ta ice tại địa chỉ 0040120E

Nhìn xuống dưới chúng ta thấy có 3 lệnh CALL càn chú ý là ở các địa chỉ :

0040123B, 00401245 và 00401255 Nhìn sơ qua thì chúng ta thấy cả 3 lệnh CALL này khá giống nhau, chẳng biết chọn cái nào bây giờ Nhưng em mách cho các bác nhá, chúng ta hãy trace đến lệnh call thứ 3 đó, lí do bởi thường thì lệnh CALL cuối cùng sẽ làm nhiệm vụ CHECK serial (cái này ngộ quá ta :)) Okey, bây giờ chúng

ta trace over đến đó bằng cách dùng F8 - lưu ý ở đây các bác phải dùng trace over nếu không chưa kịp đến "nhà nàng" 00401255 đã bị lạc giữa mê cung assemble thì

dễ xa nhau lắm ;) Xong, đến được nhà nàng rồi, bây giờ chúng ta nhấn F7 (trace into) để mở cửa vào nhà thôi Và đây là bên trong nhà nàng ( hơi bị rộng đấy :sick: ) :

Code:

00401000 | $ 807D 00 01 | CMP BYTE PTR SS:[EBP], 1 <== chúng

ta đang ở đây

00401004 | \ 74 22 | JE SHORT evdcm2.00401028

00401006 | 33C0 | XOR EAX, EAX

0040108B | 5E | POP ESI

0040108C | 3B16 | CMP EDX, DWORD PTR DS:[ESI] <== rất quan trọng

0040108E | \ 75 01 | JNZ SHORT evdcm2.00401091

00401090 | C3 | RET

Okie, chúng ta trace into đến 0040108C thôi Và hãy nhìn vào khung nhỏ nhỏ bên dưới, chúng ta thấy như sau :

Code:

DS : [004020FF]=499602D2

EDX=00472A37

Lệnh CMP dùng để so sánh, vậy ở đây chắc là so sánh 2 số serial giống như ở phần

1 rồi Nhưng mà sao lạ quá , 499602D2 là cái số nào, lúc này ta nhập 1234567890

mà Ah, thì ra đây là hệ hex (hex là hệ thập lục phân) của nó Nếu các bác không tin thì có thể dùng calculator có sẵn trong windows để tính lại Chúng ta quay lại

Trang 6

vấn đề thôi Vậy thì chắc 472A37 là real serial rồi, nhưng mà fake serial được chuyển sang hệ hex thì chắc real serial cũng được chuyển sang hex Vậy ta phải chuyển nó sang hệ dec (hệ thập phân) thôi Và số mà ta tìm được là 4663863 Đóng Olly lại, mở file evdcm2 lên, nhập name : the_lighthouse và serial : 4663863 và

;)

-======THE END====== -

Hi vọng qua bài viết này có thể giúp được các bác phần nào về việc crack soft với OllyDBG - 1 công cụ đa tính năng đa tác dụng mà lại free nữa chứ !!!

Cảm ơn các bác đã theo dõi bài viết của 1 kẻ newbie như em

Chúc các bác may mắn

Thelighthouse(reaonline.net)

NOP một soft = Olly for Newbie

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

TỪ KHÓA LIÊN QUAN