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ú

Temas - Cromatico

#1
Buen día gente!!
No se si esto va acá o en la parte de Seguridad, quería plantear el siguiente problema...
Tengo una DLL y un Injector.
La DLL requiere permisos de administrador para funcionar correctamente.
El injector se ejecuta como administrador y carga la DLL en un proceso que ya estaba ejecutadose, tambien como administrador. Hasta aca todo perfecto.

Ahora:
El injector se ejecuta como administrador y carga la DLL en un proceso que ya estaba ejecutandose pero NO como administrador. Por lo tanto la DLL no consigue acceso para realizar ciertas acciones (open process, readprocessmemory, etc.)

Hasta donde se, no existe forma de elevar los privilegios a un proceso ya ejecutandose verdad?
Hay alguna alternativa? O solo me queda elegir un proceso que este ejecutandose como administrador nada mas?

Desde ya, gracias y saludos!
#2
Buenas tardes estimados, estoy necesitando convertir esta parte de código que esta en vb.net a c++... La idea es poder hacer la misma función, pero para codeblocks c++...

Public Function ProcessorID()
       Dim cpuInfo As String = String.Empty
       Dim temp As String = String.Empty
       Dim mc As ManagementClass = New ManagementClass("Win32_Processor")
       Dim moc As ManagementObjectCollection = mc.GetInstances
       For Each mo As ManagementObject In moc
           If (cpuInfo = String.Empty) Then
               cpuInfo = mo.Properties("ProcessorId").Value.ToString
               ProcessorID = cpuInfo
               Exit Function
           End If
       Next
       ProcessorID = cpuInfo
   End Function


Buscando por internet encontre esto:
void getPSN(char *PSN)
{
   int varEAX, varEBX, varECX, varEDX;
   char str[9];
   //%eax=1 gives most significant 32 bits in eax
   __asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (1));
   sprintf(str, "%08X", varEAX); //i.e. XXXX-XXXX-xxxx-xxxx-xxxx-xxxx
   sprintf(PSN, "%C%C%C%C-%C%C%C%C", str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
   //%eax=3 gives least significant 64 bits in edx and ecx [if PN is enabled]
   __asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (3));
   sprintf(str, "%08X", varEDX); //i.e. xxxx-xxxx-XXXX-XXXX-xxxx-xxxx
   sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN, str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
   sprintf(str, "%08X", varECX); //i.e. xxxx-xxxx-xxxx-xxxx-XXXX-XXXX
   sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN, str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
}


Pero solo me devuelve la última parte del ID... Tienen idea si hay alguna alternativa para C++ que haga lo mismo? Imagino que si pero no estoy buscando bien...

Desde ya gracias!


EDIT: Ya esta, toqueteando como buen novato despues de varios intentos, agregue este bloquesito:

__asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (1));
    sprintf(str, "%08X", varEDX); //i.e. XXXX-XXXX-xxxx-xxxx-xxxx-xxxx
    sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN,str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);


Y me trajo la primer parte del ID, ahora lo reacomodo y listo...

No se lo que hice y tampoco quiero saber por ahora JAJAJA, no se nada de asm...
No mentira, si alguien tiene conocimiento, digame que hice.

Saludos y solucionado.
#3
Hacking Wireless / Consultas varias - wifi
9 Febrero 2015, 01:03 AM
Buenas tardes estimados...
Estoy analizando la posibilidad de compartir mi conexion a internet entre algunos domicilios...

La idea es llegar desde mi dpto hasta lo de mi vieja y tambien a lo de mi abuela...
Los tres domicilios entre si no estan a mas de 3km...
De mi dpto a lo de mi vieja, 1,8km.
De mi dpto a lo de mi abuela, 2.4km.

Vivo en un departamento de 6 pisos, puedo instalar una antena arriba de todo perfectamente...

Me gustaría saber que es lo que necesito (aparte de dinero jaja)
Mi idea es usar algun nanostation, rocket m5...

1- Los nanostations son direccionales o omnidireccionales?
2- 2.4ghz o 5.8ghz, que me conviene? Entiendo que estos ultimos tienen menos interferencia y son menos suceptibles al clima?
3- En caso de ser los 5.8, necesitaria uno cerca de las antenas de mi departamento verdad?
4- Si son 5.8, para conectarlos al internet de mi router domestico, tengo que subir un cable de red si o si? Mi router reparte el wifi comun...
5- Para que puedan recibir tanto mi vieja como mi abuela, necesitan cada uno su receptor 5.8? Seria comprar 3 nanostation identicos?
6- Para que entre internet a traves de esos dos equipos, tengo que bajar su respectivo cable de red de cada nanostation? O reparten wifi comun tambien?

Disculpen tantas preguntas, es solo de curioso y la verdad no estoy muy metido en el tema, pero me interesa mucho aprender sobre esto!

Desde ya, gracias por el tiempo!!

Saludos!

PD: Los aparatos quiero que sean buenos y que soporten mas clientes en caso de ser necesario!
#4
Buen día!
Estoy abriendo un ejecutable de VB con el OllyDbg, encontre la direccion de la funcion que quiero, y la cantidad de parametros segun el RETN que se encuentra al final de la funcion...

Mi duda surge en saber QUE TIPO de parametros son...

Por ejemplo, si la funcion recibe un numero como primer parametro y un varchar como segundo parametro... Tengo forma de detectar eso desde Ollydbg?

Perdon la ignorancia, no tengo idea de meterme 100% en asm, solo quería saber si existe forma sencilla de detectar esto con el olly...

Gracias!

EDIT: Entiendo que usualmente los parametros se pasan con PUSH antes del CALL a X funcion... Pero sigo en la misma, como identifico que tipo de parametros son?
#5
Buenas tardes estimados, estuve buscando por la web y por lo que entiendo no hay posibilidad de inyectar una dll de 32 bits en un proceso de 64 bits verdad?
Quería estar 100% seguro nada mas.

Saludos y gracias!
#6
Hola compañeros, estoy teniendo un problema...
Yo usaba readprocessmemory para obtener un STRING de un proceso, ahora me inyecto al proceso, asi que quiero utilizar memcpy y hacerlo solo en una linea sin hProcess...

Leía un String de 50...

BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);


Supuse que para pasarlo a memcopy seria algo asi:
memcpy (&tmp, (PVOID)(0x123456), 50);

Pero me crashea constantemente...

Alguna idea? Gracias y saludos!
#7
Ingeniería Inversa / Consulta hook
14 Mayo 2014, 15:38 PM
Buen día compañeros!
Estoy teniendo dudas al tratar de hookear una función, el tema es así:
Supongamos que tengo una función de VB6 dentro de una clase (modulo de clase).
Esa función recibe un parámetro tipo numérico.

EJEMPLO
Private function NUMERITO (num as integer)
     MSGBOX num
end function


Yo quiero hookear esa funcion, desde mi programa en C++, puede ser que me este fallando debido a que VB6 trabaja con un hilo únicamente? O por cantidad de parametros incorrectos, tengo esto:

typedef void (WINAPI * Numerito)(int);
Numerito MyNumerito;

VOID WINAPI MyNumerito(int num)
{
__asm PUSHAD
    //ACA GUARDARIA LO QUE TENGO EN EL PARAMETRO num
__asm POPAD
   //LLAMO A LA FUNCION ORIGINAL:
   OrigNumerito(num);
}


Pero me falla, puede ser que me falte algún parámetro que se le pasa siempre a las clases de vb6? Ayuda!

Gracias y saludos!

EDIT: Estoy intentando hookear desde mi DLL en C++ inyectada al proceso VB6.
#8
Programación C/C++ / Descargar DLL
22 Septiembre 2013, 07:00 AM
Buenas noches a todos! Queria hacer una consulta...
Tengo una DLL en c++ la cual inyecto en un proceso cualquiera, y la misma crea sus hilos haciendo su trabajo...
Queria consultar si hay forma de descargarse a si misma del proceso en cual se inyecto...
Es decir que abra el inyector nuevamente (que esta en vb6), y que pueda volverla a inyectar en el mismo proceso por ejemplo.

Solo se puede usando DLL Cloacking?

Gracias y saludos!
#9
Programación C/C++ / ProcessorID c++?
7 Septiembre 2013, 17:01 PM
Buenos días! Queria saber si me pueden orientar un poco para obtener el processorid desde C++, encontre varios ejemplos para C#, pero me gustaria saber tienen alguno por ahi para c++, uso codeblocks...

Gracias de antemano!
#10
Programación C/C++ / Abrir URL desde DLL C
28 Agosto 2013, 17:08 PM
Buenas tardes!!

Queria hacer una consulta...
Tengo una DLL dinamica en CodeBlocks y me estoy volviendo loco tratando de hacer que obtenga la hora desde internet...
La misma, la llamo desde un ejecutable con loadlibrary y por si sola crea un hilo principal que hace lo que necesito, pero no logro obtener la hora!

En un servidor web, subi un PHP que lo unico que hace es imprimir la hora actual.
La idea es que la DLL pueda abrir ese PHP y guardar la hora en una variable...

Se cuelga en esta parte:
HINTERNET OpenAddress = InternetOpenUrl(connect,"http://www.google.com", 0, 0, 0, 0);

La verdad que no entiendo, el mismo codigo funciona en consola y me trae el fuente de google.com, pero en la DLL queda tildado en esa parte...

Alguna idea?

Gracias!
#11
Programación C/C++ / Array Unicode
18 Marzo 2013, 11:51 AM
Buenos dias a todos! Queria hacerles una consulta, tengo un proyecto en DEV C++ con una funcion para leer un array de bytes... ReadProcessMemory...

Lo asigno a un array declarado de esta forma:
BYTE Array[30];

Hasta acá todo perfecto, ahora cuando lo quiero convertir a string...

*TEXTO = const_cast<char*>(LPCSTR(Array));
MessageBox(NULL, *TEXTO, "PRUEBA", MB_OK);
long *buffer;
char text[] = "Nada ";
char name[sizeof(*TEXTO)];
strcpy(name, *TEXTO);
buffer = (long *)calloc(sizeof(*TEXTO), sizeof(*TEXTO));
*TEXTO = (char *)buffer;
strcat(*TEXTO, name);


Con la primera linea, ya logro que el MessageBox me salga correctamente... Lo demas, es para que retorne ese string en VB... No se si habra codigo que sobre, pero es la unica forma que pude hacer que funcione...

El tema es que cuando el array es UNICODE, solo sale la primera letra en el MESSAGEBOX, al igual que lo que llega a VB, solo la primera letra... Como puedo convertir el Array a UTF, o bien, hacer que en el Array, se quiten los 00 que tiene entre cada caracter?

Muchas gracias!!!
#12
.NET (C#, VB.NET, ASP) / Ayuda RunPe win7
3 Noviembre 2012, 15:24 PM
Buenos dias! (Almenos aca en Argentina :P)
Queria hacer una consulta, estuve buscando varios runpe programados en vb.net, los cuales me han funcionado perfecto en windows xp con framework 4.0 instalado...

Ahora ninguno, de los aproximadamente 6 runpe que encontre, me funciona en windows seven....

Compilado el ejecutable bajo mi maquina win7 con visual studio 2010, lo ejecuto y me dice:
Error CLR: 80004005.
El programa terminará ahora.


Ahora copio el ejecutable en mi maquina con windows xp + framework 4.0 y se ejecuta correctamente inyectado a un proceso en blanco programado en .net tambien... El problema es que con windows 7 no logro hacer funcionar nada!!
Y obviamente tengo instalado el framework por que me lo instala el visual studio...

Alguna idea??

Gracias gente!
#13
Hola que tal tanto tiempo gente, estoy clavado con un temita y es extraño lo que me pasa, seguramente algo estoy haciendo mal, la verdad no lo se... Cuestion lo que intento hacer es simular un simple click en un control picturebox externo, con api sendmessage, ojo ahora para hacer pruebas estoy probando con dos proyectos mios, uno tiene una picturebox que en el evento click manda un msgbox, y el otro proyecto es el que intenta clickear ese image...

Si yo mantengo apretado el click del mouse sobre cualquier lugar de la pantalla, sea o no alguno de los dos proyectos, me salta el msgbox, pero la idea seria que clicke automaticamente la imagen sin hacer nada con el mouse... El codigo es:


Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

timer:
HWNDx = Text3.Text
Call SendMessage(HWNDx, WM_LBUTTONDOWN, 0, ByVal 0&)
Call SendMessage(HWNDx, WM_LBUTTONUP, 0, ByVal 0&)


Alguna idea de por que no envia correctamente el click? otra cosa, paara que clickee en el centro de ese control, tendria que usar getwindowrect, calcular el width y height y luego convertirlo verdad? Algo vi por algun lado pero no recuerdo! Igual el tema principal por ahora es que haga click como corresponde!

Muchas gracias!
#14
Hola que tal, queria preguntar algoo, tengo en mi pc instalado el xampp configurado para entrar desde mi ip publica + puerto 8080... desde cualquier equipo se accede asi: http://MIIPPUBLICA:8080, y yo desde http://MIIPPRIVADA:8080

Funciona excelente y se visualiza bien, el tema es que quiero saber como poder configurar el servidor para crear un subdominio...
Actualmente tengo configurado un no-ip que accedo: http://mino-ip.org:8080 y me lleva a mi web (desde mi equipo no funciona por el router)

Pero no se como puedo crear un subdominio, alguien tiene alguna idea?

Gracias!
#15
PHP / Pregunta sockets
3 Febrero 2012, 19:16 PM
Hola que tal, queria hacer una pregunta... Es posible conectar un socket de php a un servidor programado en vb con winsock escuchando determinado puerto?

Por que necesito interconectar php con vb, y la forma que encontre es que vb verifique un php con metodo post y que reciba la informacion.
El problema es que necesito que sea continuo, y la mayoria de los servidores tienen una proteccion parece porque despues de un tiempo de e star verificando ese php para ver si cambio algo... El servidor deja de responder (despues de estar varias horas funcionando correctamente) es como si me banearan la ip, xq la cambio, y puedo acceder de nuevo al php.

Entonces queria ver si habia otra forma de conectar php con vb, haciendo que el php envie informacion a vb, sin que vb tenga que estar verificando cada 10 segundos...

Y se me ocurrio hacerlo por sockets, conectar php hacia vb, pero la verdad es que no se si se puede, hice unas pruebas pero sin exito :(

Gracias!
#16
Hola gente, tengo una duda, es posible hacer una conexión con mysql directa, sin pasar por php, ni tampoco teniendo que descargar el famoso driver odbc en cada pc que tenga que usar mi programa?

Gracias!
#17
Hola gente, estuve como loco buscando en internet, estoy tratando de enviar un paquete a un servidor a traves de winsock, pero el put* vb me pone un caracter null al final de la cadena, por ejemplo yo envio:
senddata chr("5")

y en mi sniffer veo que llega:

"05 00"

Hay alguna forma de evitar que se altere la cadena con ese caracter null?

Gracias!


Disculpen, error mio en el sub senddata!!!
Borren el tema si quieren, perdon!
#18
Hola que tal, queria hacer una consulta... Si yo quiero inyectar mi dll para hacer X cosa (funciona), pero a su ves quiero que se inyecte como si fuera otra libreria para que no la detecten en el proceso, no se si es posible finalizar alguna de las que esta usando para poner la mia con ese nombre... quizas alguna que no sirva, no se me ocurre nada :P

gracias!
#19
Postie en programacion general pero no supieron responderme o quizas no se puede hacer lo que estoy intentando, posteo aca a ver si alguien tiene alguna idea, gracias de antemano!

Hola que tal, queria saber si hay alguna forma de enviar datos desde dev c++ hacia vb...
Tengo una funcion en c++ que obtiene datos de un proceso, los cuales podria obtenerlos directamente desde vb, pero c++ es muchisimo mas rapido para hacerlo.
Entonces queria saber si hay alguna forma de una vez obtenidos esos datos puedo enviarlos a vb de una forma rapida y sin que se pierda ninguno ya que es continuo el cambio de los datos.

Pense que quizas se podria hacer una conexión 127.0.0.1 entre el programa c++ y vb, pero bueno si hay otra forma mas simple, me gustaria saberla!

Muchas gracias!
#20
Hola que tal, queria saber si hay alguna forma de enviar datos desde dev c++ hacia vb...
Tengo una funcion en c++ que obtiene datos de un proceso, los cuales podria obtenerlos directamente desde vb, pero c++ es muchisimo mas rapido para hacerlo.
Entonces queria saber si hay alguna forma de una vez obtenidos esos datos puedo enviarlos a vb de una forma rapida y sin que se pierda ninguno ya que es continuo el cambio de los datos.

Pense que quizas se podria hacer una conexión 127.0.0.1 entre el programa c++ y vb, pero bueno si hay otra forma mas simple, me gustaria saberla!

Muchas gracias!
#21
Hola que tall, queria hacer una pregunta... Yo programo en vb6, pero la verdad queria pasar parte de las funciones de mi programa a c++ e interactuar con una dll... Ya logre crear una funcion de readprocessmemory y usarla desde vb:

void ReadLong(DWORD lpAddress, void* buf, long len)
{
  DWORD oldprot, dummy = 0;
  HWND hwnd = FindWindow(NULL, "VENTANA");

  if (hwnd)
  {
     DWORD proc_id;
     GetWindowThreadProcessId(hwnd, &proc_id);
     HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);

     ReadProcessMemory(hProcess, (void *) lpAddress, buf, len, 0);
    CloseHandle(hProcess);
   
  }
  else
  {
     // Error
  }
}



El problema es que esta funcion, me devuelve un valor de 4 bytes, y estoy tratando de leer un texto, "70 00 72 00 75 00 65 00 62 00 61" ("prueba" sin los nops), y en 4bytes seria "7471216", la cuestion es que no se como hacer que la funcion me devuelva el array "70 00 72 00 75 00 65 00 62 00 61", para luego convertirlo a texto :(...

Alguien me puede dar una mano? Gracias!!!
#22
Programación Visual Basic / api hook
18 Marzo 2011, 01:20 AM
holaaa que tal, queria preguntar una cosita...
Yo tengo programada una aplicacion que funciona como proxy, pero resulta que al pasar todo el flujo de paquetes de entradas y de salidas, y a su vez la misma aplicacion estar haciendo bastantes cosas (como readprocessmemory, etc etc) al parecer genera un poco de LAG entre la comunicacion...

Lo que queria saber es si es posible evitar que dependa de mi aplicacion, es decir, hacer un api hook al winsock e interceptar send y recv para mandarlos al handledata de mi aplicacion...

Estuve buscando por internet, hace unos dias encontre un articulo de unclose de cobain si no me equivoco, pero lo mire en ese momento y no pude entenderlo, resulta que ahora no logro encontrarlo!

Otra cosa que vi es el post:
http://foro.elhacker.net/analisis_y_diseno_de_malware/api_hook_delphi_espiar_las_comunicaciones_de_otros_procesos-t263615.0.html

Pero esta el delphi y por desgracia no se convertirlo, y creo que tampoco sea tan facil...
Gracias!!!

edit: ya encontre el unclose de cobain, pero no logre nada :(
#23
Hola que tal nuevamenteee :P:P
Queria consultar una cosita... Tengo un texto que es todo seguido, pero quiero dividirlo...
Como para poner un ejemplo, supongamos que son todos USUARIOS, usuario1, usuario2, usuario3...

El texto me lo devuelve una web php con "echo"...
Seria asi:
dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3

Como ven, son 4 datos y despues del 4to separador esta el identificador de cada usuario.

La cuestion es que no se me ocurre como identificar los 4 datos + el identificador de cada "usuario"...

Estaba pensando en contar los separadores y al llegar a 4, que haga un split y corte como si fuera un usuario... Pero tampoco se como hacerlo...
Va, se me ocurre readfield pero no se no me convence, hay alguna otra alternativa?

Gracias!!!
#24
PHP / Sistema de usuarios 1 login
7 Febrero 2011, 22:16 PM
Hola que talll, es la primera ves que posteo en esta sección y queria saber algo...
Yo tengo un sistema de usuarios simple en php & mysql...
Lo que queria saber es si es posible hacer que cada usuario pueda iniciar sesion una sola ves.
No se si me explico, por ejemplo:
Usuario: cromatico
pass:     cromatico

logueo en php y mantengo la sesion...


Entonces, abro la pagina de nuevo, con otro navegador, lo que sea y quiero iniciar sesion con el mismo usuario...
Entonces estaria bueno que evite eso, con algun mensaje estilo "su usuario esta siendo utilizado por otra persona"

Alguna pista de como se puede lograr eso?
#25
Holaaa  ;-) ;-) ;-) ;-) ;-)
Como andannn aca nuevamente toy :$
Queria preguntar algo, hace unos dias habia hecho un post preguntando como leer un address en array of bytes para despues convertirlo a texto y asi poder leer el textbox del messenger... Logre hacerlo pero bueno el tema es que necesito saber la longitud porque aveces cambia el address del texto segun los caracteres no se bien como funcionara...

Pero bueno ahora queria saber si es posible leer de alguna forma ese textbox, yo le puse "invisible" porque no tengo entendido como es que no tiene hwnd... Habra alguna manera de obtener este texto si el control textbox no tiene hwnd? Porque no es la unica aplicacion (msn) que tiene este estilo de programacion y me gustaria saber si hay alguna forma de leerlos :P...

Tambien estaria bueno si alguien supiera como es que se hacen estos textbox sin hwnd me parece interesante!

Bueno gracias por leer y blackzerox gracias por contestarme mi post anterior aunque quedo abierto, pero bueno parece q en memoria se complica para leer un textbox ya que cambia el address segun la longitud parece nose.

Saludos!
#26
Holaaa  ;-) ;-) ;-) ;-) ;-) ;-)

Primero que nada felices fiestas a todos, un poquitin tarde pero seguro :P

Queria consultar algo... Estoy tratando de leer en memoria el "textbox" de donde se pone el email en el msn... (Digo "textbox" porque no se que es ya que no tiene hwnd propio)

Entonces que hice fue usar un convertidor, y por ejemplo escribi "hola@hola.com" lo converti en array de bytes con el convertidor* y quedo esto:
"68 6f 6c 61 40 68 6f 6c 61 2e 63 6f 6d"

Lo que hice fue agregarles nops o "00" entre cada uno y me quedo asi:
"68 00 6f 00 6c 00 61 00 40 00 68 00 6f 00 6c 00 61 00 2e 00 63 00 6f 00 6d"
Despues, lo busque con el ce, y encontre el address dinamica (tranquilamente puedo buscar el pointer pero por ahora primero quiero ver si es posible lo que quiero hacer)

Entonces eso lo puedo transformar en texto con la funcion Hex2ASCII*...

Hasta ahi vamos bien, mi problema es que no logro leer, desde visual basic, en el formato array of bytes que lee el cheat engine... Si puedo leer por ejemplo en 4 bytes tranquilamente, pero no es lo mismo no me da cada caracter en hex como para que lo pueda convertir...
Alguien tiene alguna idea sobre como leer al igual que el cheat engine en array of bytes?

Muchisimas gracias y ahora explico los asteriscos :P Saludos!!!



*Convertidor online: http://home2.paulschou.net/tools/xlate/

*Funcion Hex2ASCII
Public Function Hex2ASCII(sText As String) As String
On Error Resume Next
Dim sBuff() As String, A As Long
sBuff() = Split(sText, Space$(1))
For A = 0 To UBound(sBuff)
Hex2ASCII = Hex2ASCII & Chr$("&h" & sBuff(A))
DoEvents
Next A
End Function
#27
Hola que talll otra ves a romper las bo.. :D xD

Tengo una nueva duda... Para escribir en un richtextbox de un formulario de un proyecto externo al mio...

Yo lo que hago es obtengo lo que ya esta escrito, lo guardo en un string, y despues con sendmessage (SETTEXT) mando el string + linea nueva + texto mio...

Las funciones para obtener el texto son:
Public Function Obtener_Texto(Hwnd_Ventana As Long) As String
    Dim i As Long
    Dim n As Long
    Dim temp As String
    n = SendMessageAsLong(Hwnd_Ventana, EM_GETLINECOUNT, 0, 0)
    For i = n - 10 To n
        temp = temp & Leer_Linea(Hwnd_Ventana, i - 1)
    Next
    Obtener_Texto = temp
End Function


y

Public Function Leer_Linea(Hwnd_Ventana As Long, Numero_Linea As Long) As String
    Const MAX_CHAR_PER_LINE As Long = 80
    Dim Lo As Integer
    Dim Hi As Integer
    Dim ret    As Long
    Dim Buffer As String
    Lo = MAX_CHAR_PER_LINE And (255)
    Hi = Int(MAX_CHAR_PER_LINE / 256)
    Buffer = Chr$(Lo) + Chr$(Hi) + Space$(MAX_CHAR_PER_LINE - 2)
    ret = SendMessageAsString(Hwnd_Ventana, EM_GETLINE, Numero_Linea, Buffer)
    Leer_Linea = Left$(Buffer, ret)
End Function


Si no me equivoco estan en recursosvisualbasic no recuerdo bien...
Bueno despues de obtener el texto, mando el nuevo con sendmessage y bajo hasta el final:
Call SendMessage(HANDLE, WM_SETTEXT, 0, ByVal TextoAnterior & vbCrLf & TextoX & vbCrLf)
Call SendMessage(HANDLE, WM_VSCROLL, SB_BOTTOM, 0)


Ahora mi pregunta es, se puede Escribir directamente sin obtener el texto anterior? osea hacer un vbCrLf sobre lo que ya este escrito y mandar otro texto?

Porque cuando obtengo el texto, y mando todo con sendmessage, se pierde el formato (el color es lo que mas me importa)

Gracias!!!
#28
Hola que tallll, tengo una nueva dudaa aver si alguien tiene alguna idea :P

Estoy intentando detectar la posicion del click sobre un control image externo...

Ya tengo las dimenciones del image width, height, top, left, right y bottom...

La pregunta es, se puede detectar en que posicion del image se hizo click?

Graciasss!!!
#29
Hola de nuevoo :P
Una pregunta, yo estoy usando Setparent para incrustar mi formulario adentro de otro (este otro se encuentra en otro proceso)

Mi pregunta es, hay alguna forma de, luego de que ya este inscrustado, ubicarlo siempre en la misma posicion? Tengo que sacar las medidas del form del otro proceso para lograr esto?

Gracias!!
#30
Hola que tal, mi nombre es Sebastian, queria hacer una consulta...
Es posible dibujar en un picture de otro proceso con su hwnd?
Por ejemplo para dibujar un punto en un picture dentro de mi proyecto puedo usar PSET, pero para hacerlo con un picture externo digamos, es posible hacerlo?
Estuve tratando de buscar informacion para ver si se podia hacer con sendmessage pero no logre encontrar nada respecto al dibujo sobre una picture externa...

Saludos y gracias!!