Nhiều bạn biết và dùng ngôn ngữ Visual Basic để viết Auto/Hack cho Game, họ hỏi mình làm sao để viết 1 dll mà dùng để inject vào 1 tiến trình khác ... Mình sẽ hướng dẫn trong bài này cách tạo 1 dll như vậy (Thêm cả 1 ví dụ về hotkeys)
Bài này sẽ hướng dẫn các bạn tạo và viết code trên Visual C++ 6, nếu ai
dùng Visual C++ 2005-2008-2010 thì cũng tương tự như vậy.
Chạy VC6 - > File -> New -> Win32 Dynamic-Link Library và đặt tên cho Project ( Mặc định cũng là tên file luôn ), ở đây lht đặt là "DLLInject"
[You must be registered and logged in to see this link.]
Ấn Ok và chọn A simple DLL project -> Finish -> OK
Ta sang phần File View và click vào DLLInject.cpp
[You must be registered and logged in to see this link.]
Nhìn sang cửa sổ chính, phía dưới #include "stdafx.h"
Ta thêm đoạn sau:
Mã:
Mã:
Mã:
[/code]}
[You must be registered and logged in to see this link.]
Bây giờ Build ra nhỉ
Build / Build DLLInject.dll
Ở VC6 mặc định thư mục Project là : C:\Program Files\Microsoft Visual Studio\MyProjects
Bài này sẽ hướng dẫn các bạn tạo và viết code trên Visual C++ 6, nếu ai
dùng Visual C++ 2005-2008-2010 thì cũng tương tự như vậy.
Chạy VC6 - > File -> New -> Win32 Dynamic-Link Library và đặt tên cho Project ( Mặc định cũng là tên file luôn ), ở đây lht đặt là "DLLInject"
[You must be registered and logged in to see this link.]
Ấn Ok và chọn A simple DLL project -> Finish -> OK
Ta sang phần File View và click vào DLLInject.cpp
[You must be registered and logged in to see this link.]
Nhìn sang cửa sổ chính, phía dưới #include "stdafx.h"
Ta thêm đoạn sau:
Mã:
- Code:
#include <windows.h>
VOID InjectThread()
{
for (;;Sleep(10))
{
if(GetAsyncKeyState(VK_F4)&1)
{//---
MessageBox(NULL, "F4 is pressed !", "Test Inject", NULL);
}//---
}
}
Mã:
- Code:
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
Mã:
- Code:
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBox(NULL, "Inject succcesful !", "Test Inject", NULL);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)InjectThread, 0, 0, 0);
}
return TRUE;
[/code]}
[You must be registered and logged in to see this link.]
Bây giờ Build ra nhỉ
Build / Build DLLInject.dll
Ở VC6 mặc định thư mục Project là : C:\Program Files\Microsoft Visual Studio\MyProjects