Danh mục

Cracking part 30

Số trang: 5      Loại file: pdf      Dung lượng: 119.77 KB      Lượt xem: 6      Lượt tải: 0    
10.10.2023

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

III. Lets Crack Quote: Note2: Các bác nhớ nhé ở đây mục tiêu là tìm ra vị trí NAG để patch nên sẽ tập trung vào đi tìm nó, cũng nói luôn trong tut có một số phần giới thiệu về các tính năng của OllyDbg v10
Nội dung trích xuất từ tài liệu:
Cracking part 30III. Lets CrackQuote:Note2: Các bác nhớ nhé ở đây mục tiêu là tìm ra vị trí NAG để patch nên sẽ tập trung vàođi tìm nó, cũng nói luôn trong tut có một số phần giới thiệu về các tính năng của OllyDbgv10 xen kẽ với quá trình crack nên hơi dài các bác đọc ko nên sốt ruột:DCrack cũng tương tự như bạn chơi trò Cross Words tìm ra các từ hàng ngang, dọc, chéocó nghĩa trong một bảng chữ cái lộn xộn quá trình tìm kiếm đó gọi là Search. TrongCrack người ta gọi đó là Trace, trace không chỉ dựa vào tay, mắt và brain mà phải sửdụng các Tool có nó việc trace sẽ trở nên dễ dàng hơn rất nhiều cho dù khối code lớn đếnđâu.Trong tut này ta s/d Olly để trace, với Olly bạn có 2 cách trace là Trace tĩnh trước lúc ấnF9 và Trace động sau lúc ấn F9 hai kiểu trace này rất khác biệt. Ta s/d Trace tĩnh trongtrường hợp cần search một address nào đó trong chương trình(lúc này trace = search) ấnCtrl+G > nhập vào địa chỉ cần search > ấn Enter Olly sẽ đưa ta tới vị trí cần tìm, bạnnhảy tới nhảy lui bất cứ đâu trong soft đều như nhau. Còn Trace động! ta chủ yếu s/d nóđể Crack bất kể bạn Patch hay Keygen...khi này tức là sau khi ấn F9 bạn sẽ phải đi theohướng nhất định mà cái soft được lập trình từ từ lần mò theo nó xem nó làm những cái gì.OK vậy ta sẽ bắt đầu với:1. Trace tĩnh(trước lúc ấn F9)Load soft = Olly xong bao giờ việc đầu tiên cũng là Search for > All reference text stringđể tìm vị trí cái NAG trong mớ code khổng lồ, click phải chuột chọn Search for text nhậpmột từ nào đó nằm trong NAG và ấn Enter -> nhưng ko thu được kết quả gì, có lẽ lãocoder cố tình giấu nó đi(Note3: nên chọn từ đặc biệt ít x/h trong soft để nhận được kếtquả chính xác nhất). Vậy là Trace kiểu này ko ổn chút nào chẳng lẽ chịu bó tay sao:blink1:? No!!! ta sẽ:2.Trace động(sau lúc ấn F9)- Bắt đầu: Search for > All intermodular calls nhằm tìm ra lời gọi tới các hàmDialogBoxParamA, MessageBoxA... vì đây là các hàm tạo thành NAG Screen tìm đượccác hàm này đồng nghĩa với việc tìm ra được vị trí NAG. Sau khi mở window này lên tasẽ thấy vô vàn là lời gọi tới các hàm nằm lộn xộn, để dễ tìm các hàm bên trên bạn bấmvào thanh nhỏ phía trên có chữ Destination để sắp xếp lại các call theo thứ tự alphabe vàta tìm thấy 5 lời gọi hàm USER32.MessageBoxA nhưng có tới 5 lận :sleeping: biết đâu làcái cần tìm? Ta sẽ dùng phương pháp loại trừ để giải quyết vấn đề này! bạn bấm vào mộttrong số 5 dòng > click phải chuột chọn Set breakpoint on every call to MessagBoxAngay lập tức ở cột address thấy 5 dòng này đỏ rực lên khi này ta đã bặt BP lên các lời gọihàm MessageBoxA, mục đích của nó là sẽ dừng chương trình lại sau khi ấn F9 nếu gặpbất cứ lời gọi hàm nào trong 5 call trên để tìm ra hàm gọi NAG. Trở lại màn hình chínhvà ấn F9 nhưng khi NAG xuất hiện mà Olly chẳng dừng soft lại => chứng tỏ mấy lời gọihàm trên không gọi NAG cần tìm(để chắc ăn tốt nhất bạn nên set BP trên tất cả các calltới hàm có chữ GetMessage và kiểm tra hơi thủ công nhưng biết đâu lại gặp may :D).Thật không dễ gì mà lần ra NAG, NAG ơi đuôi mày ở đâu để tao tóm.....Trace động là mảnh đất rất phong phú để ta khai thác các cách tìm NAG vì lúc trace nóđưa ta đến rất gần địa diểm cần tìm. Em xin trình bày cách patch theo 3A và 3B mà emhọc được từ REA :3A. Animate Over(Ctrl+F8) kết hợp set BP- Giới thiệu tính năng Animate Over(Ctrl+F8)(reference):Quote:Chức năng này như sau: Trace từng dòng lệnh mà ko vào hàm call ‘soi mói’ (trace over)một cách “chậm chậm “ và trong cửa sổ code của CPU hiện ra quá trình khi trace.Chứcnăng này tui gọi tóm tắc là TraceO độngTui hay sử dụng chức năng để đi dến các đọan code bắn Nag đó các bạn.OK, bây giờ thử xem sau:-Load lại chương trình Ctrl+F2-Bấm Ctrl+F8 : traceO động. Nó bắn ra Nag đúng ko-Bây giờ trở lại Oll, đừng bấm F12 nhé. Ta thấy Oll ngừng tại đọan code sau để chờ tabấm phím OK(chúng ta lợi dụng chức năng này để tìm ra Nag)Sẽ có bác hỏi tại sao phải kết hợp với set BP câu trả lời là không phải lúc nào Ctrl+F8cũng đưa ta đến đúng địa điểm mà cần phải qua thêm 2, 3 chặng BP nữa thì mới đến đích.- Bắt đầu: Ấn Ctrl+F2 để load lại soft trở về trang thái ban đầu(Note4: để tránh các BPlúc nãy set có thể gây kho khăn trong quá trình trace ta nên Remove nó = cách: ấn vàochữ B màu cyan trên thanh toolbar > click phải chuột vào của sổ BreakPoint > chọnDisable all hoặc Remove chúng đi cũng được) tiếp tục ấn Ctrl+F8 đợi vài giây Olly sẽdừng tại:Quote:0049D115 E8 BE6DFDFF CALL salamand.00473ED8Rất có thể đây 0049D115 sẽ là address call trực tiếp tới NAG => NOP luôn: Click chuộtphải > Binary > Fill with NOPs. Save lại thay đổi: Click chuột phải vào dòng vừa NOP >Copy to Executable > All modifications > Save All... Chạy file vừa tạo xem kết quả ->thấy gì? NAG vẫn còn chơ chơ :sick: thất vọng + mệt mỏi -> Bạn muốn buông xuôikhông? Ấy chớ tôi khuyên bạn nên ngồi nghỉ 1 chút nghe nhạc, uống nước, tập mấy độngtác cho đỡ ...

Tài liệu được xem nhiều: