Hãy thử SPACE BAR trên 00401000 PUSH 0, để thử thay đổi thành JMP 450000 Đó chính là sự thay đổi, nhưng nếu dùng VIEW EXECUTABLE FILE thì sẽ không có sự thay đổi nào cả: Để có sự thay đổi như vậy, bạn phải dùng tính năng SAVE FILE của OLLY. Giờ thì hãy nhìn xuống những địa chỉ cuối cùng của EXECUTABLE trên đĩa cứng: Bạn sẽ thấy vị trí kết thúc là AFFE, trong khi đó chúng ta đã thêm 3000h BYTES rồi kia mà? Thậm chí bạn dùng HEX WORKSHOP thì cũng chỉ thấy tới AFFE thôi. Hì hì, vậy là sao hỉ. Vậy là ta phải thêm 3000h BYTEs vào file trên đĩa đây. Dùng ULTRAEDIT đề mở file dump và tìm đến cuối file: Ừm, dĩ nhiên là chỉ thế thôi AFF0, hãy thêm 3000h BYTES vào file. Nhấp phải chuộc trên vùng này, và chọn INSERT- DELETE HEX: Nên nhớ 3000h tượng ứng 12288 decimal Rồi hãy SAVE lại sự thay đổi. (nhớ save vói tên khác) Giờ thì nó sẽ thay đổi và kết thúc ở DFF0. Giờ thì hãy thay đổi section này bằng PEEDITOR Chúng ta hãy thay đổi RAW SIZE thành 3000h. Ừm, tốt tố, Bạn hãy mở OLLY, load file vừa mới chỉnh sửa trên. Rồi nhìn trong VIEW-EXECUTABLE và bạn sẽ thấy vị trí kết thúc file sẽ là DFFE. Giờ bạn hãy BINARY COPY danh sách ở trên và BINARY PASTE vào trong vị trí 0040B000 trong O2, sẽ không có vấn đề gì xảy ra nữa. Chúng ta vừa mới chỉnh sửa SECTION được thêm vào heng, từ SECTION này, bạn có thể tạo ra một trình LOADER bên trong fiel này, rất đơn giản, bạn hãy dùng LoadLibrary để lấy chỉ số điều khiển tới DLL, sau đó bạn dùng hàm GetProcAddress chúng ta s4 thu thập được địa chỉ của các APIs trên bộ nhớ, và cất giữ chúng trong bảng IAT, rồi tiếp tục vòng la95p tìm kiếm này đối với DLL và các APIs khác heng. Sau cùng , LOADER của chúng ta sẽ nhảy đến ENTRY POINT của chương trình, và khởi động chương trình thôi. Xong heng, tới phần 4 chúng ta sẽ nghiên cứu về SCRIPT mà chúng ta sử dụng để thu thập danh sách tên DLL, và tên APIs. Until part 4 Ricardo Narvaja This document was poorly translated into English by Innocent. Cám ơn bạn đã đọc TOOLCRACKING exe32pack .142 OEP Finder Quote: /* exe32pack .142 OEP Finder by deux (deux@surfy.net) www.reaonline.net */ var oep start: tocnd "esp == 0012FFB4" bphws 0012FFB4, "r" run mov oep,eax bphws oep, "x" run cmt eip,"OEP found!now, dump it and fix IAT!" msg "Script by Deux from www.reaonline.net!" ret PEComPact ver 2.55 Code: /* PEComPact ver 2.55 OEP Finder by deux (deux@surfy.net) www.reaonline.net */ var oep start: msg "Check ignore memory access violation in debug option before run this script." mov oep,eip sto bphws oep, "x" run cmt eip,"OEP found!now, dump it and fix IAT!" msg "Script by Deux from www.reaonline.net!" ret WUPack ver 2.7 Code: /* WUPack ver 2.7 OEP Finder by deux (deux@surfy.net) www.reaonline.net */ var oep start: //eob break findop eip, #50# bp $RESULT run break: mov oep,eax bphws oep, "x" run cmt eip,"OEP found!now, dump it and fix IAT!" msg "Script by Deux from www.reaonline.net!" ret Packman ver 1.0.0.1: Quote: /* Packman ver 1.0.0.1 OEP Finder by deux (deux@surfy.net) www.reaonline.net */ var oep start: sto bphws esp, "r" run sto sto cmt eip,"OEP found!now, dump it and fix IAT!" msg "Script by Deux from www.reaonline.net!" ret . Hãy thử SPACE BAR trên 00 4 01 0 00 PUSH 0, để thử thay đổi thành JMP 4 500 00 Đó chính là sự thay đổi, nhưng nếu dùng VIEW EXECUTABLE FILE thì. Ừm, dĩ nhiên là chỉ thế thôi AFF0, hãy thêm 300 0h BYTES vào file. Nhấp phải chuộc trên vùng này, và chọn INSERT- DELETE HEX: Nên nhớ 300 0h tượng ứng 12 288 decimal Rồi hãy SAVE lại sự. msg "Script by Deux from www.reaonline.net!" ret Packman ver 1. 0. 0 .1: Quote: /* Packman ver 1. 0. 0 .1 OEP Finder by deux (deux@surfy.net) www.reaonline.net */ var oep start: