Phương pháp Bẻ khóa phần mềm với tập tin DLL: 7 Bước

Bạn đã bao giờ muốn tìm hiểu cách tự chống sao chép của một chương trình chưa? Với những công cụ thích hợp, bạn sẽ có thể phân tích sự vận hành bên trong của một chương trình và xem cách mà quá trình chống sao chép hoạt động. Với hợp ngữ (Assembly – một loại ngôn ngữ lập trình bậc thấp), bạn thậm chí có thể thay đổi những chương trình này để dùng mà không cần phải đăng ký hay trả phí. Nếu muốn làm được điều này, bạn cần bẻ khóa phần mềm bằng cách thay đổi tập tin DLL.

những bước

1Tìm hiểu về lập trình Assembly. Để bẻ khóa hầu hết những phần mềm, bạn cần hiểu rõ về hợp ngữ. Có nguồn gốc từ ngôn ngữ máy, vì thế mỗi hợp ngữ là đặc trưng của loại máy tính mà bạn đang dùng. Hầu hết hợp ngữ được thể hiện dưới dạng nhị phân và thập lục phân. 2Cài đặt công cụ dịch ngược phần mềm (disassembler). Để phân tích và chỉnh sửa tập tin DLL, bạn cần nhiều công cụ khác nhau, trong đó có disassembler. IDA Pro là một lựa chọn tốt vì nó vừa là một công cụ dịch ngược vừa là công cụ kiểm tra lỗi (debugger). May thay, có một bản miễn phí được cung cấp tại https://www.hex-rays.com/products/ida/support/download_freeware, mặc dù bản này bị giới hạn về chức năng khá nhiều so với bản Pro. Bạn cũng có thể thử dùng dotPeek vốn là một công cụ lấy mã nguồn có hỗ trợ tập tin DLL, giúp chuyển đổi mã assembly của tập tin .NET sang mã C#. Ứng dụng OllyDBG là một lựa chọn khác, nó cho phép bạn mở tập tin DLL miễn phí. 3Khởi động chương trình mà bạn muốn bẻ khóa bằng công cụ disassembler. Quá trình này có thể khác nhau vì còn tùy thuộc vào disassembler mà bạn đang dùng. Nó sẽ cho bạn thấy những tập tin DLL đang được nạp bởi chương trình. dùng công cụ debugger để kiểm tra xem chức năng nào đang được gọi từ tập tin DLL.4Tìm tính năng định thời. Nhiều chương trình dùng tính năng định thời nhằm chống sao chép và khi hết thời gian, người dùng sẽ không truy cập chương trình được. Mục đích của chúng ta là tìm và vượt qua mã định thời. Nếu chương trình mà bạn đang bẻ khóa dùng hình thức bảo vệ khác thì bạn cần tìm được tính năng đó.5Thiết lập điểm ngừng cho bộ định thời. Sau khi cô lập được tính năng đếm thời gian, hãy cài SoftIce để ngắt mỗi khi đến lúc. Điều này sẽ cho phép bạn nhìn thấy mã chính xác diễn ra khi tính năng đếm thời gian được gọi. 6Thay đổi mã bộ định thời. Sau khi tìm được mã của tính năng định thời, bạn có thể thay đổi mã này để bộ định thời không bao giờ đạt đến thời điểm mà khi ấy bạn không truy cập được chương trình. Chẳng hạn, bạn có thể làm cho bộ định thời không thể đếm đến giới hạn ngắt, hoặc nhảy để vượt qua bộ đếm. 7Soạn thảo lại phần mềm vừa được bẻ khóa. Sau khi lấy mã và biên tập lại, bạn cần soạn thảo phiên bản mới của chương trình để những thay đổi được cập nhật vào tập tin DLL và những tập tin lệ thuộc khác.

Cảnh báo

Sao chép phần mềm trái phép là bất hợp pháp ở hầu hết những quốc gia.Bẻ khóa gần như toàn bộ phần mềm cũng là bất hợp pháp.↑https://www.jetbrains.com/decompiler/↑https://www.c-sharpcorner.com/UploadFile/ajyadav123/applied-reverse-engineering-with-ida-pro/↑https://resources.infosecinstitute.com/topic/ida-program-patching/