Malzemeler :
2 tane buton,2tane text,1er tane label ve frame,1tane timer, 1tane common dialog control(ctrl+T ye basım microsoft common control 6.0ı işaretleyin)

Böyle bi tasarım verebilirsiniz. Kendinize göre değişikliklerde yapabilirsiniz.

Şimdi 1 tane module ekleyın ve içine şu kodları yazın :
________________________________________________________________________________
Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type
Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As Any, lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long
Public Declare Function ReadProcessMem Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function WriteProcessMem Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal ProcessHandle As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, ByVal lpStartAddress As Any, ByVal lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
Public Declare Function GetModuleFileNameExA Lib "PSAPI.DLL" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long
Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Public Declare Function EnumProcessModules Lib "PSAPI.DLL" (ByVal hProcess As Long, ByRef lphModule As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Declare Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public PID As Long
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOMOVE As Long = &H2
Const SWP_NOSIZE As Long = &H1
Const SYNCHRONIZE = 1048576
Const NORMAL_PRIORITY_CLASS = &H20&
Const CREATE_SUSPENDED = 4
Public Function ReadLong(Addr As Long) As Long 'read a 4 byte value
Dim Value As Long
On Error Resume Next
ReadProcessMem PID, Addr, Value, 4, 0&
ReadLong = Value
End Function
Public Function ReadString(Addr As Long) As String
Dim aRr(255) As Byte
Dim bu As String
On Error Resume Next
ReadProcessMem PID, Addr, aRr(0), 255, 0&
For i = 0 To 255
bu = Chr$(aRr(i))
If Asc(bu) = 0 Then
Exit For
End If
Ret = Ret & bu
Next
ReadString = Trim(Ret)
End Function
Public Function WriteString(Addr As Long, Val1 As String)
arrSize = Len(Val1)
If arrSize > 0 And arrSize < 256 Then
ReDim ByteArr(1 To arrSize) As Byte
For i = 1 To arrSize
ByteArr(i) = Asc(Mid(Val1, i, 1))
Next
WriteProcessMem PID, Addr, ByteArr(1), arrSize, 0&
End If
End Function
Public Function InjectDll(DllPath As String)
Dim DLLVirtLoc As Long, DllLength, inject As Long, LibAddress As Long
Dim CreateThread As Long, ThreadID As Long
DllLength = Len(DllPath)
DLLVirtLoc = VirtualAllocEx(PID, ByVal 0, DllLength, &H1000, ByVal &H4)
inject = WriteProcessMem(PID, DLLVirtLoc, ByVal DllPath, DllLength, vbNull)
LibAddress = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
CreateThread = CreateRemoteThread(PID, vbNull, 0, LibAddress, DLLVirtLoc, 0, ThreadID)
End Function
Public Function KoStart(yol As String)
Dim pInfo As PROCESS_INFORMATION
Dim sInfo As STARTUPINFO
Dim sNull As String
Dim lSuccess As Long
Dim lRetValue As Long
' CREATE_SUSPENDED = NORMAL_PRIORITY_CLASS
sInfo.cb = Len(sInfo)
lSuccess = CreateProcess(vbNullString, yol & " USA_KnightOnline", ByVal 0&, ByVal 0&, 0&, CREATE_SUSPENDEDD, ByVal 0&, Left$(yol, Len(yol) - Len("KnightOnline.exe")), sInfo, pInfo)
PID = pInfo.hProcess
End Function
________________________________________________________________________________
Forma sağ tıklayıp view code seçin ve şunları yazın :
________________________________________________________________________________
Private Sub Command1_Click()
Dim WName As String
KoStart Form1.Text2.Text ' koyu açtırıyoruz
InjectDll "efsaneyup.dll" 'dll yi injected ediyoruz
WName = "**"
While WName <> "Knight OnLine Client"
WName = ReadString(&HA630A0) ' Kalın yazılanlar bizim pointerlerimiz her patch geldiğinde güncellememiz lazım
Wend
WriteString "&HA630A0", Text1.Text & Chr(0)
Sleep (700)
End Sub
Private Sub Command2_Click()
CommonDialog1.Filter = "KnightOnLine(*.exe)|KnightOnLine.exe;|"
CommonDialog1.ShowOpen
Text2.Text = CommonDialog1.FileName 'Knightın Yolunu Text2 ye aktarıyouz
End Sub
Private Sub Timer1_Timer()
Dim MyValue As Integer
Text1.Text = "DaRKMaNia " & CInt(Int((1903 * Rnd()) + 1))
Timer1.Enabled = False
End Sub
________________________________________________________________________________
Ve son olarak DLL mizi indirip programın olduğu dizine atıyoruz.
Download : efsaneyup.dll