Create Patcher

Hiện nay patcher đã không còn là một thuật ngữ xa lạ với các Cracker cũng như các Reverser trên thế giới. Và ngay cả người dùng bình thường cũng đã nhiều lần nghe đến thuật ngữ này khi phải down các bản patch vá lỗi của Windows.
• Như vậy, patch có thể hiểu là các gói phần mềm nhỏ để sửa đổi, bổ sung một phần mềm lớn đã được phát hành. Thế mạnh của các bản patch chính là sử nhỏ gọn và tính tức thời. Lấy Windows làm ví dụ, khi Microsoft phát hiện ra một lỗi bảo mật của Windows, họ sẽ tung ra các bản vá lỗi. Thực chất các bản vá lỗi này chính là các bản patch. Sau khi người dùng cuối down các bản patch này về, các bản patch sẽ tự động sửa chữa các tập tin, các config gây nên lỗi bảo mật đó.
• Tuy nhiên, cùng với sự phát triển nhanh chóng của IT thì “nghĩa” của từ patch, cũng như mục đích của nó đã dần thay đổi, nhất là trong lĩnh vực Reverse. Trong lĩnh vực này, patch đồng nghĩa với việc thay đổi thuộc tính của một chương trình theo ý muốn của một Cracker. Và đặc biệt patch được sử dụng rất nhiều trong việc bẻ khóa phần mềm (Lưu ý: Cracker = Criminal Hacker có nghĩa không chỉ là những người bẻ khóa phần mềm).

o Ví dụ: Khi chúng ta sử dụng 1 phần mềm Trial với thời gian giới hạn. Sau 30 ngày phần mềm sẽ tự động „ngưng chạy“ và bắt chúng ta phải mua phần mềm đó. Tuy nhiên, với kiến thức về Reverse, các Cracker bắt đầu tiến hành patch phần mềm đó để nó có thể chạy „mãi mãi“ mà không cần đăng ký. Để làm được như vậy các Cracker sẽ tiến hành sửa mã nguồn của phần mềm bằng các công cụ chuyên dụng. Sau khi sửa chữa mã nguồn xong, Cracker đã có 1 phiên bản đã bị patch hoạt động theo ý muốn của họ. Không chỉ dừng lại ở việc sử dụng riêng cho mình, đôi khi vì „giúp đỡ bè bạn“, các Cracker đưa lên mạng phiên bản đã patch này. Đến đây, một vấn đề khác lại nảy sinh. Giả sử phiên bản patch đó nặng 20MB thì việc đưa lên mạng và tải xuống quả thật là … khó khăn!!! Để giải quyết vấn đề này thì phải làm sao?
• Và để trả lời cho câu hỏi trên thì patcher được ra đời. Cũng giống như các bản patch vá lỗi của Windows, patcher cũng chính là một gói phần mềm. Nhiệm vụ của nó là thay đổi mã nguồn của một phần mềm định trước ở những vị trí định trước trong mã nguồn.
• Như vậy, khi tạo một patcher thực chất là chúng ta đang lập trình một bản patch. Trong ví dụ dưới đây, chúng ta sẽ sử dụng bộ lập trình Visual Studio .NET và lấy Sample Crackme của rongchaua làm ví dụ…

http://hintdesk.com/Web/Tut/Programming/File/OffsetPatcherInDotNet.zip

Leave a Reply

Your email address will not be published. Required fields are marked *