Kiến thức tổng hợp về tin học, giới thiệu chia sẻ thủ thuật...
By Iason
#52319 Đây là bài viết chỉ dẫn newbie về cách “làm thế nào để Cr-ack một chương trình”. Vì vậy, nội dung rất đơn giản, nếu có “cao thủ” nào “bức xúc” về nội dung bài viết thì xin vui lòng bỏ quá cho
Cách dễ nhất để Cr-ack là dùng 2 công cụ chính :
Win32Dasm, HView… bộ óc, Coca Cola và âm nhạc 8-).
Giải thích công dụng :
W32Dasm : Công cụ dùng để disassembler một file ra ngựa máy. Nó còn được dùng để hiểu xem chương trình này làm cái “quái” gì trong đó.
HView : Khi vừa biết được nơi cần patch trong file, bạn có thể dùng công cụ có ích này.
Vì đây là cách đơn giản nhất để Cr-ack chương trình nên bất phải tất cả các chương trình đều có thể Cr-ack được mà khoảng 40% chương trình sẽ được patch bằng cách này 8-).
Đầu tiên, bạn phải xem coi chương trình có được nén(pack) lại hay không. Nén ở đây bất có nghĩa là được nén bằng WinZip hay WinRAR mà file .EXE được nén nhỏ lại mà vẫn có thể chạy được bình thường bất cần giải nén. Để biết file có bị nén hay không, bạn phải xem mở file .EXE đó ra để xem đoạn ngựa của nó. Ở đây tui dùng WinNC, chọn file cần xem và nhấn F3. Thông thường, nếu file vừa bị nén thì nó sẽ có 1 dòng đặc trưng trong file bị nén ở đầu file. Chẳng hạn như được nén bằng ASPack thì (thường) trong file sẽ có chuỗi “aspack”. Nén bằng UPX thì sẽ có dòng “UPX…”. Còn đối với shrink thì có chữ “shrink”. Tuy nhiên, cũng có một vài công cụ giúp ta giải nén (unpack) mà bất cần biết file được nén theo dạng nào, đó là nó tự động nhận dạng. Tuy nhiên, nếu dạng được nén bất được hỗ trợ thì nó cũng đành bó tay. Tiêu biểu cho loại này là ProcDump32, nó hỗ trợ khá nhiều dạng phổ biến như ASPack, Code Safe 3.X, PC Guard 2.10, PE Compact, PKLITE… bạn có thể chọn “*unknown*” để chương trình tự động nhận dạng.
Ngoài ra, có thể chương trình còn được bảo vệ bởi 1 đoạn ngựa bảo vệ (Security Code). Đây là một đoạn ngựa dùng để bảo vệ chương trình tránh bị debug (anti-debug) hay thay đổi kích thước. Đối với loại này, chúng ta cũng có một số chương trình để bỏ phần Security Code đó, có thể kể ra là : Anti Crypt, UnCode Crypt, tEunlock…
Giả sử như bạn vừa bỏ Security Code và giải nén được chương trình, lúc này, nó sẽ phình ra lớn hơn so với lúc bình thường (giải nén mà), vừa đến lúc bắt tay vào Cr-ack nó.
* Bước 1:
_ Chạy chương trình cần Cr-ack
_ Thông thường nó sẽ bắt bạn đăng ký, hay sẽ để trên một Menu nào đó để bạn đăng ký chương trình, lớn loại là Registration, Register, Purchase…
_ Nhấn vào nó, điền đầy đủ thông tin và nhập lớn một số Serial/Unlock Code/Registration Code bất kỳ. Chương trình sẽ hiện lên một bảng thông báo tương tự như “Incorrect Password…”, “Wrong Serial…”, “Re-enter password…” (hầu hết các chương trình đều có bảng thông báo này cho người dùng biết ngoại trừ những Cr-ackme . Okie, hãy nhớ lấy cái thông báo này.
* Bước 2:
_ Chạy W32Dasm, chọn “Open file to Disassembler…” hay nhấn trên thanh công cụ cũng được.
_ Chọn file cần Cr-ack.
_ Trên menu Refs, chọn String Data References. Tại sao ta phải làm như vậy, bạn hãy xem đoạn ngựa sau :
Nếu “Serial bạn gõ vào” = “Serial chương trình” thì <—- Ta sẽ Patch chỗ này

Nhảy đến đăng ký bản quyền

Còn không
Nhảy đến bảng thông báo “Incorrect password…” <——- Bạn cần ở đây trong W32Dasm
Bây giờ, nếu nó kêu là sai thì mình cho nó thành đúng :
Nếu “Serial bạn gõ vào” <> “Serial chương trình” thì <—– Chỗ vừa được patch
Nhảy đến đăng ký bản quyền
Còn không

Nhảy đến bảng thông báo “Incorrect password…” <——– Bạn cần ở đây trong W32Dasm
Còn bây giờ bạn cần biết một chút về assembler (vì chương trình sẽ được W32Dasm dịch ra assembler mà
Viết lại trong assembler đoạn code trên sẽ tương tự như :
cmp eax, eax <—– So sánh số serial/unlock code…
jne [Địa chỉ 1] <—– Nhảy đến thông báo số đăng ký đúng hay sai
call [Địa chỉ 2] <—– Nhảy đến thông báo ngược lại
Bây giờ, giả sử [Địa chỉ 1] là nhảy đến thông báo vừa được đăng ký và [Địa chỉ 2] nhảy đến thông báo “Incorrect password…” thì ta sẽ phải sửa lại đoạn code như sau :
cmp eax, eax
je [Địa chỉ 1] <—— Chỗ vừa được Patch
call [Địa chỉ 2]
Trong assembler, câu lệnh nhảy được biết đến là :
je = Jump if equal : Nhảy nếu bằng
jne = Jump if not equal : Nhảy nếu bất bằng
Vì vậy, thông thường “je” được đổi thành “jne” và ngược lại.
Trở lại với chương trình của chúng ta, đi tìm chuỗi “Incorrect password…” là chúng ta vừa đến bảng thông báo “Incorrect password…”. Kiếm bằng cách vào menu Refs/String data references của W32Dasm, tìm chuỗi “Incorrect password…” và nhấn kép vào nó (hy vọng là có 8-). Lúc này, W32Dasm đưa chúng ta đến bảng thông báo chưa đăng ký rồi, nhiệm vụ của chúng ta là phải kiếm được nơi có chứa lệnh nhảy đến bảng thông báo này. Hãy dời con trỏ lên cho tới khi nào kiếm thấy dòng “je …” hay “jne…” thì dừng lại ở đó. Còn nếu thấy dòng :
* Reference ….
:000… <—- để ý địa chỉ này
thì hãy dừng lại đó vì bảng thông báo vừa được gọi từ 1 địa chỉ khác, nhấn Shift-F12 (hay vào menu Goto/Goto Code Location), nhập vào dãy số000… sau dòng “* Reference…” rồi Enter.
Lặp lại các bước dò như trên cho đến khi nào thấy được dòng “je…” hay “jne…“
Cuối cùng, khi vừa kiếm được rồi thì hãy nhìn xuống thanh status bar, bạn sẽ thấy 1 chuỗi số ngay sau [email protected] …00…“. Nhớ lấy chuỗi số đó, và đừng quên là bỏ chữ “h” cuối cùng đi, vì đây là chữ biểu hiện cho số HEX.
* Bước 3 :
_ Đóng W32Dasm lại. Mở HView ra, nhấn F4, chọn Decode, nhấn F5, đánh vào giá trị00… bạn thu được ở [email protected] lúc nãy và Enter, HView đưa bạn đến ngay đúng dòng bạn nhìn thấy trong W32Dasm và còn chờ gì nữa, patch nó đi. Nhấn F3, rồi F2 (tui chọn cách này để giúp Newbie dễ hiểu hơn vì đôi lúc bất phải lúc nào giá trị cũng là 74 và 75). Sửa “jne...” thành “je…” và “je…” thành “jne…“
_ Cuối cùng, nhấn F9 để Save chương trình và F10 để thoát, bạn chạy lại chương trình và nhập số đăng ký bất kỳ thử xem sao, nếu may mắn, bạn sẽ nhận được thông báo “Thanks for …” 8-), hehe, và đừng quên lưu 1 bản .EXE để đềphòng chốngsự cố trước khi Patch .
Mẹo : Nếu bất tìm thấy dòng “Incorrect password…” thì bạn thử đi ngược lại là đi từ dòng “Thanks for…” hay “Registered…” xem ;-).
Đây là cách đơn giản nhất để Patch chương trình, ngoài ra còn có thể dùng SoftICE, VBDe, DeDe, SmartCheck… cái đó để hỗ trợ Cr-ack soft là tùy ở bạn . Bạn có thể nâng cao “tay nghề” bằng cách viết key hay bằng 1 số thủ thuật khác như “spy memory” .
Chúc may mắn.(Sưu tầm)

Lưu ý khi sử dụng

- Gặp Link download hỏng, hãy đăng trả lời (yêu cầu link download mới), Các MOD sẽ cập nhật link sớm nhất
- Tìm kiếm trước khi đăng bài mới

Chủ đề liên quan:
By divang_latoi
#52357 sao không cho down mấy cái công cụ kia về làm sao mà làm đây hả bạn
Blog Tâm sự:
  • Con buồn lắm bởi chẳng được mẹ ôm từ khi có thêm em | 02:06 ...
  • Gia đình chồng có truyền thống phụ nữ phải làm mọi việc nhà | 12:06 ...
  • Phát hiện vợ sắp cưới từng cặp bồ khi còn sống với chồng cũ | 02:06 ...
  • Vợ muốn ly hôn vì đã ngoại tình một thời gian với đồng nghiệp | 02:06 ...
  • Tôi chấp nhận để vợ tìm niềm vui chăn gối ở người đàn ông khác | 02:06 ...
  • Mong em cho anh thêm cơ hội từ bỏ bia rượu | 01:06 ...
By Piero
#52585 thằng này bố láo quá.chém jó anh em à.đưa link cho tất cả người cùng dow xem nào
By ai_hoi
#52777 link down thì các bạn tự kiếm cũng được mà

Chỉ có điều k phải phần mềm nào cũng có thể dùng cách này để patch.
Đây mới chỉ là những cách đơn giản nhất mà vừa khó hiểu thế này rồi ..... :-o
Kết nối đề xuất: