Tôi đang cố gắng kiểm tra xem ứng dụng có cố gắng thao tác một quy trình cụ thể không (ví dụ: móc chính nó vào nó). Tôi không thể tìm thấy một cách tiếp cận thích hợp để thực hiện điều này. Là kiểm tra tính toán qua quá trình chạy có thể? Nếu đó không phải là cách tôi có thể phát hiện tình huống này?Phát hiện quyền truy cập bộ nhớ vào một quá trình
Trả lời
Quy trình khác không thể tạo móc trong quy trình của bạn, có thể sửa đổi bộ nhớ nhưng để làm cho mã này phải nằm trong vùng địa chỉ của bạn, điều này có thể được thực hiện để tiêm DLL vào quá trình của bạn khi bắt đầu (lúc dll tiêm thời gian) một trong những khó khăn), bạn có thể dễ dàng kiểm tra điều này bằng cách liệt kê DLL trong quá trình của bạn và tìm kiếm một số ReadProcessMemory
, WriteProcessMemory
, OpenProcess
, CallNextHookEx
các cuộc gọi chức năng trong mã của chúng. Để làm điều đó có được địa chỉ (GetProcAddress
) của hàm và giá trị tìm kiếm trong mã (bạn có thể thêm một số dự đoán asm call
cho điều đó cho kết quả phạm vi chặt chẽ).
Bạn có thể kiểm tra xem có gì sai với tệp PE trong đĩa và trong bộ nhớ, khi quá trình chèn DLL lúc khởi động xảy ra thì tệp PE của bạn sau khi được sao chép vào bộ nhớ từ tệp sẽ bị hỏng, sau thư viện dll cuối cùng nên có ghi đè các biểu tượng gỡ lỗi với nhập dll bổ sung. Sửa đổi này có thể được thực hiện trên tập tin giống như trong bộ nhớ.
Phương pháp tốt nhất nhưng có thể sẽ không dễ dàng cho bạn khi bạn đang sử dụng ngôn ngữ C# là làm xáo trộn mã của bạn. Tôi nghĩ rằng đây là một phương pháp tốt bởi vì bạn không móc một cái gì đó mà bạn không biết làm thế nào làm việc, bởi vì bạn không biết những gì móc bạn phải làm và ở đâu. Nhưng đối với mã C# obfuscate tốt, bạn phải tìm phần mềm tốt cho điều đó và có thể trả giá không thấp.
@gcx: ReadProcessMemory, WriteProcessMemory cũng sẽ bắt thời gian chạy tiêm, thời gian chạy tiêm là từ quá trình khác tiêm chức năng để đặt khi sẽ được thực hiện với mã thư viện tải (trong bộ nhớ mục tiêu không giống như móc trong mục tiêu bộ nhớ nhưng chức năng gọi nằm trong dll) – Svisstack
Tôi thấy rằng bạn đã đề cập đến sự làm xáo trộn. Tôi nghĩ rằng, bạn nói rằng vì tôi "quá trình của tôi" tham khảo. Tôi đã giới thiệu một quy trình cụ thể bằng cách nói quá trình của tôi. Tôi đã chỉnh sửa bài đăng gốc. Xin lỗi vì sự nhầm lẫn. –
Đây là obfuscator miễn phí tốt nhất tôi biết: [Eazfuscator.NET] (http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.aspx) – ken2k
- 1. GDB kiểm tra quyền truy cập bộ nhớ
- 2. Xác định quyền truy cập bộ nhớ xấu trên Solaris
- 3. Cách chi phí thấp để truy cập vào không gian bộ nhớ của quá trình truy tìm?
- 4. Làm thế nào để truy cập vào bộ nhớ từ một chương trình trong một
- 5. Phát hiện vấn đề phân mảnh bộ nhớ trong một quá trình
- 6. Truy cập nguyên tử vào bộ nhớ dùng chung
- 7. Quyền truy cập vào sys.dm_db_index_usage_stats
- 8. iOS - Truy cập đồng thời vào tài nguyên bộ nhớ
- 9. Làm cách nào để truy cập bộ nhớ của các quá trình khác?
- 10. Apple phát hiện truy cập UDID trong quá trình xem xét ứng dụng như thế nào?
- 11. Truy cập bộ nhớ nhanh trong C++?
- 12. truy cập bộ nhớ so với bản sao bộ nhớ
- 13. Quyền truy cập chung vào DbContext
- 14. Truy cập vào bộ nhớ riêng của một chủ đề trong OpenMP
- 15. Phát hiện bộ nhớ cache của trình duyệt theo jQuery
- 16. Python: ghi vào bộ nhớ của một quá trình khác theo linux
- 17. Bộ nhớ ngoài truy cập Android
- 18. Truy cập nhiều quá trình SQLite
- 19. Trình mô phỏng Windows Azure "Truy cập không hợp lệ vào vị trí bộ nhớ".
- 20. phát hiện kích thước trang bộ nhớ
- 21. một nỗ lực đã được thực hiện để truy cập vào một ổ cắm theo cách bị cấm bởi quyền truy cập của nó. tại sao?
- 22. Bộ nhớ lưu trữ của một quá trình
- 23. Thực hiện bộ đếm khách truy cập
- 24. Phát hiện rò rỉ bộ nhớ
- 25. Sử dụng pinvoke để có được quyền truy cập vào đối tượng hệ thống và truy vấn về một quá trình
- 26. Tại sao trình duyệt sử dụng quá nhiều bộ nhớ?
- 27. API dữ liệu Youtube: Nhận quyền truy cập vào luồng và phát phương tiện (JAVA)
- 28. Twill/mechanize quyền truy cập vào nội dung html
- 29. Đặt quyền truy cập API JavascriptToken
- 30. Lỗi tràn bộ nhớ trong kiểm tra memory_limit được phát hiện - Không thể đặt giới hạn bộ nhớ quá 2gb?
Bạn biết ứng dụng vi phạm? Và bạn biết làm thế nào bạn phát hiện trong thao tác ứng dụng của bạn đã xảy ra? – rene
Tôi xin lỗi vì tôi không nhận được câu hỏi của bạn. Tôi không biết cách phát hiện thao tác vì vậy tôi không có ý tưởng phát hiện sự xuất hiện thao tác. Đó là lý do tại sao tôi yêu cầu giúp đỡ. –
Mục tiêu thực tế bạn đang cố đạt được là gì? Nếu bạn đang cố gắng để tránh/phát hiện giả mạo trong ứng dụng của riêng bạn, không có gì sẽ hoạt động 100%. –