1) Serial: Là 1 chuỗi số mà rất nhiều phần mềm yêu cầu bạn nhập vào để đăng ký phần mềm đó để có thể sử dụng đầy đủ các tính năng và không giới hạn thời gian sử dụng
Cách dùng: Có thể nói cách dùng của serial là vô cùng đơn giản các bạn chỉ cần tìm được chỗ điền serial rồi điền vào. Bình thường thì khi bạn mở chương trình lần đầu tiên sẽ có yêu cầu điền Serial vào. Nếu không thì tìm nó ở mục Help( Thường là vậy).
2) Keygen = Key Generator = KeyMaker: Là 1 chương trình tạo số serial để đăng ký cho phần mềm, dùng keygen linh hoạt hơn serial vì nó khai thác những kẽ hở của phần mềm để tạo ra số serial, vì vậy tỷ lệ đăng ký thành công = keygen cũng cao hơn số serial.
3) Crack: Là 1 chương trình dùng để bẻ khóa phần mềm đó( sữa mã của nó chẳng hạn), dùng crack thì bạn không cần phải nhập số serial mà vẫn được đăng ký, nó bao hàm cả khái niệm patch, reg file,keyfile,.
4) Patch: Bản vá, là 1 dạng crack , nó sửa mã chương trình để đăng ký chương trình đó, biến chương trình dùng thử thành chương trình đã đăng ký có đầy đủ tính năng và không giới hạn thời gian sử dụng.
5) Loader: Người ta chạy Loader của 1 chương trình mỗi khi dùng chương trình đó, Loader sẽ giúp nạp chương trình đó và biến nó thành bản đã đăng ký, Loader là 1 dạng crack mà người dùng luôn phải chạy nó mỗi khi sử dụng chương trình.
6) REG File: Là file có dạng .reg khi nhập thông tin củaa file này vào Registry của Windows thì phần mềm sẽ được đăng ký.
7) Key File: Là file đăng ký của riêng từng chương trình (dạng .key chẳng hạn) sẽ được một keyMaker tạo ra.
Trên mạng thì những thứ nói trên thường được đóng gói lại dưới dạng RAR hoặc ZIP để lưu thông cho nhanh, trong mỗi gói crack thường có 1 file *.NFO và file *.DIZ, *.NFO là file thông tin (Information) chứa văn bản thuần túy, bạn có thể mở nó bằng Notepad hoặc WordPad(chứ k0 dùng Windows System Information mở được), trong file NFO này sẽ hướng dẫn bạn cách đăng ký hoặc crack chương trình(Tiếng Anh) , .DIZ là Description chỉ là mô tả của nhóm cracker nào đó. Để có thể mở được các gói crack bạn cần có phần mềm WinRAR (download tại WinRAR , tìm crack tại https://lomalka.ru ) hoặc phần mềm Total Commander - chương trình quản lý file tuyệt vời (download tại Total Commander , crack tại https://lomalka.ru)
Ai tạo ra những thứ tuyệt vời và Free này?
Đó là các cracker : Người bẻ khóa Cracker sử dụng một kỹ thuật gọi là Reverse Engineering ( dịch ngược phần mềm) dịch phần mềm ra mã Assembly chẳng hạn và khai thác các lỗ hổng trong mã đó để viết crack, keygen,patch...
Hoặc họ dùng những chương trình như SoftIce theo dõi cách hoạt động của phần mềm, cách nó ghi vào các thanh nhớ của CPU để tìm ra lỗ hổng và crack nó.
Có thể với nhiều người, các hacker (còn được gọi nôm na, không chính xác, là “tin tặc”) vốn là những người siêu phàm có thể làm mọi thứ họ muốn trên môi trường mạng (ảo) như phát tán virus, đánh sập hay tìm lỗ hổng máy chủ, vượt tường lửa (firewall),... Tuy vậy, bên cạnh thế giới hacker còn tồn tại một thế giới ngầm cũng không kém phần bí hiểm của những cracker mà nhiều người chưa hiểu rõ, hoặc hoàn toàn không biết rõ.
Cracking, sự khởi đầu: Xuất hiện từ thập niên 1980, một số người dùng internet độc lập đã liên kết với nhau thành những nhóm, thường được gọi là “cracking crews”. Mỗi nhóm được tổ chức có tên và tiêu chí hoạt động rõ ràng, có website riêng... Các thành viên trong nhóm được chia thành các tổ, hoạt động theo các công việc rõ ràng nhưng rất gắn kết với nhau:
- Supplier: Là những người có khả năng có được những phần mềm thử nghiệm (version beta), trước khi nhà sản xuất tung ra bản chính thức.
- Coder: Những lập trình viên, những người có khả năng phá được các loại khoá bảo vệ của phần mềm.
- Trader: Những người có nhiệm vụ cung cấp các bản crack phần mềm miễn phí lên trên internet, càng nhanh càng tốt, bằng e-mail hay tải lên mạng...
- Sysop và Webmaster: Những người phụ trách phần đưa thông tin về nhóm của mình lên trang chủ của nhóm.
Như vậy, các Coder đóng vai chính trong một nhóm cracker. Họ có khả năng lập trình tốt với các ngôn ngữ lập trình thông dụng nhất, trong đó đặc biệt là ngôn ngữ lập trình Assembly (ASM). Họ có thể là một sinh viên, một lập trình viên của công ty phần mềm nào đó,... Cracking đối với họ thường chỉ nhằm thoả mãn sự đam mê, niềm vui song không loại trừ những ngoại lệ: cracking với mục đích kinh tế.
Trở thành cracker?
Với internet hiện nay, việc tiếp xúc và mong muốn trở thành cracker không phải là khó bởi vì các địa chỉ của các crack team trên mạng rất nhiều, thậm chí có những nơi tổ chức hẳn một... kỳ thi bẻ khoá phần mềm để sau đó người đoạt giải nhất sẽ làm “thủ lĩnh” (leader) của nhóm đó. Thông thường, yêu cầu để một người gia nhập một nhóm cracker là: Bạn phải tự mình bẻ khoá một phần mềm nhỏ do họ viết ra (còn gọi là crackme). Khi đã vượt qua yêu cầu này, bạn sẽ trở thành thành viên “dự bị” của nhóm đó. Cùng với thời gian, tuỳ theo số lượng “thành tích” bạn đóng góp cho họ, bạn sẽ được cân nhắc để trở nên thành viên chính thức hay không. Đơn cử nhóm TNT Cracker, bốn thành viên sáng lập là người Mỹ nhưng lại có khoảng 100 thành viên chính thức, cùng hàng trăm thành viên dự bị đến từ nhiều nước khác nhau: Mỹ, Anh, Trung Quốc, Úc, Ấn Độ, Singapore, Thai Lan, Việt Nam,...
Con đường trở thành cracker không dễ dàng gì, song cũng không quá khó khăn: Thoạt đầu, họ tìm kiếm những bài hướng dẫn cơ bản về kỹ thuật bẻ khoá (thường gọi là tutorial - hay gọn hơn là tut). Dĩ nhiên, những tut này không phải ai đọc cũng hiểu, đòi hỏi người đọc phải có ít nhất đôi chút kiến thức nền tảng về kỹ thuật debug. Nếu tuân theo các bước trong tut và bẻ khoá thành công phần mềm đó, newbie sẽ phần nào được “khai sáng” về kỹ thuật bẻ khoá... Ngoài ra, để nâng cao kỹ năng bẻ khoá của mình, cộng đồng cracker thường xuyên có những bài tập để rèn luyện kỹ năng bẻ khoá, các crackme được phát hành thường xuyên với những kỹ thuật bảo vệ khác nhau,... Có hàng trăm website trên mạng ngày ngày cung cấp các crackme cho cracker luyện tập, thôi thì đủ cả: Từ DOS đến Windows, từ Visual Basic, Visual C++, Delphi, Java,...
Cùng với thời gian, khả năng và sự kinh nghiệm ngày càng tăng, lúc đó cracker thực sự là mối đe doạ của các nhà sản xuất phần mềm.
Khi các nhóm cracker “trăm hoa đua nở”
Không giống như các hacker có thể là những chú bé 15-16 tuổi, thậm chí 9-10 tuổi với một công cụ hack nào đó tải về từ internet dùng để phá phách, thậm chí đôi khi có thể đánh sập một website hay làm ngưng hẳn một hệ thống mạng, hành động của các cracker không nhất thiết phải liên quan đến internet. Đơn giản, cracker chỉ cần có trong tay một phần mềm có khoá bảo vệ, một chiếc máy tính có các công cụ hữu ích giúp cho việc bẻ khoá là có thể bắt đầu tác nghiệp rồi. Bởi cracker chính là những tác giả của các phần mềm bẻ khoá được phổ biến miễn phí “vô tội vạ” trên internet hay ở các... tiệm CD.
Cũng giống như hacker, không thể thống kê hết số nhóm cracker tồn tại trên internet. Tuy nhiên, hoạt động của các nhóm cracker có phần công khai hơn so với các nhóm hacker. Họ có website riêng để công bố các “chiến tích” của mình. Một nhóm được coi là hoạt động hiệu quả khi “chiến tích” của họ được cập nhật hàng tuần, thậm chí hàng ngày. Số lượng thành viên của một nhóm nào đó phụ thuộc vào quy mô hoạt động và chất lượng của nhóm này. Đơn cử một số nhóm được coi là lớn nhất trên internet hiện nay: UCF (United Cracking Force), Phrozen Crew, Hambo, TNT,... với thời gian hoạt động lên tới hàng chục năm và số lượng thành viên rất lớn. Trong sự đa dạng của các nhóm cracker, có thể kể thêm sự tham gia của những nhóm nhỏ gồm vài ba người bạn có chung sở thích, hay là những thành viên tách ra từ một nhóm khác,...
Rõ ràng việc “bẻ khóa” phần mềm là công việc không hợp pháp, vì vậy các nhóm cracker thường tìm đến dịch vụ hosting (thuê máy chủ) để đăng tải website và các “chiến tích” của nhóm ở những nước mà luật pháp chưa có những luật lệ cụ thể về việc sở hữu bản quyền phần mềm. Công việc này sẽ do một người phụ trách, gọi là webmaster - được coi là người phát ngôn chung của cả nhóm. Một nhóm cracker thường có tôn chỉ hoạt động rõ ràng, ta có thể kể ra đây một số: The Art Of Tearing All Appart (Lash), We can crack all (TNT),...
Theo thống kê, tỷ lệ số cracker và số lập trình viên là 2/10, nghĩa là cứ mười lập trình viên thì tồn tại hai cracker. (Đặc biệt, trong đội ngũ các lập trình viên cũng có mặt... cracker.) Một tỷ lệ khác: Số phần mềm bị bẻ khoá thậm chí chiếm tới 80% số phần mềm được phổ biến trên mạng. Nếu được hỏi “Cracker mất bao nhiêu lâu để bẻ khoá một phần mềm?”, câu trả lời thường là: “Một giây, một giờ, một tháng hay thậm chí một năm”. Dĩ nhiên, đối với họ, không có cái khoá nào có thể tồn tại vĩnh viễn, điểm mấu chốt là thời gian mà thôi. Viếng thăm một số site của các cracker, ta có thể thấy nạn nhân của họ là một phần mềm vừa được nhà sản xuất giới thiệu chính thức ngày hôm trước, cũng có thể là phần mềm đó được nhà sản xuất phát hành từ lâu nhưng cho đến giờ họ mới thành công việc bẻ khoá.
Tại sao lại bẻ khoá?
Với những phần mềm thương phẩm, internet là công cụ quảng bá hữu hiệu, người dùng có thể truy cập trang chủ của nhà sản xuất để tải về. Để thương mại hoá sản phẩm của mình, các nhà sản xuất thường gắn vào sản phẩm một cái “khoá” – nôm na là để hạn chế người dùng sử dụng sản phẩm của mình một cách miễn phí. Khoá của họ có nhiều loại: khoá cứng, khoá mềm,... Như vậy, người dùng muốn thực sự là chủ sở hữu hợp pháp một phiên bản phần mềm sẽ phải liên hệ với nhà sản xuất.
Các cracker sẽ vô hiệu hoá cái khoá đó, bởi theo họ mọi thứ tồn tại trên internet đều có thể... miễn phí. Trong mắt nhiều người, cracker như những Robin Hood “lấy của nhà giầu chia cho dân nghèo”, do chưa hiểu như vậy là hành động phạm pháp – cụ thể hơn là vi phạm bản quyền sở hữu trí tuệ. Nghiêm trọng hơn, một phần mềm khi được bẻ khoá chắc chắn sẽ được phát tán thành hành triệu bản trên internet, thiệt hại to lớn sẽ thuộc về nhà sản xuất. Thiệt hại này hầu như không thể thống kê được so với những thiệt hại do các hacker gây ra. Thử làm một con tính đơn giản: Một phiên bản Windows 98 được bán với giá 95 USD, nếu một triệu máy tính được cài trái phép phiên bản này thì thiệt hại của Microsoft sẽ là bao nhiêu? Con số hầu như không thể thống kê được.
Ngoài những lý do trên, với mục tiêu gây thiệt hại về tài chính cho công ty đối thủ, có cả những trường hợp công ty A khuyến khích nhân viên của mình dùng kỹ năng crack để bẻ khoá sản phẩm của công ty B rồi phân phát bừa bãi trên mạng, lúc đó bên A mới tung ra sản phẩm của mình để giành thị trường. Việc chơi xấu này diễn ra không phải là ít, đã và đang diễn ra bằng hình thức này hay hình thức khác, phản ánh sự cạnh tranh khốc liệt của thị trường.
Họ đã bẻ khoá như thế nào?
Không phải cracker nào cũng có thể "bẻ" tất cả những phần mềm, kể cả những phần mềm được người dùng yêu cầu bẻ khoá. Thông qua những trang web yêu cầu (request page), trước đây việc này thường được triển khai bí mật qua e-mail. Thế nhưng do số lượng ngày càng tăng nên các yêu cầu dần chuyển sang hình thức công khai tại các diễn đàn hay website.
Bài viết này không có tham vọng đi quá sâu vào những kỹ thuật bẻ khoá thông thường do phải mất nhiều thời gian để tìm hiểu sự phức tạp của cracking. Bởi trong kỹ thuật bẻ khóa còn gồm nhiều kỹ thuật khác như: dissasembly, debug, patch, unpack,... Công việc của một cracker là kết hợp nhuần nhuyễn các kỹ thuật này với nhau. Một cracker không nhất thiết phải nắm rõ toàn bộ các kỹ thuật trên vì trong nhóm của họ có thể được phân công nhiệm vụ rõ ràng, mỗi người phụ trách một phần để kết quả cuối cùng là phần mềm nào đó bị bẻ khoá.
Sau khi có trong tay phần mềm cần bẻ khoá, công việc đầu tiên của cracker là tìm hiểu xem cách thức bảo vệ của phần mềm đó như thế nào? Bởi cũng giống như hacking, cách thức bảo vệ phần mềm cũng có “muôn hình vạn trạng”. Một phần mềm được gắn khoá thường khoác lên mình cái tên “bản dùng thử” (trial version), có thể được bảo vệ bằng cách này hay cách khác nhưng đa số các nhà sản xuất thường làm theo các cách sau: giới hạn số ngày dùng thử, giới hạn các tính năng,... Để thuận tiện cho việc phát hành phần mềm của mình, cũng như phổ biến đến khách hàng, thông thường khi mua, khách hàng sẽ được cung cấp số serial - chiếc chìa khoá để mở cái khoá đó ra. Như vậy, công việc của cracker là tìm ra chiếc chìa khoá thay vì phải liên hệ với nhà sản xuất để xin nó.
Những kiến thức về các ngôn ngữ lập trình bậc cao như Basic, Pascal, C++ sẽ giúp các cracker hiểu được quá trình hoạt động của phần mềm thông quá các hàm chức năng. Tuy vậy, điều này không đóng vai trò thực sự quan trọng bởi kiến thức cơ bản về Assembly mới là quan trọng nhất. Đây cũng là điểm mấu chốt để bẻ khoá với một công cụ cực kỳ quan trọng và cần thiết: debugger.
Bằng cách sử dụng debugger, cracker có thể theo dõi phần mềm đó hoạt động như thế nào, hay rõ hơn là quá trình mà khóa làm việc như thế nào? Khi đó, vấn đề bẻ khoá chỉ còn là thời gian. Đối với những cracker nhiều kinh nghiệm, việc bẻ khoá một phần mềm còn dễ dàng hơn ăn kẹo bởi họ đều nắm rõ những thuật toán mà các loại khoá áp dụng. Công việc debug đòi hỏi nhiều thời gian của cracker bởi nó ghi lại toàn bộ quá trình phần mềm đó làm việc như thế nào. Sau khi cơ bản đã bẻ được cái khoá của phần mềm, cracker sẽ tìm cách để phổ biến bản phá khoá này: Chỉ cần viết một chương trình nho nhỏ (gọi là patch), có tác dụng sửa một số byte của phần mềm sao cho sau khi sửa thì cái khoá không còn tác dụng nữa (tựa như nhà sản xuất tung ra các bản sửa lỗi cho phần mềm của mình vậy). Cao cấp hơn, cracker sẽ viết hẳn một chương trình tính toán ra số serial hay gọi là key generator để làm công việc tương tự như việc nhà sản xuất cung cấp số serial cho người dùng đăng ký hợp pháp.
Tuy nhiên, trải qua nhiều kinh nghiệm và cũng nhiều lần chứng kiến phần mềm của mình bị bẻ khoá một cách không thương tiếc, các nhà sản xuất cũng đã và đang dần dần tìm cách nâng cấp, hay thay khoá bảo vệ của mình tốt hơn. Bằng cách này hay cách khác, họ cố gắng trang bị cho phần mềm những công cụ chống bẻ khoá ngày càng tối tân hơn: Chống dịch ngược (disassembly), chống debug (anti debug), khoá cứng (hardlock), nén lại (pack),... Mặc dù vậy, sự thành công không khả quan là bao bởi vì không nhóm cracker này thì nhóm cracker khác cũng sẽ ra tay.
Biến tướng của cracking
Hiện nay, ở đa số các nước, luật lệ về bản quyền được thực hiện rất chặt chẽ nên những website về bẻ khoá ở trên mạng đều được coi là phạm pháp và sẽ bị xoá bỏ. Điều đó giải thích vì sao địa chỉ website của của các nhóm cracker thường xuyên bị thay đổi. Tuy nhiên, chỉ bằng cách thay đổi mục tiêu hoạt động, nhiều nhóm cracker đã thoát được “kẻ hở” của luật bản quyền để tiếp tục hoạt động. Thay vì dòng chữ “Cracking”, họ thay bằng “Reverse-Engeneering” - kỹ thuật dịch ngược. Lúc này, thay vì nghĩa bẻ khoá, họ chuyển sang tìm hiểu cơ chế hoạt động của một khoá là thế nào, và điều này thì chưa có luật pháp nào cấm cả. Theo thống kê, một website chuyên cung cấp các crack – Search engine, hàng ngày có khoảng 100 phiên bản phần mềm được các nhóm cracker hay cracker độc lập gửi đến để kiểm tra xem có hoạt động tốt không, rồi đưa lên mạng (upload) cho mọi người dùng miễn phí.
Theo đánh giá, kỹ thuật dịch ngược này còn cao cấp và nguy hiểm hơn nhiều so với kỹ thuật bẻ khoá thông thường. Nguy hiểm hơn là tất cả các phương thức hoạt động của một khoá đã bị “phanh phui” đều được phổ biến công khai trong cộng đồng cracker nên nếu một nhà sản xuất phần mềm định áp dụng cách khoá cũ cho phiên bản mới của mình thì sẽ tạo ra miếng mồi ngon cho các cracker thực tập.
Một biến tướng khác của bẻ khoá là việc các cracker cung cấp thẳng lên mạng các phần mềm đã bẻ khoá và được đóng gói lại (còn gọi là Warez). Đối tượng của các Warez là các phần mềm có giá trị cao, dung lượng lớn và vì vậy không phải ai cũng có thể được tải về miễn phí. Dường như khi sử dụng các phần mềm do các Warez cung cấp, người dùng không có cảm tưởng mình đang vi phạm bản quyền nữa vì cũng phải setup, cũng install (nhưng không thấy một thông báo nào của nhà sản xuất về việc đăng ký sử dụng phần mềm cả!)