Crack (bẻ khóa) phần mềm là gì?

mong mn giúp em muốn tìm hiểu về bẽ khóa các kiểu !

Bẻ khóa có nhiều kiểu lắm, bẻ khóa két sắt này, bẻ khóa khóa này, hay ý em là bẻ khóa (crack) phần mềm :thinking: ?

1 Like

bẻ khoá có nghĩa là sử dụng nó mà không cần chìa khoá. bẻ khoá app offline gọi là crack còn bẻ khoá app online = hack, phá hoại = đi tù :ok_hand:

3 Likes

theo mình hiểu 1 phần mềm người ta viết ra với mục đích thương mại thì họ sẽ tìm cách để bắt người dùng phải trả phí để được dùng , người dùng khôn lõi tìm cách để không phải trả tiền thì họ sẽ bẽ khóa bảo mật của phần mềm đó , vì thực chất 1 phần mềm khi được đóng gói và gửi cho khách hàng thì trong file đó có chứa toàn bộ mã thực thi của phần mềm lúc này những cracker chuyên nghiệp sẽ dịch ngược mã nguồn đó ra (nếu chạy trên window thì thường là mã asm) để đọc và hiểu cơ chế làm việc của phần mềm từ đó tìm cách qua mặt , mà điển hình hay thấy nhất là các game cứ phát hành ra là bị crack , mà thậm chí ở 1 mức độ cao hơn các cracker hoặc hacker còn can thiệp vào mã nguồn nữa ví dụ thêm hàm này sửa hàm kia biến game đó hoạt động theo ý của họ nữa … và mình đánh giá các cracker hoặc hacker thì trình độ họ còn cao hơn người làm ra game nữa , họ không những giỏi về kĩ thuật lập trình mà còn giỏi về mã hóa và có kiến thức về cấu trúc máy tính , và có đầu óc cực kì sáng tạo nữa …

4 Likes

Chừng đó vượt ra ngoài phạm vi của cracker rồi bạn ey. Cái thêm hàm này sửa hàm kia thì trừ khi họ có thể decompile code ra rồi sửa lại còn không thì họ không thể nào làm được. Thực chất, tool hack game không thêm hàm này sửa hàm kia như bạn đang nói mà là can thiệp vào bộ nhớ của game.

Đọc câu này xong thì mấy anh game developer sẽ buồn lắm đấy. Hacker, cracker có thể hơn game developer khoản đọc mã máy, can thiệp vào bộ nhớ của game nhưng về khả năng tạo ra game dĩ nhiên mấy anh game developer sẽ hơn. Còn mấy cái như cấu trúc máy tính, mã hoá nó thuộc về phạm vi khác rồi, ví dụ như nghiên cứu bảo mật.


P/s: Bổ sung thêm: ASM (hợp ngữ) không chỉ riêng Window có mà bất kì HĐH nào cũng có, khác nhau là dùng loại gì thôi. ASM phụ thuộc vào kiến trúc của CPU (ARM, x86-32, x86-64,…) và nhân kernel của HĐH đó.


P/s 2: Bẻ khóa bảo mật theo mình hiểu là bẻ khóa mấy thuật toán như RSA, AES, DES,… Thành ra là dùng cụm từ “bẻ khóa bảo mật” là sai. Các cracker muốn crack một phần mềm nào đó thì họ cần dịch cái phần mềm, file dll của phần mềm đó từ mã máy thành ASM rồi sau đó là bắt đầu tìm hiểu cơ chế tạo ra key xác nhận, hoặc cách để có thể sử dụng phần mềm mà không cần cái key đó. Ở bên game thì hơi đặc biệt chút, khi down game về thì dĩ nhiên mấy file game sẽ nằm ở bên trong máy, ta chỉ copy cái file đó rồi chia sẻ cho người khác, đúng không? Rất tiếc, mọi chuyện không đơn giản như vậy, game trả phí thường sẽ được tích hợp một phần mềm để chỉ cho phép game có thể chơi trên cái máy đó, chuyển sang nơi khác không cho chơi. Các cracker bây giờ phải tìm cách vô hiệu hóa hoặc xóa luôn cái phần mềm đó đi, vốn chẳng hề đơn giản như vẻ bề ngoài. Ngoài ra, mấy nền tảng phân phối game (aka chợ game) trực tuyến như Steam đôi khi cũng có lỗ hỏng bảo mật nào đó, giúp cho mấy tay cracker có thể crack phần mềm ngay trước lúc ra mắt.


P/s 3: Cracker là một từ không chính thức chỉ người chuyên bẻ khóa (crack) phần mềm nên định nghĩa của hacker cũng bao hàm luôn cả cracker, hay cracker cũng là một dạng của hacker. Trên mạng cũng có khá nhiều trang nhầm lẫn giữa cracker và hacker mũ đen :slightly_smiling_face:

7 Likes

bọn nó dùng ollydbg để decompile rồi đọc mã rồi inject dll vào process khi game chạy đó bạn , và ko dừng lại ở việc đổi dữ liệu lưu trong bộ nhớ đâu bạn , nó có thể thay đổi các logic game luôn bằng việc nop các chỉ thị trong file thực thi rồi thay bằng mã mới đấy …

5 Likes

Em cũng không biết rõ về crack và cũng đang có ý định tìm hiểu nhưng tự nhiên thấy cái link này nên thôi :worried:

1 Like

Giờ ko có gì đảm bảo game viết ra ko bị crack. Vì thế phải sống chung với nó với hi vọng người dùng sẽ tôn trọng sở hữu trí tuệ thôi :stuck_out_tongue:

5 Likes

Ollydbg là tool debug, disassembly chứ không phải là decompile. Decompile là chuyển mã máy thành source code.

Không có chuyện thay mã mới đâu. Bản chất của DLL Injection và các dạng lỗ hỏng Injection nói chung là bắt hoặc là lừa chương trình thực thi một đoạn mã đã được chuẩn bị từ trước. Đối với DLL Injection thì Inject một file DLL chứa các đoạn mã đã được chuẩn bị từ trước, sau đó game chạy đoạn mã bên trong và cái đoạn mã đó sẽ thay đổi các giá trị trong bộ nhớ,…

1 Like

ai nói bạn ko decompile được vậy , nếu tôi giỏi đọc mã asm tôi hoàn toàn có thể fix bug trên ollydbg xong build lại 1 file thực thi mới với mã lệnh mới luôn

Decompile là chuyển mã máy thành source code. Việc bạn đang làm là disassembly chứ không phải là decompile.
Đinh nghĩa về OllyDbg, trích từ Wikipedia:

OllyDbg là một trình gỡ lỗi sử dụng hợp ngữ trên nền Windows 32-bit chú trọng đến việc phân tích mã nhị phân và rất hữu dụng để gỡ lỗi những chương trình không được cung cấp mã nguồn.

Định nghĩa về decompiler, cũng từ Wikipedia

A decompiler is a computer program that takes an executable file as input, and attempts to create a high level source file which can be recompiled successfully.

Tạm dịch: Một decompiler là một chương trình máy tính (phần mềm) lấy tệp thực thi (file exe chẳng hạn) làm đầu vào và cố gắng tạo ra một high level source file (thứ gần giống với source code ban đầu của chương trình) có thể được biên dịch lại thành công.

Ví dụ: Decompile một chương trình được viết bằng Java, C# để lấy source code (code Java, code C#) của chương trình đó.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?