Bound Import s:

Một phần của tài liệu tìm hiểu, phân tích virus (Trang 29)

Khi trình Loader n p m t PE file vào trong b nh , nó ki m tra b ng import table và n p các file DLLs c yêu c u vào không gian a ch x lý. Sau ó nó d o qua m ng c tr b i FirstThunk và thay th

IMAGE_THUNK_DATA b ng nh ng a ch th c s c a các import functions. Giai o n này t n khá

nhi u th i gian. N u vì m t lý do ch a bi t ng i l p trình có th d oán a ch c a các hàm m t cách

chính xác, trình PE loader không ph i s a các IMAGE_THUNK_DATA m i l n PE file th c thi y nh

a ch chính xác là ã có r i. S liên k t là k t qu c a ý t ng này.

Có m t ti n ích c t tên là bind.exe i kèm v i các trình biên d ch c a Microsoft , ki m tra IAT (m ng FirstThunk) c a m t PE file và thay th các IMAGE_THUNK_DATA Dword b ng a ch c a

các import functions. Khi file c n p, trình PE loader ph i ki m tra các a ch ó có h p l không. N u phiên b n c a file DLL không kh p v i m t file trong PE file ho c n u các file DLLs c n ph i c xây d ng l i, trình PE loader bi t r ng các a ch c liên k t là h t hi u l c và nó d o qua b ng Import Name Table (Original FirstThunk array) tính toán các a ch m i.

B i v y m c dù INT là không c n thi t cho m t file th c thi n p, n u nó không hi n di n file th c thi không th c liên k t. Trong m t th i gian dài trình linker c a Borland là TLINK không t o m t INT vì v y các file c t o b i Borland không th c liên k t.Chúng ta s xem xét t m quan tr ng khác c a vi c thi u INT trong các section ti p theo.

Một phần của tài liệu tìm hiểu, phân tích virus (Trang 29)