2012-01-20 22 views
6

Trên Windows, ít phổ biến hơn để tạo "proxy DLL" diễn ra của DLL gốc và các cuộc gọi chuyển tiếp tới nó (sau khi thực hiện bất kỳ hành động bổ sung nào nếu cần). Bạn có thể đọc về nó herehere chẳng hạn.Thư viện được chia sẻ proxy (sharedlib, shlib, so) cho ELF?

Tuy nhiên, văn hóa thuần hóa shlib trong Linux khá khác nhau. Nó bắt đầu với thực tế là LD_PRELOAD là tính năng dựng sẵn với ld.so dưới Linux, mà chỉ đơn giản là đưa shlib riêng biệt vào trong quá trình và sử dụng bất kỳ ký hiệu nào mà nó định nghĩa là ghi đè. Và kỹ thuật "tiêm" đó dường như định nghĩa toàn bộ hướng suy nghĩ - đây là a typical ELF hacking tool hoặc this question, nơi người đàn ông dường như có cùng một usecase với tôi, nhưng bắt đầu bằng cách hỏi làm thế nào anh ta có thể vá các tệp nhị phân hiện có.

Không, cảm ơn. Tôi không muốn tiêm vào hoặc sửa đổi thứ gì đó cũng không phải của tôi. Tất cả những gì tôi muốn làm là tạo một shlib proxy độc lập sẽ gọi ra bản gốc. Lý tưởng nhất, sẽ có một công cụ mà có thể được cho ăn với bản gốc .so và tạo ra một mã nguồn C mà sẽ chỉ chuyển hướng đến các chức năng của bản gốc, trong khi cho phép tôi dễ dàng ghi đè lên bất cứ điều gì tôi muốn. Vậy, công cụ đó ở đâu? ;-) Cảm ơn.

Trả lời

0

apitrace là công cụ bao gồm truy tìm chi tiết về các libs đồ họa (OpenGL, DirectX) cho một số nền tảng. Nó có thể quá chi tiết và phức tạp cho giải pháp chung, nhưng ít nhất là cung cấp một số tham chiếu và mối quan hệ.

Các vấn đề liên quan