1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 33 ppt

6 296 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 136,91 KB

Nội dung

dll như phương pháp 1 và 2 ). Các breakpoint dùng để crack 1) Chuyển đổi dữ liệu - String sang Byte hoặc Integer: __vbai2str - String sang Long: __vbai4str - String sang Single: __vbar4str - String sang Double: __vbar8str - String sang Currency: VarCyFromStr - Integer sang String: VarBstrFromI2 2) Di chuyển dữ liệu - String to memory: __vbaStrCopy - Variant to memory: __vbaVarCopy or __vbaVarMove 3) Các phép toán - Phép cộng : __vbavaradd - Phép trừ : __vbavarsub - Phép nhân : __vbavarmul - Phép chia: __vbavaridiv - XOR: __vbavarxor 4) Các phép khác - __vbavarfornext - __vbafreestr - __vbafreeobj - __vbastrvarval - multibytetowidechar - rtcMsgBox - __vbavarcat - __vbafreevar - __vbaobjset Lời khuyên chung khi crack chương trình code bằng Visual Basic Các bác nên dùng SmartCheck để crack các chương trình Visual Basic. Nó là 1 chương trình rất hữu ích và các bác nên học cách sử dụng nó, hoặc ít ra là hiểu được công việc của nó. Chúng ta thường dùng SoftICE và W32DASM và đặc biệt là OllyDBG để crack các soft code bằng các ngôn ngữ khác. W32DASM thì crack chương trình Visual Basic dễ hơn 2 cái kia, nhưng mà “cao cơ” hơn cả W32DASM còn có SmartCheck – cùng họ Numega với SoftICE. Do vậy em sẽ cố gắng giải thích cho các bác cách để crack 1 soft Visual Basic với SmartCheck và SoftICE cùng 1 lúc. 1. Như thông thường, chúng ta chạy thử chương trình. Chờ xem chương trình làm gì, và hãy nhớ những điều đó. 2. Sử dụng SmartCheck để chạy chương trình. Sau khi chạy chương trình và đăng kí “lụi”, chúng ta hãy đóng chương trình lại. Khi chúng ta click vào “Show All Events”, 1 “cây” thông tin sẽ hiện ra. Và việc tìm thứ mà chúng ta cần tìm trong “mớ hỗn độn” đó không phải là dễ (thứ chúng ta cần tìm không nói chắc các bác cũng biết hén :)). Vậy hãy click vào dòng mà chúng ta muốn trước khi chọn “Show All Events”. Thông thường xxxxxx_Click.xxxxxx là tên button của chương trình. 3. Hãy tìm __vbastrcomp, __vbastrcmp hoặc __vbavartsteq trước. Nếu các bác may mắn , các bác sẽ thấy được đoạn code dùng để so sánh serial. 4. Nếu các bác tìm không thấy chúng > có thể chương trình sử dụng phương pháp kiểm tra serial khác. Bây giờ hãy tìm message Bugger-off. Ở trên nó 1 vài dòng thường sẽ có 1 vài lệnh __vba. Hãy bắt đầu với những lệnh gần message Bugger- off nhất > đặt breakpoint nó. Xong hãy tính số “sự kiện” của breakpoint mà các bác đã đặt và sử dụng F5 trong SoftICE để trở về chương trình và break lại lần nữa. Ví dụ : nếu các bác đặt breakpoint tại __vbafreestr thì có thể sẽ có rất nhiều cái như vậy được dùng sau khi các bác click nút đăng kí. Và nếu breakpoint các bác muốn được ghi là 10th_vbafreestr trong SmartCheck, các bác phải nhấn F5 9 lần để đến 10th_vbafreestr. Và 1 điều các bác nên nhớ là các bác đang crack Visual Basic , do đó hãy thêm dòng msvbvm60! vào phía trước. 5. Chạy chương trình, nhập vào bất cứ cái gì và click nút register > SoftICE sẽ break (còn nếu nó không break thì các bác đã đặt breakpoint sai rồi đó). 6. Bắt đầu trace vào mỗi lệnh CALL và chú ý bất kì sự thay đổi nào của register. Càng gần message Bugger-off bao nhiêu thì thời gian trace sẽ giảm lại bấy nhiêu. Khi các bác nghi ngờ về cái gì đó, hãy trở lại SmartCheck và tìm breakpoint tiếp theo. Breakpoint nằm trước có thể ở phía sau đoạn code so sánh. The_lighthouse(REA) PHẦN 7 : Window Messages For Crackers WM_ACTIVATE WM_ACTIVATE message sẽ xuất hiện khi window được activate hoặc bị deactivate. Message này sẽ được gởi tới window procedure của window đang bị deactivate trước, sau đó sẽ gởi tới window procedure của window đang được activate. Code: fActive = LOWORD(wParam); // activation flag fMinimized = (BOOL) HIWORD(wParam); // minimized flag hwnd = (HWND) lParam; // window handle Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_CLEAR Chương trình sẽ gởi WM_CLEAR message đến 1 edit control hoặc combo box để xóa thứ được chọn Code: wParam = 0; // not used; must be zero lParam = 0; // not used; must be zero Returns Message này không có giá trị trả về. WM_CLOSE WM_CLOSE message sẽ xuất hiện như 1 dấu hiệu window hoặc 1 chương trình nào đó cần đóng lại Retuns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_COMMAND WM_COMMAND message sẽ xuất hiện khi người dùng chọn 1 command item từ menu, hay khi control gởi 1 bẳng thông báo đến parent window, hay khi phím tăng tốc được hiểu Code: wNotifyCode = HIWORD(wParam); // notification code wID = LOWORD(wParam); // item, control, or accelerator identifier hwndCtl = (HWND) lParam; // handle of control Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_CREATE WM_CREATE message sẽ xuất hiện mỗi khi chương trình yêu cầu window được tạo bằng hàm CreateWindowEx hoặc CreateWindow. Window procedure của new window nhận message này sau khi window được tạo , nhưng trước khi window trở nên visible. Hàm này được gởi trước khi hàm CreateWindowEx hoặc CreateWindow return. Code: lpcs = (LPCREATESTRUCT) lParam; // structure with creation data Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0 để tiếp tục tạo window. Nếu chương trình trả về -1, window sẽ bị hủy và hàm CreateWindowEx hoặc CreateWindow trả về NULL handle. WM_DESTROY WM_DESTROY message sẽ xuất hiện khi window bị hủy. Nó được gởi đến window procedure của window sau khi window bị remove khỏi màn hình. Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_GETTEXT Chương trình sẽ gởi WM_GETTEXT message để copy text phù hợp với window vào buffer dự phòng Code: wParam = (WPARAM) cchTextMax; // number of characters to copy lParam = (LPARAM) lpszText; // address of buffer for text Returns Giá trị trả về là số kí tự được copy WM_GETTEXTLENGTH Chương trình gởi WM_GETTEXTLENGTH message để xác định chiều dài của text kết hợp với window. Code: wParam = 0; // not used; must be zero lParam = 0; // not used; must be zero Returns Giá trị trả về là chiều dài của text WM_INITDIALOG WM_INITDIALOG message được gởi đến dialog box trước khi dialog box được display. Dialog box đặc trưng sử dụng message này khởi chạy control và carry out những task khởi tạo ảnh hưởng đến sự xuất hiện của dialog box. Code: hwndFocus = (HWND) wParam; // handle of control to receive focus lInitParam = lParam; // initialization parameter Returns Dialog box trả về TRUE để chỉ đạo Windows đặt keyboard focus vào control được đưa ra bởi hwndFocus. Ngược lại, nó sẽ trả về FALSE để ngăn chặn Windows từ setting keyboard focus mặc định. WM_LBUTTONDBLCLK WM_LBUTTONDBLCLK message sẽ xuất hiện khi người dùng double click chuột trái khi con trỏ đang nằm trong khu vực client của window. Nếu “con chuột” không được capture , message sẽ xuất hiện ở phía dưới con trỏ. Ngược lại message sẽ xuất hiện ở window đã capture “con chuột” Code: fwKeys = wParam; // key flags xPos = LOWORD(lParam); // horizontal position of cursor yPos = HIWORD(lParam); // vertical position of cursor Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_LBUTTONDOWN WM_LBUTTONDOWN message sẽ xuất hiện khi người dùng nhấn chuột trái khi con trỏ đang nằm trong khu vực client của window. Nếu “con chuột” không được capture , message sẽ xuất hiện ở phía dưới con trỏ. Ngược lại message sẽ xuất hiện ở window đã capture “con chuột” Code: fwKeys = wParam; // key flags xPos = LOWORD(lParam); // horizontal position of cursor yPos = HIWORD(lParam); // vertical position of cursor Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_LBUTTONUP WM_LBUTTONUP message sẽ xuất hiện khi người dùng “nhả” chuột trái khi con trỏ đang nằm trong khu vực client của window. Nếu “con chuột” không được capture , message sẽ xuất hiện ở phía dưới con trỏ. Ngược lại message sẽ xuất hiện ở window đã capture “con chuột” Code: fwKeys = wParam; // key flags xPos = LOWORD(lParam); // horizontal position of cursor yPos = HIWORD(lParam); // vertical position of cursor Returns Nếu chương trình chấp nhận message này, giá trị trả về là 0. WM_QUIT WM_QUIT message cho biết yêu cầu để kết thúc 1 ứng dụng và được sinh ra khi chương trình gọi hàm PostQuitMessage. Nó làm cho hàm GetMessage trả về 0. Code: . ghi là 10 th_vbafreestr trong SmartCheck, các bác phải nhấn F5 9 lần để đến 10 th_vbafreestr. Và 1 điều các bác nên nhớ là các bác đang crack Visual Basic , do đó hãy thêm dòng msvbvm 60! vào. trị trả về là 0. WM_CLEAR Chương trình sẽ gởi WM_CLEAR message đến 1 edit control hoặc combo box để xóa thứ được chọn Code: wParam = 0; // not used; must be zero lParam = 0; // not used;. SoftICE. Do vậy em sẽ cố gắng giải thích cho các bác cách để crack 1 soft Visual Basic với SmartCheck và SoftICE cùng 1 lúc. 1. Như thông thường, chúng ta chạy thử chương trình. Chờ xem chương

Ngày đăng: 03/07/2014, 17:20

TỪ KHÓA LIÊN QUAN