Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - XP.

#31
mmm, la tengo complicada parece  ;D
#32
Hola, estuve buscando y buscando y buscando por dias hasta que encontre un codigo que funcione bien.
El tema es que el que consegui Ejecuta la aplicacion y le inyecta la DLL, lo que yo necesito es que inyecte la dll en un proceso, no que CREEE un proceso y le inyecte la dll, no se si se entiende.. El proceso ya esta corriendo no hay que crearlo. aca posteo el inyector, si alguien puede ayudarme mil gracias!

Private Declare Function ForceLibrary Lib "forcelibrary.dll" (ByVal szDll As String, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" _
(ByVal lpApplicationName As Long, ByVal lpCommandLine As String, _
ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function ResumeThread Lib "kernel32.dll" (ByVal hThread As Long) As Long

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 PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type


Private Sub Command4_Click()
Dim ret As Long
Dim inicio As STARTUPINFO
Dim proce As PROCESS_INFORMATION

inicio.cb = Len(inicio)
proce.hProcess = -1
proce.hThread = -1

ret& = CreateProcess(0&, "C:\Archivos de programa\Valve\hl.exe -nomaster -game cstrike", 0&, 0&, 0&, CREATE_SUSPENDED, 0&, 0, inicio, proce)
If ret = 0 Then
MsgBox ("Error en CreateProcess")
End If

ret = ForceLibrary(CurDir & "\hook.dll", proce)
If ret = 0 Then
MsgBox ("Error en ForceLibrary")
End If

ret = ResumeThread(proce.hThread)
End Sub
#33
Cita de: NYlOn en  2 Julio 2006, 23:43 PM
Cambia la linea del timer por:

SubClass FindWindow(vbNullString,"valve001")


Fijate si ahi te funciona...

Me dice "El identificador de la ventana no es valido"
#34
Hola, queria saber como puedo hacer para escribir en la consola del Counter-Strike averigue y se que la ventana se llama "valve001" probe usando los sendkeys pero siempre hay algun error, asi que queria saber si alguien me puede ayudar, consegui para escribir en la consola del Quake 3 lo adapte pero me tira errores, lo dejo aqui abajo. Muchas Gracias!

En un MODULO:

Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
(ByVal lpPrevWndFunc As Long, _
ByVal hwnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long
Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
Private Const LINE_LEN = 512
Private Const GWL_WNDPROC = (-4)
Private Const WM_COMMAND = &H111
Private Const EN_CHANGE = &H300
Private Const EM_GETLINE = &HC4
Private Const EM_GETLINECOUNT = &HBA
Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Public Const GAME_WINDOW = "Counter-Strike"
Dim hWndEditRead As Long, hWndEditWrite As Long
Dim thisline As Long
Dim numlines As Long
Dim szLastLine(LINE_LEN) As String
Dim bOnce As Boolean
Global o_WndProc As Long


Public Sub SubClass(hwnd As Long)
Dim buffer As String
buffer = Space(200)
SetWindowLong hwnd, GWL_WNDPROC, AddressOf WindowProc
o_WndProc = GetWindowLong(hwnd, GWL_WNDPROC)
FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, GetLastError, LANG_NEUTRAL, buffer, 200, ByVal 0&
MsgBox buffer
o_WndProc = o_WndProc
End Sub
Function WindowProc(ByVal hw As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Select Case uMsg
Case WM_COMMAND
If wParam = EN_CHANGE Then
If Not bOnce Then
hWndEditRead = lParam
hWndEditWrite = FindWindowExA(FindWindow(0, GAME_WINDOW), Null, "Edit", 0)
bOnce = True
End If
numlines = SendMessage(hWndEditRead, EM_GETLINECOUNT, 0, 0)
thisline = SendMessage(hWndEditRead, EM_GETLINE, numlines - 2, szLastLine)
Form1.Text1.Text = thisline
End If
WindowProc = CallWindowProc(o_WndProc, hw, uMsg, wParam, lParam)
End Select
End Function



EN UN FORM:

Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 5000
End Sub

Private Sub Timer1_Timer()
SubClass FindWindow("valve001", vbNullString)
End Sub


Cuando lo pruebo en el CS me pone "Acceso denegado"  :-[
#35
Programación Visual Basic / Proteger proceso
29 Junio 2006, 14:50 PM
Hola a todos, es posible proteger el proceso de mi programa para que no le inyecten codigos?

me dijeron que con la API virtualprotect o algo asi se podia  :-\
#36
Cita de: Webagent007 en  2 Junio 2006, 00:09 AM
Cualquier archivo que tenga información (incluso las imagenes de mi vieja)  :P pueden ser encriptadas

cfg es el Winbackup no?
#37
s
#38
Programación Visual Basic / Re: Inyectar DLL
27 Mayo 2006, 07:34 AM
Cita de: _Hendrix_ en 26 Mayo 2006, 19:45 PM


Citartodo en un form? o uso modulo?

Evidentemente esto va en un modulo tio....

Salu2



No me di cuenta :l tanta PC todo el día programando me dejo medio flasheado  ;D
#39
Programación Visual Basic / Re: Inyectar DLL
26 Mayo 2006, 21:42 PM
Cita de: _Hendrix_ en 26 Mayo 2006, 19:45 PM
jajajaja oka....No tendras alguno para inyectar .exe's????

Aunke ahora que lo pienso...supongamos que el .exe que ejkuto lo quiero inyectar en otro .exe...que tengo que hacer??? una kopia, inyectarlo y cerrarme??? :-\ :-\ :-\

Salu2



Esto esta bueno haber quien nos ayuda
#40
Programación Visual Basic / Re: Inyectar DLL
26 Mayo 2006, 19:25 PM
----