elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con "Inyeccion dll en VB" en: 26 Julio 2011, 07:09 am
[D4N93R], Gracias por tu respuesta. Te comento que al momento de depurar no me arroja ningun error (0 errores, 0 advertencias, 0 mensajes).

Al depurar obtengo "inyecta.exe" lo ejecuto y queda en espera del "proceso.exe".. abro el programa "proceso.exe" y el "inyecta.exe" hace su trabajo, y me muestra dicha ventana de configuración, pero se cierra antes de que abra completamente el "proceso.exe", y no debe ser así, se tiene que mantener activo.

También he probado con abrir primero el "proceso.exe" y después el "inyecta.exe" pero en este caso se cierra "inyecta.exe" sin mostrar nada.

Dejo el src completo por si acaso:

Código
  1. Imports System.IO
  2. Imports Microsoft.Win32
  3.  
  4. Public Class Form1
  5.    Private TargetProcessHandle As Integer
  6.    Private pfnStartAddr As Integer
  7.    Private pszLibFileRemote As String
  8.    Private TargetBufferSize As Integer
  9.  
  10.    Public Const PROCESS_VM_READ = &H10
  11.    Public Const TH32CS_SNAPPROCESS = &H2
  12.    Public Const MEM_COMMIT = 4096
  13.    Public Const PAGE_READWRITE = 4
  14.    Public Const PROCESS_CREATE_THREAD = (&H2)
  15.    Public Const PROCESS_VM_OPERATION = (&H8)
  16.    Public Const PROCESS_VM_WRITE = (&H20)
  17.  
  18.    Public Declare Function ReadProcessMemory Lib "kernel32" ( _
  19.    ByVal hProcess As Integer, _
  20.    ByVal lpBaseAddress As Integer, _
  21.    ByVal lpBuffer As String, _
  22.    ByVal nSize As Integer, _
  23.    ByRef lpNumberOfBytesWritten As Integer) As Integer
  24.  
  25.    Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
  26.    ByVal lpLibFileName As String) As Integer
  27.  
  28.    Public Declare Function VirtualAllocEx Lib "kernel32" ( _
  29.    ByVal hProcess As Integer, _
  30.    ByVal lpAddress As Integer, _
  31.    ByVal dwSize As Integer, _
  32.    ByVal flAllocationType As Integer, _
  33.    ByVal flProtect As Integer) As Integer
  34.  
  35.    Public Declare Function WriteProcessMemory Lib "kernel32" ( _
  36.    ByVal hProcess As Integer, _
  37.    ByVal lpBaseAddress As Integer, _
  38.    ByVal lpBuffer As String, _
  39.    ByVal nSize As Integer, _
  40.    ByRef lpNumberOfBytesWritten As Integer) As Integer
  41.  
  42.    Public Declare Function GetProcAddress Lib "kernel32" ( _
  43.    ByVal hModule As Integer, ByVal lpProcName As String) As Integer
  44.  
  45.    Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
  46.    ByVal lpModuleName As String) As Integer
  47.  
  48.    Public Declare Function CreateRemoteThread Lib "kernel32" ( _
  49.    ByVal hProcess As Integer, _
  50.    ByVal lpThreadAttributes As Integer, _
  51.    ByVal dwStackSize As Integer, _
  52.    ByVal lpStartAddress As Integer, _
  53.    ByVal lpParameter As Integer, _
  54.    ByVal dwCreationFlags As Integer, _
  55.    ByRef lpThreadId As Integer) As Integer
  56.  
  57.    Public Declare Function OpenProcess Lib "kernel32" ( _
  58.    ByVal dwDesiredAccess As Integer, _
  59.    ByVal bInheritHandle As Integer, _
  60.    ByVal dwProcessId As Integer) As Integer
  61.  
  62.    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
  63.    ByVal lpClassName As String, _
  64.    ByVal lpWindowName As String) As Integer
  65.  
  66.    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
  67.    ByVal hObject As Integer) As Integer
  68.  
  69.    Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
  70.    Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
  71.    Dim aa As String = "0"
  72.    Dim dllproc As String = System.Environment.CurrentDirectory() + "\t.dll"
  73.    Dim PrOCeSo As String = "proceso.exe"
  74.  
  75.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  76.        ListBox1.Items.Add(" ")
  77.        ListBox1.Items.Add("Inicio de Handy Inyector!... [OK] ")
  78.        ListBox1.Items.Add("........................................................................................")
  79.    End Sub
  80.  
  81.    Private Sub InjectAr()
  82.        On Error GoTo 1
  83.        Timer1.Stop()
  84.        Dim TargetProcess As Process() = Process.GetProcessesByName(PrOCeSo)
  85.        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
  86.        pszLibFileRemote = dllproc
  87.        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
  88.        TargetBufferSize = 1 + Len(pszLibFileRemote)
  89.        Dim Rtn As Integer
  90.        Dim LoadLibParamAdr As Integer
  91.        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
  92.        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
  93.        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
  94.        End
  95.        'CloseHandle(TargetProcessHandle)
  96. 1:      ListBox1.Items.Add("Error en la Injeccion")
  97.    End Sub
  98.  
  99.    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
  100.  
  101.    End Sub
  102.  
  103.    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  104.        If IO.File.Exists(dllproc) Then
  105.            Dim TargetProcess As Process() = Process.GetProcessesByName(PrOCeSo)
  106.            If TargetProcess.Length = 0 Then
  107.                If aa = "0" Then
  108.                    ListBox1.Items.Add("Esperando por: >> " + PrOCeSo + "")
  109.                    aa = "1"
  110.                End If
  111.            Else
  112.                Timer1.Stop()
  113.                ListBox1.Items.Add("Espere Por Favor!...")
  114.                Call InjectAr()
  115.                ListBox1.Items.Add("Injeccion!... [OK]")
  116.                End
  117.                End
  118.            End If
  119.        Else
  120.            If aa = "0" Then
  121.                ListBox1.Items.Add("Error: DLL no fue Encontrado!")
  122.                aa = "1"
  123.            End If
  124.        End If
  125.    End Sub
  126.  
  127.    Private Sub Inject_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Inject.Click
  128.        ListBox1.Items.Clear()
  129.        ListBox1.Items.Add(" ")
  130.        ListBox1.Items.Add("Procesando...")
  131.        ListBox1.Items.Add(" ")
  132.        aa = "0"
  133.        Timer1.Start()
  134.    End Sub
  135. End Class
  136.  

Gracias!  ;D
2  Programación / .NET (C#, VB.NET, ASP) / Problema con "Inyeccion dll en VB" en: 23 Julio 2011, 06:05 am
Hola, un saludo a TODOS! como el topic lo indica. Quisiera Inyectar un DLL a un proceso. El src lo encontré en la red, hice algunas modificaciones a mis necesidades y lo tengo ya casi completo ejemplo "inyeccion.exe" el DLL es aparte.. La función del DLL, es que después de la Inyeccion al proceso indicado, abra una ventana con una lista de configuraciones (on/off, menu etc...)

Al abrir el "inyeccion.exe" queda en espera del proceso que voy a inyectar.. Abro la aplicación, "inyeccion.exe" ve el proceso y Inyecta el DLL. En el momento de la Inyeccion el DLL muestra su ventana de configuración, sin embargo al terminar de abrir la aplicación esta ventana de configuración se cierra :( al igual que el "inyeccion.exe".

He revisado el code varias veces, pero no doy. aqui dejo la función de la inyeccion a ver que faltara

Código
  1.    Private Sub InjectAr()
  2.        On Error GoTo 1
  3.        Timer1.Stop()
  4.        Dim TargetProcess As Process() = Process.GetProcessesByName(PrOCeSo)
  5.        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
  6.        pszLibFileRemote = dllproc
  7.        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
  8.        TargetBufferSize = 1 + Len(pszLibFileRemote)
  9.        Dim Rtn As Integer
  10.        Dim LoadLibParamAdr As Integer
  11.        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
  12.        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
  13.        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
  14.        End
  15.        'CloseHandle(TargetProcessHandle)
  16. 1:      ListBox1.Items.Add("Error en la Injeccion")
  17.    End Sub
  18.  

"PrOCeSo" es variable. Espero me puedan ayudar! De ante mano Muchas Gracias!  ;)
3  Seguridad Informática / Materiales y equipos / Re: Engenius (Senao) EPI-3601S PCI Extended Range 600mW. Vale la pena ??? en: 24 Octubre 2009, 22:21 pm
Un saludo, yo opino todo lo contrario a los que estan en contra de esta Tarjeta, o los que dicen que no es buena..

Les comento, tengo un AP montado en linux con 3 Engenius EPI-3601S 600mW, estas conectadas cada una a una antena sectorial de 17dbi. Y he echo pruebas y he llegado a Distancia de 3 kilometor sin perdida.. señal 100% estable a esa distancia..  en Conclusión esta tarjetas son perfectas. son muy buenas. y pegan duro con sus 600 mW. Por lo menos a mi me va perfecto.

Saludos..
4  Media / Juegos y Consolas / Re: Claves para CS 1.6 Non Steam en: 18 Agosto 2007, 23:42 pm
muy bueno, aunq siempre me gusta jugar sin cheats. supongo que debe ser xq tengo steam original y valve me podria banear, pero si ers non-steam dale con todo  :-\

NO es cheat o algo parecido no tiene nada que ver con eso.. Yo uso steam y uso los valores dependiendo de mi conexion.. Estos valores pueden cambiar.

//1024k/512k

rate "25000"
cl_updata "40"
cl_cmdrate "40"
cl_cmdbackup "6"
cl_updaterate "40"
cl_resend "6"
cl_dlmax "800"
mp_decals "300"
'net_graph "3"

--------------------------------------------------------------------------------

Otros:

//256-300k

rate "10000"
cl_rate "10000"
cl_cmdrate "60"
cl_cmdbackup "4"
cl_updaterate "50"
cl_resend "3"
cl_dlmax "256"
mp_decals "100"
'net_graph "3"

------

//512k

rate "10000"
cl_rate "10000"
cl_cmdrate "80"
cl_cmdbackup "4"
cl_updaterate "45"
cl_resend "3"
cl_dlmax "400"
mp_decals "100"
'net_graph "3"
5  Media / Juegos y Consolas / Re: Claves para CS 1.6 Non Steam en: 17 Agosto 2007, 01:14 am
Me parece que lo que buscas es esto.

Quizas jugando en LAN, estos valores no parezcan muy necesarios (aunque si lo son) dado que el ping es bajo, pero supongo que mucha gente se pregunta para que son estos comandos, que hacen y que valores deberiamos poner si jugamos por Internet o en una LAN.

Comencemos por una explicacion simple de como funciona el juego a nivel de conectividad. El juego esta compuesto de N clientes (nuestras maquinas) que se conectan a un servidor. Cada maquina envia informacion de donde esta, adonde se dirige, si dispara o no, etc. El server recibe esa data, la analiza y se la envia a los demas clientes. Asi si alguien mata a un enemigo, el server le informa a los demas que alguien a muerto.

De esta explicacion se sacan 2 conclusiones simples :

a. Los clientes no envian tanta informacion pero si RECIBEN bastante informacion del server acerca de los eventos de los demas jugadores.

b. El server recibe regular cantidad de informacion, pero mas ENVIA informacion a todos los jugadores acerca de los eventos que registra.

A lo nuestro, los comandos :

rate : El comando rate indica la cantidad en bytes que podemos RECIBIR del server. El popular ANCHO de banda de bajada. Si tenemos un modem de 56K, podemos recibir aproximandamente 7000 bytes, es decir que nuestro rate seria ese valor.

cl_rate : Indica la cantidad de bytes que podemos ENVIAR al servidor. Como ya dije, los clientes no envian mucha data, pero si reciben.

cl_updaterate : Indica la cantidad de VECES por segundo que estaremos recibiendo datos del server. Es decir, que tan frecuentemente recibiremos informacion. Rate nos dira el limite en tamaño, y cl_updaterate manejara que tan frecuente son estas actualizaciones de informacion. Obviamente van de la mano porque si por ejemplo lo tenemos en 50, cada actualizacion es de 200 bytes y nuestro rate esta en 8000 bytes, pues ya volamos y estaremos con bastante lag.

cl_cmdrate : Indica la cantidad de veces por segundo que enviaremos actualizaciones al server. Va de la mano con cl_rate.

net_graph : Esta herramienta es vital para determinar que valores debemos usar. Con el comando 'net_graph 3' podemos ver el ping y los valores de loss y choke.

loss : No es un comando. Simplemente nos indica la cantidad de paquetes que se pierden. Recuerdan alguna vez donde ustedes ven a alguien que se trasporta ? Eso es porque hay paquetes que se pierden en el camino y por eso el efecto de teletrasportarse.

choke : Tampoco es un comando. Al igual que loss, nos indica la cantidad de paquetes "atorados" o "embotellados" por saturacion. Es decir, que la conexion no es lo suficientemente veloz para trasmitir toda la data que pretendemos enviar/recibir. Al final, el efecto es similar a cuando tenemos loss.

Ahora a los parametros que deberiamos usar para los distintos tipos de conexiones.

LAN :

rate 20000
cl_rate 20000
cl_updaterate 100
cl_cmdrate 100

Modem de 56K :

rate 6000
cl_rate 6000
cl_updaterate 30
cl_cmdrate 30

Cablenet :

rate 10000
cl_rate 10000
cl_updaterate 40
cl_cmdrate 40

Speedy :

rate 20000
cl_rate 20000
cl_updaterate 100
cl_cmdrate 100

Ok, estos valores son REFERENCIALES. La idea es que arranquen con estos valores y levanten su 'net_graph 3'. Si comienzan a ver valores de choke y loss, comiencen a bajar sus valores de cl_updaterate y cl_cmdrate de 5 en 5 (ambos) hasta que ya no tengan loss ni chokes.

Ahora bien, es muy probable (mas estos ultimos dias) que apesar de mover estos comandos y no tener choke/loss, nuestro ping sea alto, y esto ya escapa de nosotros.

Suerte !
6  Media / Juegos y Consolas / Re: Como crear un servidor del css crackeado en linux en: 17 Agosto 2007, 00:42 am
Buenas.. que tal.. Oye si lo que quieres es crear un servidor de Counter strike 1.6 no steam.. Visita esta web http://TeamIRC.HomeLinux.OrG En la parte de Manuales encontraras uno que dice "Como montar un servidor de Counter-Strike 1.6 (Linux)" y en esa misma web encontraras los archivos necesarios. Cualquier duda colocala aca y te acesoro.

Saludos

Suerte
7  Informática / Tutoriales - Documentación / Re: TUTORIAL PROGRAMACION BAT en: 29 Enero 2006, 22:54 pm
Buenas..


SEEE.... me funciono perfecto.. Gracias por la ayuda..



Gracias Salu2..
8  Informática / Tutoriales - Documentación / Re: TUTORIAL PROGRAMACION BAT en: 28 Enero 2006, 17:25 pm
Buenas.. Hola de nuevo...


Oye Hendrix mira coloque algo como esto:
_______________

@echo off
:inisi
cls
echo.
echo Introduce IP:
set /p ip=
ping ip
PAUSE
_______________

Pero tengo un problema cuando lo ejecuto me dice

La solicitud de ping no pudo encontrar el host ip. Compruebe el nombre y vuelva a intentarlo.
Presione una tecla para continuar . . .

Cuando se trabaja con ips se coloca diferente :huh:??..

GRACIAS...
9  Informática / Tutoriales - Documentación / Re: TUTORIAL PROGRAMACION BAT en: 28 Enero 2006, 01:42 am
Wenas....

SEEEEEEEEEEEEEEEEEEEEEEEEEEEEE... Hendrix Funciona GOD  :D

MUCHAS GRACIAS Hendrix  ;D...

Saludos...
10  Informática / Tutoriales - Documentación / Re: TUTORIAL PROGRAMACION BAT en: 27 Enero 2006, 12:14 pm
Buenas un saludo..

Quisiera que me ayudaran en lo siguiente. Se los agradecería..

Como puedo crear un BAT que al ejecutarse pida la entrada de un dato. Y que al teclear ese dato se guarde en una variable X

Y quisiera saber si ese dato que se guarda, puede llevar espacio :huh:

Como se puede hacer??

GRACIAS::
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines