ก่อนอื่นต้องพูดถึงกระทู้นี้ก่อน old topic ของ Tummy คราวนี้พอเอามา run เนี่ย มันเป็นเพียงแต่การ LoadLibrary ของ dll ที่ต้องการ ลงใน process (ไม่ได้รัน) <<< อยากให้มันรันให้ดูเลย ^^

คราวนี้ไปดูตัวอย่าง winspy_app.zip เพื่อเอามาต่อยอด ก็รู้สึกว่า แค่จะ execute function ของ dll ที่ load ลงใน remoteThread เนี่ย ทำไมดูมันวุ่นวายจัง ก็เลย เอามา เขียนใหม่ซะเลยให้มัน cleanๆ หน่อย จะได้เหมาะกับการศึกษา (จะได้ไม่ต้องไปศึกษาอย่างอื่นให้วุ่นวาย เช่นพวก callback , dialog message ฯลฯ)

ปล. ถ้ามีวิธีที่ดีกว่านี้ก็บอกเลยนะครับ ผมเองก็กำลังหัดอยู่ จะได้มีหลายๆ แนวคิด

ออ ก่อน compile ถ้าจะให้ดี ปิด antivirus ด้วยนะครับ antivirus บางตัวจะแจ้งเตือนตอน compile (ผมใช้ nod32 มันแจ้งเตือนตอน compile แต่ตอนได้เป็น exe มาแล้วเอามา run ไม่ยักจะแจ้งอะไรเลย)

[hide=25]
main.cpp
[code]#include <shlwapi.h>
#include <tlhelp32.h>
#include <windows.h>

#define DLL_NAME "dll1.dll"
#define DLL_FUNC "SomeFunction"
#define DLL_PATH "C:\\Documents and Settings\\Administrator\\Desktop\\Learn\\dll1.dll"
#define MAXWAIT 10000
#define PROC_NAME "calc.exe"

unsigned long GetTargetProcessIdFromProcname(char *proc_name);
bool InjectDll(DWORD PID, char* dll_name, char* func_name);

int main()
{