_ Mở 1 Olly mới, với thằng CopyMemII thì em khuyên các bác nên xài 2 bản Olly khác nhau, các Bp khi đặt sẽ ko bị mất. Attach thằng child vô, F9, F12: _ Patch lại EBFE => 9BDB : _ Trace tới OEP : _ Tại đây ta thấy dấu hiệu của Code Splicing : _ và IAT elimination: _ Các bác nhớ PID của child và father, đồng thời address của h àm lstrcatA (1 hàm trong IAT) là 77E74B66. Với IAT elimination thì có 3 cách, cách dùng ArmInline, cách dump vùng nhớ và 1 cách khác của bác Tomo nhưng em chưa kịp đọc, ^__^, em sẽ update sau hoặc là mọi ngư ời tự đọc rồi viết thêm vô cho hoàn chỉnh. Cách dump vùng nhớ các bác tham khảo tut của haggar, nhưng đại khái là cũng phải copy và paste như cách dưới đây. Cách xài ArmInline: _ Với IAT elimination thì ta cần bảng IAT hoàn chỉnh, ko bị phá hủy. Vì vậy các bác giữ nguyên mấy thằng Olly này. _Mở 1 Olly khác, load target vô, separate Child & father … _ Attach child mới vô 1 Olly khác, patch lại EBFE => 60E8, he GetModuleHandleA, …., patch magic jump, hd GetModuleHandleA, He 404000, F9, olly break: _ Alt + M, Ctrl + B, gõ vô 66 4B E7 77 được: _ Quay trở lại Dump Window, Ctrl + G, 003F83DC : _ Cuộn lên, cuộn xuống ta thấy bảng IAT : IAT start: 3F83B0 IAT end: 3F8630 Len = 280 Và tương ứng với: IAT start: 3C8558 IAT end:3C87D8 Len = 280 _ Công việc của ta đơn giản chỉ là copy bảng IAT hoàn chỉnh và paste vào cái bảng què quặt : . magic jump, hd GetModuleHandleA, He 404 000 , F9, olly break: _ Alt + M, Ctrl + B, gõ vô 66 4B E7 77 được: _ Quay trở lại Dump Window, Ctrl + G, 00 3F83DC : _ Cuộn lên, cuộn xuống. ta thấy bảng IAT : IAT start: 3F83B0 IAT end: 3F86 30 Len = 2 80 Và tương ứng với: IAT start: 3C8558 IAT end:3C87D8 Len = 2 80 _ Công việc của ta đơn giản chỉ. giữ nguyên mấy thằng Olly này. _Mở 1 Olly khác, load target vô, separate Child & father … _ Attach child mới vô 1 Olly khác, patch lại EBFE => 60E8, he GetModuleHandleA, …., patch magic