banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: thanhinterpol  XML
Profile for thanhinterpol Messages posted by thanhinterpol [ number of posts not being displayed on this page: 0 ]
 
Tình hình là đã giải quyết được vấn đề này.
Tạo một project Dll bằng C#, bulit nó ra file .tlb sau đó tạo 1 file dll bằng C++, gọi lại các hàm trong file dll C#, >> built ra file .dll C++. Như vậy là có thể sử dụng được .dll C# trong việc Hook.
link: http://support.microsoft.com/kb/828736
p/s: cảm ơn mọi người đã giúp đỡ
@quygia128: thank bạn, vấn đề mình gặp là ko export đựoc function trong dll C#, nên ko lấy được ProAddress của nó
@Levis: mình đã thử cách bạn đưa, nhưng vẫn ko được
Trong ví dụ trên là "System.Windows.Forms.dll", file này minh ko chỉnh sửa được. Còn trong bài của mình là dll tự tạo. Có thể export functions trong dll này ko?
Chào mọi người, mình là sinh viên năm cuối DHBK, đang thực tập tại cty LogiGear. Trong thời gian này tụi mình đang được training DEV, hiện tại đang làm một đề tài về Hook gặp một ít khó khăn mong được mọi người giúp đỡ.
Vào nội dung chính, Đề tài của mình là "Create a [Get .Net App Infor] program: This program is show all intormation of .Net application "
Với đề tài này có thể chia ra làm các giai đoạn:
- Lấy danh sách các ứng dụng .NET bằng win API: ở đây mình dùng hàm EnumWindows
- Cài file .dll vào ứng dụng đang chạy : cái này mình dùng remote thread (3)
- Bước tiếp theo là sử dụng SetWindowsHookEx để vài Hook procedure vào Hook chain. :
Code:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr SetWindowsHookEx(HookType hookType, HookProc lpfn, IntPtr hMod, uint dwThreadId);

+ tham số thứ nhất là loại Hook: mình dùng WH_CALLWNDPROC
+ tham số thứ 2 là địa chỉ của hàm trong file dll: dùng getProAddress() để lấy,(mình gặp rắc rối ở đây !)
+ tham số thứ 3 là handle của file dll được cài vào ứng dụng: dùng GetModuleHandle()
+ tham sô thứ 4: 0 (hook có phạm vi toàn hệ thống)

Cho mình hỏi là tại sao hàm getProAddress() ko thể lấy được "proceduce address" của "functions" trong file Dll được viết bằng C#, C++ thì lấy bình thường.
Mình đang đọc về cách export function trong dll nhưng vẫn chưa hiểu lắm (4)

Link tham khảo về hook:
(1)/hvaonline/posts/list/765.html
(2)http://msdn.microsoft.com/en-us/library/windows/desktop/ms644959(v=vs.85).aspx
(3)http://www.codeproject.com/Articles/37228/API-Hooking-LoadLibrary
(4) http://msdn.microsoft.com/en-us/library/z4zxe9k8.aspx
 

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|