|
1
|
Programación / Programación C/C++ / Permisos admin luego de inyectar
|
en: 16 Febrero 2017, 13:07 pm
|
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!
|
|
|
3
|
Programación / Programación C/C++ / (Solucionado) Ayuda obtener id de vb a c++
|
en: 26 Junio 2015, 17:53 pm
|
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.
|
|
|
4
|
Seguridad Informática / Hacking Wireless / Consultas varias - wifi
|
en: 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!
|
|
|
6
|
Programación / Ingeniería Inversa / Consulta ollydbg - Identificar funcion y parametros
|
en: 3 Diciembre 2014, 16:03 pm
|
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?
|
|
|
9
|
Programación / Programación C/C++ / Re: readprocessmemory to memcopy
|
en: 24 Mayo 2014, 19:26 pm
|
x64Core gracias por tu respuesta, ahora no crashea pero no me copia nada... Sera porque el STRING puede que sea unicode? memcpy (tmp, (PVOID)(0x123456), 50); Si intento con wmemcpy, como sería? Asi no me funciona: wmemcpy (tmp, (PVOID)(0x123456), 50); Saludos y gracias!
|
|
|
10
|
Programación / Programación C/C++ / readprocessmemory to memcopy
|
en: 24 Mayo 2014, 01:41 am
|
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!
|
|
|
|
|
|
|