|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - martinss
26
« en: Sábado 30 de Septiembre de 2006, 17:28 »
Bueno te comento... la dll le pedi yo a un amigo que la haga porque yo de "C" no se mucho, la dll lo que hace es mandar un mensaje a la consola del CS para autentificar eso es todo.
27
« en: Sábado 30 de Septiembre de 2006, 17:17 »
el nombre de la ventana del cs es Valve001 , probe con ese y la inyecto.. pero la dll no hace lo que deberia..
28
« en: Sábado 30 de Septiembre de 2006, 14:45 »
la dll tiene que estar en el mismo directorio que el inyector, y el codigo seria asi: en un Módulo: Option Explicit Public hModule As Long Public hProcess As Long Public dwSize As Long Public dwPid As Long Public dwBytesWritten As Long Public dwTid As Long Public SE As SECURITY_ATTRIBUTES Public Const PAGE_READONLY As Long = &H2 Public Const PAGE_READWRITE As Long = &H4 Public Const PAGE_EXECUTE As Long = &H10 Public Const PAGE_EXECUTE_READ As Long = &H20 Public Const PAGE_EXECUTE_READWRITE As Long = &H40 Public Const MEM_RELEASE As Long = &H8000 Public Const MEM_COMMIT As Long = &H1000 Public Const MEM_RESERVE As Long = &H2000 Public Const MEM_RESET As Long = &H80000 Public Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000 Public Const SYNCHRONIZE As Long = &H100000 Public Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF) Public Const INFINITE As Long = &HFFFFFF Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type 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 VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long Public Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Sub Main() Inject App.Path & "\autentificacion.dll", "Counter-Strike" End Sub Public Function Inject(szDll As String, szTargetWindowClassName As String) As Boolean Dim hWnd As Long Dim k32LL As Long Dim Thread As Long SE.nLength = Len(SE) SE.lpSecurityDescriptor = False 'Encontrar la ventana y abrir el proceso hWnd = FindWindow(szTargetWindowClassName, vbNullString) GetWindowThreadProcessId hWnd, dwPid hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, dwPid) If hProcess = 0 Then GoTo Inject_Error k32LL = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA") 'Reservamos memoria hModule = VirtualAllocEx(hProcess, 0, LenB(szDll), MEM_COMMIT, PAGE_READWRITE) If hModule = 0 Then GoTo Inject_Error WriteProcessMemory hProcess, ByVal hModule, ByVal szDll, LenB(szDll), dwBytesWritten Thread = CreateRemoteThread(hProcess, SE, 0, ByVal k32LL, ByVal hModule, 0, dwTid) If Thread = 0 Then GoTo Inject_Error 'Clean up a bit WaitForSingleObject Thread, 100 VirtualFreeEx hProcess, hModule, 0&, MEM_RELEASE CloseHandle Thread Exit Function Inject_Error: Inject = False MsgBox "error" Exit Function End Function
Form: Private Sub Command1_Click() Inject App.Path & "\autentificacion.dll", "Counter-Strike" End Sub
cuando hago click en el botón da el error
29
« en: Sábado 30 de Septiembre de 2006, 00:17 »
¿Y en que consiste el "AntiCheat" sino es la DLL? Si tu codigo no es el inyector ni el inyectado ... ¿Que hace realmente?
¿De ese codigo que pusiste que no te funciona exactamente? la DLL es la que tiene que autentificar con el servidor... osea, verifica que cada player que entre al servidor tenga el anticheat activado y el programa se encarga de las detecciones de cheats...  y ese codigo.. da error cuando hago click en "Inyectar" http://img156.imageshack.us/img156/7111/dibujole2.jpg
30
« en: Viernes 29 de Septiembre de 2006, 23:00 »
totalmente de acuerdo, creo que estas un tanto desubicado.
Seria bueno que nos dijeras como son los intentos que has hecho. uno de los codigos que he probado a sido este pero da error a la hora de inyectar: Option Explicit Public hModule As Long Public hProcess As Long Public dwSize As Long Public dwPid As Long Public dwBytesWritten As Long Public dwTid As Long Public SE As SECURITY_ATTRIBUTES Public Const PAGE_READONLY As Long = &H2 Public Const PAGE_READWRITE As Long = &H4 Public Const PAGE_EXECUTE As Long = &H10 Public Const PAGE_EXECUTE_READ As Long = &H20 Public Const PAGE_EXECUTE_READWRITE As Long = &H40 Public Const MEM_RELEASE As Long = &H8000 Public Const MEM_COMMIT As Long = &H1000 Public Const MEM_RESERVE As Long = &H2000 Public Const MEM_RESET As Long = &H80000 Public Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000 Public Const SYNCHRONIZE As Long = &H100000 Public Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF) Public Const INFINITE As Long = &HFFFFFF Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type 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 VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long Public Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Sub Main() Inject App.Path & "\Ejemplo.dll", "Notepad" End Sub Public Function Inject(szDll As String, szTargetWindowClassName As String) As Boolean Dim hWnd As Long Dim k32LL As Long Dim Thread As Long SE.nLength = Len(SE) SE.lpSecurityDescriptor = False 'Encontrar la ventana y abrir el proceso hWnd = FindWindow(szTargetWindowClassName, vbNullString) GetWindowThreadProcessId hWnd, dwPid hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, dwPid) If hProcess = 0 Then GoTo Inject_Error k32LL = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA") 'Reservamos memoria hModule = VirtualAllocEx(hProcess, 0, LenB(szDll), MEM_COMMIT, PAGE_READWRITE) If hModule = 0 Then GoTo Inject_Error WriteProcessMemory hProcess, ByVal hModule, ByVal szDll, LenB(szDll), dwBytesWritten Thread = CreateRemoteThread(hProcess, SE, 0, ByVal k32LL, ByVal hModule, 0, dwTid) If Thread = 0 Then GoTo Inject_Error 'Clean up a bit WaitForSingleObject Thread, 100 VirtualFreeEx hProcess, hModule, 0&, MEM_RELEASE CloseHandle Thread Exit Function Inject_Error: Inject = False MsgBox "error" Exit Function End Function
31
« en: Viernes 29 de Septiembre de 2006, 22:39 »
la dll no la hice yo, la creo un amigo que sabe mucho de C y era necesario que sea en ese lenguaje ya que el juego esta creado en C/C++, el anticheat que vendria a ser en VB lo hice yo, se bastante de VB pero nada de C.. si no me quieren ayudar todo bien entiendo sus "sospechas" pero bueno yo les digo la verdad. Saludos a todos.
32
« en: Viernes 29 de Septiembre de 2006, 21:28 »
Hola a todos, actualmente estoy realizando un AntiCheat para el Counter-Strike, ya tengo todo armado pero lo unico que me falta es inyectarle una DLL hecha en "C" al proceso del juego con VB, he probado un monton de codigos sin exito... si alguien tiene uno por favor que lo postee, saludos y gracias
|
|
|