1. Trang chủ
  2. » Giáo án - Bài giảng

giới thiệu về crack

2 426 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

Lời nói đầu Requirement: Cracking theo Zombie thực chất cũng là một hình thức nghiên cứu Applipcation biến hóa đi nhằm mục đích có được license một cách không chính thức. Do đó các kiến thức lập trình là điều tối thiểu các bạn cần có .tuy không quá nhất thiết phải biết nhiều ngôn ngữ hay phải nắm thật quá rõ Assembly như các bạn thường nói. Các chính là một số vốn kiến thức lập trình về một ngôn ngữ nào đó, phần Assembly có thể chỉ cần nắm sơ khái niệm cũng như .bảng tra ý nghĩa một số lệnh thông dụng (còn mã máy thì có thể chẳng cần biết vì ta hoàn toàn có công cụ làm việc này) Ngoài ra các toolz Debuger, DeComplier v v. Zombie sẽ lần lượt giới thiệu và đưa link down. Khái niệm về việc Protect License của Softwarez A. Định nghĩa việc protect của softwarez: Quote: - 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. Có thể gọi nó là module Protect License. - 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) B. Loại Protect bằng Registration Number Registration−Number (Serial−Number) Protection: Đây là hình thức sử dụng phổ biến nhất. Chương trình sự dụng registration−number yêu cầu user nhập registration number để đăng kí. The registration number phụ thuộc vào các tiêu chuẩn riêng biệt theo sự sắp đặt của nhà sản xuất. Và trong chính bản thân loại protect này có nhiều hình thức phân loại như sau (ở đây tạm thời chỉ đưa ra một số dạng cơ bản thường gặp nhất) Quote: + Registration number luôn luôn là một hằng số được lưu trữ sẵn: Cách đơn giản nhất là lưu sẵn trong app một giá trị cố định. Người dùng sau khi đăng kí với nhà sản xuất sẽ có được giá trị này để nhập vào. + Registration number thay đổi phụ thuộc thông tin đăng kí như (company, name, and so on): Cao hơn chút Với cách này ứng với từng user sẽ có thông tin Register khác nhau. + Registration number thay đổi lệ thuộc vào user's computer: Dạng này thì lấy thông tin đăng kí dựa vào thông tin Computer của customer để tạo ra Registration Number. Với dạng này App chỉ có thể được sử dụng như là Registered trên 1 máy duy nhất. + Registration number được check online: Thực chất cũng tương tự các dạng khác, nhưng sử dụng hình thức connect với server nhà sản xuất, từ đó sẽ có thông tin trả về nhằm register chương trình. Còn rất nhiều loại protect khác .Nhưng tạm thời ta sẽ xoay quanh các loại chính này. - Oki .Như đã nói trên, Softwares khi được phát hành sẽ có những module protect license. Vấn đề ở đây ! Làm sao có thể qua được những protect này, để có thể sử dụng chương trình như là đã registered ? Tuy nhiên muốn làm được như thế ta cần phải hiểu protect loại gì, và sự protect đó diễn ra như thế nào trong chương trình khi nó thực thi. Cách duy nhất là phải “đọc” diễn tiến quá trình xử lý để rút ra cách chống lại chính nó. - Việc “đọc” quá trình protect, tất nhiên sẽ rất dễ dàng làm nếu như có trong tay source code chương trình -->> Thực tế là không khả thi vì đâu ai cung cấp cho ta. Vậy ta phải “đọc” dưới dạng một ngôn ngữ khác Ngôn ngữ assembly. Một ngôn ngữ máy. ( vì một chương trình khi thực thi luôn được đưa về ngôn ngữ máy để tiến hành, ta sẽ “đọc” ở quá trình này). - Khi DeComplie (ASM) ta chỉ có thể đọc được source của nó dưới dạng mã máy hoặc ngôn ngữ gần mã máy lê assembly. Nhưng cách lêm nêy khá bất lợi vì khi desource ta phải đọc chay source asm Mê điều nêy không phải dễ đề tìm ra module cần thiết (module protect). Với các bạn học về lẪp trình cũng sẽ biết khái niệm debug .Nghĩa lê ta vẫn cứ cho ứng dụng chạy bình thường, nhưng trong một chế độ đặc biệt gọi lê Debug nhằm kiểm soát diễn tiến để có thể fix bugs.-->> Ứng dụng điều nêy vêo việc tìm hiểu diễn tiến của phần mềm để tìm ra cách xỪ lý protect ! Và phục vụ cho các việc này ta có những công cụ như debugger, decomplier v v C. Think to Crack: Phần này sẽ giúp các bạn có cách nhìn cơ bản vào một softwares để định hướng Crack sẽ làm Quote: - Như đã nói qua, module Protect license có nhiều loại biến hóa khác nhau và ứng với mỗi cách ta có những hướng giải quyết khác nhau. Vì thế việc làm đầu tiên là xác định loại protect. - Sau đó là quá trình cách trace đến module protect license này. �*̉ phần này rất rất đa dạng, các bạn cần linh động thay đổi hướng giải quyết nhằm phù hợp với các trường hợp. Tuy nhiên một số cách làm chính như sau: + Tìm cách set Breakpoint từ các APIs thông dụng như GetWindowTextA, GetDlgItemTextA, SendMessages, MessageBoxA: Vì sao ta lại chọn những hàm APIs này? Cũng đơn giản thôi: Trong đa phần trường hợp nhập Registration Infor vào thì luôn có việc chương trình sẽ lấy thông tin ta nhập vào (GetWindowTextA, GetDlgItemTextA, SendMessages). Sau đó là trả về thông báo cho biết việc nhập vào Information trên là valid or not? (MessageBoxA, MeesageBeep). Với cách làm này là tốt nhất vì cho phép ta đến ngay được trước quá trình xử lý thông tin Registration (tức là trước khi module Protect license được gọi) + Hoặc cách khác đơn giản khác là từ String thông báo trả về (Example: “Your Serials No entered is not invalid”). Từ vị trí các string này ta cũng có thể lần được ngược về quá trình xử lý. Tuy nhiên điều này đôi lúc khá phức tạp. + Tương tự cách đầu tiên nhưng ta xử lý với các APIs khác như: RegQueryValue, RegOpenKeyExA, ReadFile v v để xứ lý với trường hợp dùng RegKey hoặc KeyFile. - Sau khi tìm ra được module Protect license điều cần quan tâm là ta trace into vào nó để xem đoạn code xử lý của nó và đưa ra cách Crack ( Keygen hoặc Patch ). Thân . decomplier v v C. Think to Crack: Phần này sẽ giúp các bạn có cách nhìn cơ bản vào một softwares để định hướng Crack sẽ làm Quote: - Như. không phải dễ đề tìm ra module cần thiết (module protect). Với các bạn học về lẪp trình cũng sẽ biết khái niệm debug .Nghĩa lê ta vẫn cứ cho ứng dụng

Ngày đăng: 03/07/2013, 21:51

Xem thêm: giới thiệu về crack

TỪ KHÓA LIÊN QUAN

w