IDA Pro Advanced 4.9
Chắc các bạn đã biết IDA đúng là 1 tool tuyệt vời. Em đã bị chinh phục hoàn toàn khi đọc Tut của anh Hacnho vàkienmanowar . Việc mà chúng ta nên làm bây giờ là làm sao từ từ thuần hóa IDA và quen dần với nó. Các tính năng chính của IDA thì đã được anh Kienmanowar trình bày rõ ràng và hôm nay chúng ta cùng nhau tìm hiểu thêm tính năng Set BreakPoint (F2), Step intro(F7), Step over (F8) và Start Process (F9). Hẳn bạn đã quá quen với các tính năng và phím tắt này trong Olly để phân tích Code nhằm tìm ra điều gì đó khi Crack Soft. Còn hôm nay chúng ta dùng thử trên IDA. Target hôm nay chúng ta thực hành là “Crackme1” được Code bằng delphi.(Target có kèm trong tut). Chạy thử Crackme này code mặt mũi nó ra sao để còn biết đường mà tìm dấu hiệu để Cờ rắc nữa…
Nhập thử Fake Name và Fake Serial vào xem thế nào, chúng ta nhận được 1 thông tin sau :
Ok dậy là đủ, Load Crackme vào IDA
Nhấn Ok để IDA tiến hành Disassembly và ngồi đợi…hehe…sau khi IDA hoàn thành nhiệm vụ thì đến lượt chúng ta. Chọn tab “Names“
Nhấn Alt+T hoặc vào Menu Search-> Search. Gõ vào “Incorrect”
Và ta tới được đây:
Nhấn đúp chuột ta tới được đây:
Qua đây chúng ta thấy được String này được đặt trong Section .Code của chương trình, chúng ta cần tìm đến thủ phạm đã gọi String này khi chúng ta nhập Code sai. Nhấp đúp vào địa chỉ 00444554
IDA đưa chúng ta tới được địa chỉ mong muốn
Từ vị trí màu vàng nhìn lên bên trên một chút ta thấy có 1 lệnh Call đang khoe hàng cho chúng ta thấy và biết phải làm gì với nó đó chính là “ call System::__linkproc__ LStrCmp(void) “ khỏi giải thích các bạn cũng dư sức hiểu hàm call này có công dụng gì? Vậy còn chờ gì nữa ko Set 1 Breakpoint tại hàm Call này. Nhấn Chuột phải vào hàm Call và chọn như hình (hoặc nhấn F2)
Xong đâu đó nhấn F9 để Run
Nhập Fake Serial:1234567890 nhấn và ta dừng tại điểm Set Breakpoint(Màu tím)
Bạn nhấn F7 để đi vào bên trong hàm Call này (giống Olly)
Haha rõ như ban ngày ko có gì phải bàn cãi. Nó đem lưu số fake serial của chúng ta vào EAX và chuỗi Serial mặc định ở EDX sau đó so sánh coi số Fake Serial có bằng số Serial mặc định không nếu ko bằng hiện chuỗi “Incorrec…” để kiểm chứng coi có đúng ko? Sử dụng F8 trace tới
00403CA3 cmp eax, edx
Đưa trỏ chuột tới EAX (như hình dưới) bạn sẽ thấy số Fake Serial mà bạn đã nhập vào:
Đưa trỏ chuột vào EDX và sử dụng nút giữa của chuột cuộn xuống bạn sẽ thấy được đầy đủ số Serial mặc định của chương trình tạo ra
( số Serial đầy đủ 66511818-630035424 do chương trình Capture nó ko cho chụp hết )
Run thử target và nhập chuỗi serial vừa tìm được em tin chắc các bác sẽ thích
Haha thế là tạm ổn…IDA còn 2 tính năng khá hay đó là Attach to Process, Attach to Process và Graphs……. Các bạn có thể tự tìm hiểu… Do trình độ văn chương của em nó có hạn đôi khi diễn đạt ko như mong muốn có gì thì mấy bro bỏ qua cho em….
Hy vọng với tut này giúp bạn được cái gì đó trong quá trình thuần phục IDA để trở thành 1 newbie sống lâu năm như em. Hehehehe..
Bye hẹn gặp lại trong các tut lần sau
Thanks To: Benina,Kiemanowar, Hacnho, QHQCrker, Merc, TQN, light.phoenix, iamidiot, takada, haule_nth, trickyboy, thienthanden, stringer …. all my friend, and YOU.