Đăng ký Đăng nhập
Trang chủ Tìm hiểu về crack password cho sản phẩm phần mềm...

Tài liệu Tìm hiểu về crack password cho sản phẩm phần mềm

.DOCX
59
1161
78

Mô tả:

MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC HÌNH VẺ DANH MỤC TỪ VIẾT TẮT CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ BẢO MẬT PHẦN MỀM QUA PASSWORD...........................................................................................................10 1.1 CÁC VẤN ĐỀ VỀ PASSWORD...................................................................10 1.1.1 Khái niệm password.................................................................................10 1.1.2 Các dạng password...................................................................................10 1.1.2.1 Mật khẩu truyền thống.......................................................................10 1.1.2.2 Mật khẩu dạng hình ảnh....................................................................11 1.1.2.3 Mật khẩu dùng một lần duy nhất.......................................................13 1.1.3 Tầm quan trọng của password..................................................................14 1.2 CÁC LOẠI PROTECTION CƠ BẢN CỦA PHẦN MỀM...........................14 1.2.1 Registration Number (Serial-Number) Protection...................................15 1.2.1.1 Registration Number không đổi.........................................................15 1.2.1.2 Registration Number thay đổi dựa vào thông tin nhập vào...............16 1.2.1.3 Registration Number thay đổi dựa vào máy của người sử dụng.......16 1.2.1.4 Registration Number Protection trong VisualBasic 4.......................17 1.2.1.5 Registration Number được kiểm tra Online......................................19 1.2.2 Time Limited Programs...........................................................................19 1.2.2.1 Time Limit bị gỡ bỏ khi ta nhập đúng Registration-Number.............20 1.2.2.2 Time Limit bị gỡ bỏ khi tìm thấy Registration Key File (.REG)........21 1.2.2.3 Time Limit không thể bị gỡ bỏ, người dùng phải mua bản đầy đủ không bị giới hạn thời gian............................................................................21 1.2.2.4 Time Limit dựa vào số lần mà ta đã khởi động chương trình...........22 1.2.3 Registration Key File (Key File) Protection............................................22 1.2.3.1 Một vài chức năng của chương trình sẽ bị khóa nếu không có Registration key file.......................................................................................22 1.2.3.2 Chương trình sẽ giới hạn thời gian sử dụng nếu không có Registration key file.......................................................................................23 1.2.4 Hardware Key (Dongle) Protection.........................................................23 1.2.4.1 Chương trình sẽ không thể chạy nếu không có Hardware-Key.........23 1.2.4.2 Một vài chức năng của chương trình sẽ bị giới hạn nếu không có Hardware Key................................................................................................24 CHƯƠNG 2: CÁC PHƯƠNG THỨC BẺ KHÓA PHẦN MỀM...........................25 2.1 GIỚI THIỆU CHUNG VỀ PHẦN MỀM.......................................................25 2.1.1 Phần mềm miễn phí..................................................................................25 2.1.2 Phần mềm thu phí.....................................................................................26 2.2 CÁCH THỨC BẺ KHÓA PHẦN MỀM........................................................26 2.2.1 Serial........................................................................................................27 2.2.1.1 Giới thiệu...........................................................................................27 2.2.1.2 Cách sử dụng.....................................................................................28 2.2.1.3 Lưu ý..................................................................................................29 2.2.2 Keygen (Key Generator-Key Maker).......................................................29 2.2.2.1 Giới thiệu...........................................................................................29 2.2.2.2 Cách sử dụng.....................................................................................29 2.2.2.3 Lưu ý..................................................................................................31 2.2.3 REG File...................................................................................................31 2.2.3.1 Giới thiệu...........................................................................................31 2.2.3.2 Cách sử dụng.....................................................................................31 2.2.3.3 Lưu ý..................................................................................................32 2.2.4 Loader......................................................................................................32 2.2.5 Patch.........................................................................................................33 2.2.5.1 Giới thiệu...........................................................................................33 2.2.5.2 Cách sử dụng.....................................................................................33 2.2.5.3 Lưu ý..................................................................................................34 2.2.6 Crack........................................................................................................34 2.2.6.1 Giới thiệu...........................................................................................34 2.2.6.3 Lưu ý..................................................................................................35 2.2.7 Fixed.........................................................................................................35 2.2.7.1 EXE Fixed..........................................................................................35 2.2.7.2 IMG Fixed..........................................................................................36 2.2.8 Các dạng Fixed khác................................................................................38 2.3 CÁC CÔNG CỤ HỖ TRỢ CHO CRACK PASSWORD..............................38 2.3.1 Ollydb.......................................................................................................38 2.3.1.1 Giới thiệu...........................................................................................38 2.3.1.2 Thành phần của chương trình Ollydbg..............................................39 2.3.2 PeiD..........................................................................................................42 2.3.2.1 Giới thiệu...........................................................................................42 2.3.2.2 Chức năng..........................................................................................42 CHƯƠNG 3: THỬ NGHIỆM CRACK PASSWORD VỚI OLLYDBG...............44 3.1 KỊCH BẢN.....................................................................................................44 3.1.1 Giới thiệu..................................................................................................44 3.1.2 Yêu cầu.....................................................................................................44 3.2 THỰC HIỆN..................................................................................................45 3.2.1 Phân tích...................................................................................................45 3.2.2 Lựa chon giải pháp và công cụ.................................................................45 3.2.3.1 Yêu cầu 1............................................................................................46 3.2.3.2 Yêu cầu 2............................................................................................50 3.2.4 Nhận xét...................................................................................................56 3.3 KẾT QỦA DEMO..........................................................................................57 3.3.1 Yêu cầu 1..................................................................................................57 3.3.2 Yêu cầu 2..................................................................................................57 KẾT LUẬN.............................................................................................................59 TÀI LIỆU THAM KHẢO.......................................................................................60 DANH MỤC HÌNH VẼ Hình 1.1 Nhập mật khẩu qua hình ảnh....................................................................12 Hình 1.2 Chọn mật khẩu qua hình ảnh....................................................................12 Hình 1.4 Tạo mật khẩu mới trong quá trình đăng nhập..........................................14 Hình 1.5 Registration-Number không đổi...............................................................15 Hình 1.6 Registration Number thay đổi dựa vào thông tin nhập vào......................16 Hình 1.7 Registration-Number thay đổi dựa vào máy của người sử dụng..............17 Hình 1.8 Registration Number trong VB4..............................................................17 Hình 1.9 Registration Number được kiểm tra online..............................................19 Hình 1.10 Thời hạn dùng thử của một phần mềm...................................................20 Hình 1.11 Thời hạn sử dụng của chương trình AVP...............................................20 Hình 1.12 Thông tin của phần mềm được xác nhận qua file Reg...........................21 Hình 1.13 Bản dùng thử của một chương trình.......................................................21 Hình 1.14 Registration key file của một chương trình............................................22 Hình 1.15 Cảnh báo lỗi khi không có Hardware key.............................................23 Hình 1.16 Chương trình bị giới hạn khi có Hardware key......................................24 Hình 2.1 Serial cho một phần mềm.........................................................................28 Hình 2.2 Serial nằm trong những file Text..............................................................28 Hình 2.3 Keygen của chương trình tăng tốc download...........................................29 Hình 2.4 Tiến hành lấy mã của của một số loại keygen..........................................30 Hình 2.5 File đăng ký của chương trình..................................................................31 Hình 2.6 Phần mềm them thông tin vào Regedit.....................................................31 Hình 2.7 Khi đăng ký một chương trình bằng file reg............................................31 Hình 2.8 Đăng ký window bằng Loader.................................................................32 Hình 2.9 Phiên bản Patch của chương trình tăng tốc download..............................33 Hình 2.10 Cách thực thi Patch đối với chương trình...............................................34 Hình 2.11 Cách thực thi của EXE Fixed.................................................................36 Hình 2.12 Các bảng thông báo khi không có đĩa....................................................37 Hình 2.13 Giao diện của chương trình Ollydbg......................................................39 Hình 2.14 Cửa số chính của chương trình...............................................................40 Hình 2.15 Cửa sổ Register.......................................................................................41 Hình 2.16 Giao diện của chương trình Peid............................................................42 Hình 3.1 Giao diện của chương trình Crackme.......................................................46 Hình 3.2 Thông tin không hợp lệ............................................................................46 Hình 3.3 Mở Crackme bằng Ollydbg......................................................................47 Hình 3.4 Các mô đun khi được gọi.........................................................................47 Hình 3.5 Thông báo nhập thông tin và Regcode khi ta chạy từ điểm F2................48 Hình 3.6 Reg code đã xuất hiện...............................................................................48 Hình 3.7 Sao lưu Reg code của User ban đầu.........................................................49 Hình 3.8 Kiểm tra Regcode có hợp lệ không..........................................................49 Hình 3.9 Reg code hợp lệ........................................................................................50 Hình 3.10 Giao diện khới động của Winrar............................................................50 Hình 3.11 Mở Winrar bằng Ollydbg.......................................................................51 Hình 3.12 Chương trình chạy sau khi F9................................................................51 Hình 3.13 Debug chương trình................................................................................52 Hình 3.14 Thông báo Purchase của Winrar.............................................................52 Hình 3.15 Đoạn code về Purchase...........................................................................53 Hình 3.16 NOP để bỏ qua hộp thoại thông báo.......................................................53 Hình 3.17 Sao lưu đoạn code mà ta đã sửa.............................................................54 Hình 3.18 Thông báo copy all đoạn code trên.........................................................54 Hình 3.19 Đoạn code mà ta sao lưu đã xuất hiện....................................................55 Hình 3.20 Thông báo ghi đè tập tin của chương trình.............................................55 Hình 3.21 Giao diện Winrar sau khi Crack.............................................................56 Hình 3.22 Crack me trước khi crack.......................................................................57 Hình 3.23 Crack me sau khi crack...........................................................................57 Hình 3.24 Winrar trước khi crack...........................................................................58 Hình 3.25 Winrar sau khi crack...............................................................................58 DANH MỤC TỪ VIẾT TẮT Từ viết tắt API CTSS MIT NOP OTP Tên đầy đủ Application Programming Interface Compatible Time Sharing System Massachusetts Institute of Technology No operation One time password LỜI MỞ ĐẦU Trong thời đại công nghệ thông tin hiện nay ngoài sự phát triển của các công nghệ mới, các kỹ thuật tiên tiến hiện đại, các sản phẩm phần cứng .v.v. thì sự phát triển của sản phẩm phần mềm cũng không ngoại lệ nó phát triển sao cho phù hợp với nhu cầu của thời đại, sự cạnh tranh giữa các sản phẩm phần mềm. Đặc biệt là nhu cầu của người sử dụng với sự phát triển những tính năng mới, lẫn giao diện thì việc phát triển các mức độ bảo vệ cho phần mềm cũng rất quan trọng.Các mức độ bảo vệ này đảm bảo cho sự sử dụng hợp lệ của những sản phẩm phần mềm, lợi ích của người phát triển chúng. Bên cạnh đó thì có những người có những kỹ năng am hiểu hệ thống, và phát triển phần mềm thì họ tìm cách vượt qua những mức độ bảo vệ của nhà sản xuất phần mềm. Nó là một quá trình phát hiện ra các công nghệ cơ bản của một đối tượng hay một hệ thống thông qua việc phân tích cấu trúc ,chức năng và cách vận hành của chúng và kỹ thuật đó được gọi là kỹ thuật đảo ngược. Chính vì những lý do trên em đã chọn đề tài “TÌM HIỂU VỀ CRACK PASSWORD CHO SẢN PHẨM PHẦN MỀM” để nghiên cứu và thực hiện khóa luận tốt nghiệp lần này. Nội dung khóa luận tốt nghiệp bao gồm ba chương:  Chương 1: Giới thiệu tổng quan về bảo mật phần mềm qua password.  Chương 2: Giới thiệu khái quát về phần mềm và các phương thức bẻ khóa phần mềm.  Chương 3: Thử nghiệm Crack password với Ollydbg và demo một số chương trình đơn giản. CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ BẢO MẬT PHẦN MỀM QUA PASSWORD 1.1 CÁC VẤN ĐỀ VỀ PASSWORD 1.1.1 Khái niệm password Mật khẩu thường là một xâu, chuỗi, loạt các kí tự mà dịch vụ Internet, phần mềm, hệ thống máy tính yêu cầu người sử dụng nhập vào bằng bàn phím trước khi có thể tiếp tục sử dụng một số tính năng nhất định. Mật khẩu có thể đi cặp với tên truy nhập khi hệ thống cần phân biệt các người sử dụng khác nhau 1.1.2 Các dạng password 1.1.2.1 Mật khẩu truyền thống Công nghệ bảo mật bằng mật khẩu (password) đã được áp dụng từ những ngày đầu tiên khi máy tính xuất hiện.Năm 1961, viện công nghệ MIT cho ra mắt một trong những hệ thống chia sẻ đầu tiên trên thế giới – CTSS – cùng với hệ thống mật khẩu sơ khai bao gồm lệnh LOGIN, yêu cầu người dùng nhập vào mật khẩu.Sau khi nhập lệnh PASSWORD, người dùng sẽ phải nhập tiếp mật khẩu của mình để được hệ thống xác nhận. Cũng trong thập niên 1960, công nghệ bảo mật bằng mật khẩu dần được hoàn thiện thành dạng password được sử dụng phổ biến nhất cho đến ngày nay: alpha – numeric password, tức mật khẩu dưới dạng một chuỗi các chữ cái và chữ số. Bất kỳ chuỗi ký tự nào cũng có thể trở thành mật khẩu, nhưng người dùng được khuyến cáo nên đặt mật khẩu của mình phức tạp đủ để không bị người khác đoán ra.Mật khẩu càng phức tạp, khó đoán thì độ bảo mật càng cao.Tuy nhiên, độ phức tạp của mật khẩu cũng tỉ lệ nghịch với việc người dùng có thể nhớ chúng một cách dễ dàng. Ngoài việc khó có thể tự đặt ra một mật khẩu đủ khó để không bị người khác đoán ra nhưng cũng phải đủ dễ để chính bản thân người dùng có thể ghi nhớ, alpha – numberic password còn phải đối mặt với các cuộc tấn công chiếm password và các chương trình đánh cắp mật khẩu Dạng tấn công phổ biến nhất là tấn công tra cứu từ điển (dictionary attack) phương thức này hiểu đơn giản là kiểu đoán mật khẩu với các cụm từ có nghĩa thường được nhiều người chọn dùng làm mật khẩu (thay vì các chuỗi ký tự ngẫu nhiên như được khuyến cáo), kẻ tấn công sẽ dùng chương trình tự động thử tất cả các từ có nghĩa trong từ điển để bẻ khóa password. Ngoài ra còn có hàng trăm chương trình keylogger được sử dụng để ghi nhận quá trình nhập password của nạn nhân rồi tự động gửi thông tin về cho kẻ có ý muốn đánh cắp password đó.Hoặc kiểm tra cứu từng ký tự trong mật khẩu (brute-force attack), chương trình sẽ tự động dò tìm từng ký tự trong chuỗi mật khẩu. Tuy dạng brute-force attack có tỉ lệ phá mật khẩu cao nhưng nếu người dùng sử dụng các loại mật khẩu bao gồm nhiều ký tự chữ và số xen lẫn ký tự đặc biệt thì có thể phải mất nhiều năm mới có thể tìm ra chuỗi mật khẩu hoàn thiện (Ví dụ: n$W0k1J^57$h@k3R mật khẩu được cho là có tính bảo mật cao nhưng lại khó nhớ). Trước sự đe dọa của các chương trình đánh cắp mật khẩu, việc phát minh ra nhiều dạng password mới thay thế cho kiểu truyền thống là hết sức cần thiết, và mật khẩu hình ảnh cùng với mật khẩu một lần là 2 trong số những số ấy. 1.1.2.2 Mật khẩu dạng hình ảnh Về cơ bản, con người có xu hướng ghi nhớ các thông tin dưới dạng hình ảnh dễ dàng hơn thông tin dưới các dạng khác.Chúng ta có thể gặp khó khăn khi phải nhớ một chuỗi 50 ký tự, nhưng lại dễ dàng nhớ gương mặt của những người ta đã gặp, những nơi ta đã đến và những thứ ta đã thấy.Dựa vào đặc điểm này, người ta đã tạo ra mật khẩu hình ảnh (graphical password). Để đăng nhập vào một website hay hệ thống được bảo mật bằng graphical password, thay vì phải nhập một chuỗi ký tự như ở alpha – numberic password, người dùng sẽ được yêu cầu ấn chuột vào 4 điểm trên bức ảnh mà hệ thống đưa ra.Bốn điểm này chính là mật khẩu mà họ đã xác định và ghi nhớ trong quá trình tạo mật khẩu. Dĩ nhiên người dùng cũng có thể chọn số lượng điểm bí mật nhiều hơn 4 để tăng độ bảo mật. Hình 1.1 Nhập mật khẩu qua hình ảnh Ở một hình thức khác, người dùng sẽ chọn và ghi nhớ 4 hoặc nhiều hơn các biểu tượng trong quá trình tạo password và chọn lại chúng trong hàng loạt biểu tượng được sắp xếp ngẫu nhiên và thay đổi trong quá trình đăng nhập. Hình 1.2 Chọn mật khẩu qua hình ảnh Một thuật toán khác: khi đăng ký tài khoản, người dùng sẽ tạo password bằng cách chọn các biểu tượng do máy chủ cung cấp. Khi đăng nhập, những biểu tượng này sẽ được thu nhỏ và xoay theo các chiều khác nhau, người dùng lúc này sẽ phải nhận ra biểu tượng mà mình đã chọn, sau đó nhập vào ô password những ký tự hiện bên dưới biểu tượng đó. Giải pháp này khá mất thời gian nên vẫn còn đang trong giai đoạn thăm dò ý kiến người dùng. Hình 1.3 Chọn mật khẩu qua biểu tượng Điểm mạnh của graphical password là dễ nhớ mà mức độ bảo mật lại cao vì hacker không thể sự dụng cách tấn công từ điển để đánh cắp mật khẩu và các chương trình keylogger cũng trở nên vô dụng vì các biểu tượng được xáo trộn ngẫu nhiên mỗi lần đăng nhập.Tuy nhiên bạn cũng có thể bị lộ password nếu người khác quan sát và ghi nhớ các biểu tượng cũng như điểm ảnh bạn chọn mỗi lần đăng nhập. 1.1.2.3 Mật khẩu dùng một lần duy nhất Nguyên lý hoạt động của mật khẩu một lần (One time password - OTP) như sau: sau khi đã đăng ký dịch vụ, mỗi lần muốn đăng nhập, người dùng sẽ được cung cấp một mật khẩu tạo ra bởi đầu đọc và thẻ thông minh hay thiết bị tạo mật khẩu cầm tay (token) nhờ vào kết nối internet với máy chủ của dịch vụ cung cấp OTP hoặc cũng có thể thông qua thẻ OTP in sẵn hhay điện thoại di động mà không cần đến kết nối internet. Mật khẩu này sẽ tự mất hiệu lực sau khi người dùng đăng xuất (log out) ra khỏi hệ thống.Như vậy, nếu bạn bị lộ mật khẩu thì người có được mật khẩu đó cũng không thể dùng được, và do đó giải pháp OTP có tính bảo mật rất cao. Hình 1.4 Tạo mật khẩu mới trong quá trình đăng nhập Quá trình tạo mật khẩu mới sẽ lặp lại mỗi lần người dùng đăng nhập vào hệ thống được bảo mật bằng OTP.Công nghệ OTP được dùng nhiều trong chứng thực trực tuyến (thương mại trực tuyến).Hiện nay người dùng các thiết bị cầm tay như iPhone, Blackberry cũng có thể tự cài đặt cơ chế bảo mật OTP bằng các chương trình như VeriSign, RSA SecureID hay SafeNet MobilePASS. 1.1.3 Tầm quan trọng của password Có rất nhiều lý do để sử dụng mật khẩu. Dưới đây là một số lý do phổ biến:  Để ngăn chặn truy cập trái phép đến thông tin quan trọng.  Để đảm bảo an ninh thông tin cá nhân.  Để ngăn chặn nguy cơ trái phép truy cập vào tài khoản người dùng, chẳng hạn như máy tính và tài khoản email.  Để có thể sử dụng một số dịch vụ Internet khác nhau một cách an toàn. 1.2 CÁC LOẠI PROTECTION CƠ BẢN CỦA PHẦN MỀM Một Software sau khi được đưa vào mục đích thương mại thì luôn được xử lý nhằm tránh việc ăn cắp bản quyền (license) gây thiệt hại cho nhà sản xuất. Thế nhưng việc xử lý này được tiến hành như thế nào.Nó là 1 module nhỏ trong nhằm xác định tính chủ quyền những ai đã mua Software.Module này có rất nhiều hình thức biến hóa nhằm ngăn chặn đến mức tối đa việc xâm phạm bản quyền (bao gồm việc sử dụng softwares ở mức độ không được sự đồng ý của nhà sản xuất, hoặc ăn cắp các giải thuật để code lại một Software khác cạnh tranh, v...v). 1.2.1 Registration Number (Serial-Number) Protection Những chương trình sử dụng loại này yêu cầu người sử dụng nhập vào một Registration-Number để đăng ký.Có nhiều loại Registration-Number bao gồm:  Registration-Number luôn luôn giống nhau.  Registration-Number thay đổi dựa vào các thông tin nhập vào như tên công ty,tên người sử dụng v.v...  Registration-Number thay đổi dựa vào máy người dung.  Registration-Number được bảo vệ trong các chương trình được viết bằng Visual Basic hoặc Borland Delphi.  Registration-Number được kiểm tra online. 1.2.1.1 Registration Number không đổi Một chương trình được bảo vệ bằng phương pháp này yêu cầu người dung nhập vào một số đăng ký như hình trên: Hình 1.5 Registration-Number không đổi Tiện lợi của phương pháp bảo vệ này so với các kỹ thuật bảo vệ Registration-Number khác là correct Registration-Number không cần lưu trong bộ nhớ rồi đem so sánh với Registration-Number được nhập vào mà cả hai sẽ được XORed hoặc tính toán rồi lấy hai kết quả đó để so sánh với nhau.Dĩ nhiên là các lập trình viên có thể sử dụng các phép tính phức tạp hoặc mã hóa nhiều sections của chương trình để làm cho các Crackers khó mà tìm được một Registration-Number chính xác. 1.2.1.2 Registration Number thay đổi dựa vào thông tin nhập vào Đây là một protection được sử dụng phổ biến.Với các loại protection này thì trước khi nhập vào một Registration-Number bạn phải nhập tên,công ty,hoặc các thông tin khác và một correct Registration-Number sẽ thay đổi dựa vào thông tin bạn nhập vào. Hình 1.6 Registration Number thay đổi dựa vào thông tin nhập vào Nếu bạn nhập vào Registration Number mà không đúng với thông tin đã nhập thì sự đăng ký đó sẽ không thành công. 1.2.1.3 Registration Number thay đổi dựa vào máy của người sử dụng Đây là một protection rất khó chịu cho các Crackers,bởi vì chương trình được đăng ký ở máy này nhưng khó có thể đăng ký ở máy khác bởi vì Registration-Number sẽ thay đổi dựa vào thông tin của ổ cứng … Hình 1.7 Registration-Number thay đổi dựa vào máy của người sử dụng Đối với loại protection này thì ta phải tìm ra cho được đoạn code dùng để phát hiện các thông tin của máy tính như ổ cứng… và đoạn code kiểm tra tính hợp lệ của Registration-Number nhập vào. 1.2.1.4 Registration Number Protection trong VisualBasic 4 a. Visual Basic 4 Đối với các chương trình viết bằng VB4 thì một cracker có kinh nghiệm chỉ cần chưa đầy 5 phút là có thể tìm ra được Correct Registration-number bởi vì các chương trình được viết bằng VB4 đều sử dụng cùng một thư viện VB40016.DLL (VB40032.DLL) để so sánh Correct Registration-number với Registration-number nhập vào. Hình 1.8 Registration Number trong VB4 Thậm chí khi một chương trình được viết bằng VB4 dùng phương pháp khác để so sánh với Registration-number được nhập vào thì ta cũng có thể dễ dàng tìm ra Correct Registration-number trong bộ nhớ bởi vì một Correct Registration-number luôn được đặt gần với fake Registration-number,do đó chỉ cần tìm ra fake Registration-number là ta có thể tìm được Correct Registration-number. Tiện lợi của các chương trình được viết bằng VB4 là khó trace trong SoftIce bởi vì code của nó không được compiled ra mã máy (machine code) mà được compiled thành các mã giả (pseudo-instructions).Các mã giả này chỉ được thực thi khi chương trình bắt đầu chạy. b. Cracked trong VB4 Đối với các chương trình VB4 16-bit, thì phải tìm trong memory và trong VB40016.DLL đoạn sau: 8BF88EC21EC5760E33C0F3A674051BC01DFFFF rồi đặt breakpoint vào nơi tìm ra đoạn code. Sau trace tới repz cmpsb (dùng để so sánh giữa Correct Registration-number và fake Registration-number) rồi nhìn vào địa chỉ es: di và ds: si để tìm ra Correct Registrationnumber. Hầu hết các chương trình VB4 32-bit sử dụng hàm MultiByteToWideChar trong thư viện VB40032.DLL để so sánh hai chuỗi.Việc cần làm là đặt breakpoint tại hàm hmemcpy trước khi nhấn OK và trace cho tới khi vào VB40032.DLL rối tìm trong memory các bytes sau: 56578B7C24108B74240C8B4C2414 Đặt breakpoint vào địa chỉ tìm được sau đó nhấn OK c. VB5 and Higher, VB5 and Higher compiled in P-code (packed code) Chương trình viết bằng VB5 (or P-code) thì khó crack hơn VB4. Các crackers thường không muốn crack các chương trình được viết bằng VB (hoặc Delphi) bởi vì code của nó khó đọc và khó hiểu, hơn nữa lại mất nhiều thời gian để trace Để crack các chương trình viết bằng VB thì các crackers thường sử dụng các phương pháp phát sinh ra một Registration-number chỉ để cho một người dùng hoặc sửa code để chương trình chấp nhập các Registration-number nhập vào. Chỉ có những crackers xuất sắc mới tạo ra được keygen bởi vì code của nó rất khó hiểu (và công cụ thường sử dùng là SmartCheck). 1.2.1.5 Registration Number được kiểm tra Online Một vài phần mềm dùng Internet để kiểm tra các Registration-Number Hình 1.9 Registration Number được kiểm tra online Khi mà các Registration-Number được nhập vào thì nó sẽ được gửi tới server thông qua Internet.Server này sẽ kiểm tra và trả về một giá trị cho biết Registration-Number đó có đúng không Chương trình sẽ xử lý giá trị này và quyết định đoạn chương trình có được đăng ký hay không, phần lớn các protection này rất đơn giản, một cracker có kinh nghiệm có thể loại bỏ một cách dễ dàng. 1.2.2 Time Limited Programs Đây là loại chương trình sẽ không cho sử dụng nếu hết hạn dùng thử, nhưng protection này không hiệu quả lắm bởi vì một khi giới hạn Time Limits mà bị cracked thì ta có thể sử dụng toàn bộ chức năng của chương trình. Time Limits được thực thi bằng nhiều cách:  Time Limit bị gỡ bỏ khi ta nhập đúng Registration-Number.  Time Limit bị gỡ bỏ khi tìm thấy Registration File. Hình 1.10 Thời hạn dùng thử của một phần mềm  Time Limit không thể bị gỡ bỏ, người dùng chỉ còn lựa chọn duy nhất là mua bản quyền đầy đủ mà không bị giới hạn thời gian.  Time Limit dựa vào số lần mà chương trình đã chạy.Khi đạt tới số lần quy định thì chương trình sẽ không cho sử dụng nữa. 1.2.2.1 Time Limit bị gỡ bỏ khi ta nhập đúng Registration-Number Protection này cũng tương tự các protection đã trình bày,có cái khác là nếu correct Registration-Number không được nhập vào, chương trình sẽ không được đăng ký và nó sẽ không chạy sau khi hết hạn dùng thử. Hình 1.11 Thời hạn sử dụng của chương trình AVP
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất