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 - Eternal Idol

#1691
La MAC es de 6 bytes, no 8:
http://en.wikipedia.org/wiki/Mac_address

¿Viste el ejemplo de la MSDN ya?

Otra sencilla:
Código (cpp) [Seleccionar]

char mac[18];
sprintf(mac, "%.2X-%.2X-%.2X-%.2X-%.2X-%.2X", pAdapter->Address[0], pAdapter->Address[1], pAdapter->Address[2], pAdapter->Address[3], pAdapter->Address[4], pAdapter->Address[5], pAdapter->Address[6]);
#1692
Un DWORD son 4 bytes, usa ULONGLONG y un casting ... pero seria bueno que explicaras que queres hacer exactamente ...
#1693
ASM / Re: porque no se me ejcuta un programa fasm?
12 Septiembre 2013, 17:03 PM
De nadas  ::)
#1694
ASM / Re: porque no se me ejcuta un programa fasm?
12 Septiembre 2013, 09:44 AM
Ejecuta el fasmw desde su carpeta o configura la variable del entorno INCLUDE para que este la carpeta donde se encuentra ese archivo:
http://board.flatassembler.net/topic.php?t=7749
#1695
string sname = service->lpServiceName;
#1696
Siguiendo exactamente la misma logica que con GetExtendedTcpTable (comproba los valores de retorno, libera la memoria, cerra el SC_HANDLE, etc. en este extracto de ejemplo no se hace):

Código (c++) [Seleccionar]
SC_HANDLE scm = OpenSCManager(0, 0, SC_MANAGER_ENUMERATE_SERVICE);
DWORD bSize = 0;
DWORD services = 0;
EnumServicesStatusEx(scm, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_ACTIVE, NULL, bSize, &bSize, &services, 0, 0);
LPBYTE sdata = new BYTE[bSize];
EnumServicesStatusEx(scm, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_ACTIVE, sdata, bSize, &bSize, &services, 0, 0);
LPENUM_SERVICE_STATUS_PROCESS service = (LPENUM_SERVICE_STATUS_PROCESS)sdata;
for (int x = 0; x < services; ++x)
{
 cout << service->lpServiceName << " (" << service->lpDisplayName << ") pid: " << service->ServiceStatusProcess.dwProcessId << endl;
 ++service;
}
...
#1698
Supongo que dependera de si quiere esconder y proteger del root o no.
#1699
Cita de: SrCooper en  9 Septiembre 2013, 11:57 AM
Me parece que eso es demasiado complicado a no ser que el archivo con el que estes trabajando sea muy grande y entonces si te salga rentable.

Y si, es para evitar reiniciar a toda costa, de otra manera no hace falta por mas cool que parezca hacerlo.
#1700
Es bastante complejo y no muy util pero una cosa que podes hacer es emular la tecnica de hotpatching de Microsoft. Basicamente pones un salto al principio de la funcion que queres modificar, previamente generaste el codigo binario necesario y lo pusiste en la memoria del proceso en cuestion. Esto hace Microsoft para que en los servidores se puedan actualizar binarios sin reiniciar ...