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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Threads Mutex perl en: 19 Diciembre 2005, 12:04 pm
Buenas.

Estoy haciendo una aplicacion que crea unos cuantos procesos hijos y cada proceso hijo lee y modifica una variable local que es un contador.  Por ejemplo entra en el proceso hijo y si hace la funcion que tiene que hacer pues a $Cont  que es la variable global le incrimenta en uno. El problema es que cuando hay 50 procesos hijos leyendo y modificando el dato ala vez pues esto es el kaos, Entonces me entere de q se podian usar semaforos y mutex, y por lo q he estado leyendo creo q me vendria mejor usar mutex, el problema esque nose muy bien como usarlos, ya q nose si crear el mutex justo antes de leer la variable, luego modificarla y luego desblokearla para q otro proceso hijo haga lo mismo... entonces estoy un poco perdio :S

http://perlhelp.web.cern.ch/PerlHelp/site/lib/Win32/Mutex.html
2  Comunicaciones / Hacking Mobile / .: TALLER DE PROGRAMACIÓN BLUETOOTH :. Con buffer overflow XD en: 6 Diciembre 2005, 14:49 pm
Gospel... bonito taller vas acer lo seguire... peor antes una cosa XDD

ANELKAOS Y YO hemos estado echando un vistazo a tu source y no nos gusta para nada XDDD

1º.... veamos pongo el sopurce y lo analizamos:

Código:

#include <stdio.h>
#include <stdlib.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/hci_lib.h>

int main (int argc, char **argv)
{
      bdaddr_t bdaddr;//Estructura bdaddr_t para almacenar la direccion MAC
      char MAC_dev[248];//Direccion MAC del dispositivo
      char nombre_dev[248];//Nombre del dispositivo
      int id_dev;//Identificador del dispositivo
      int socket;//Socket HCI

      if(argc < 2)
      {
            printf("Sintaxis: %s <direccion MAC>\n",argv[0]);
            exit(1);
      }

      printf("+ BlueResolver por Gospel [elblogdegospel.blogspot.com]\n\n");

      strcpy(MAC_dev,argv[1]);

      printf("Detectando nombre del dispositivo <%s>...\n",MAC_dev);

      baswap(&bdaddr, strtoba(MAC_dev));
                     
      id_dev = hci_get_route(&bdaddr);
      if (id_dev < 0)
      {
            printf("[!] Error. Dispositivo no encontrado.\n");
            exit(1);
      }
                     
      socket = hci_open_dev(id_dev);
      if (socket < 0)
      {
            printf("[!] Error. Fallo al intentar abrir HCI.\n");
            exit(1);
      }
                     
      int timeout = 10000;
      if (hci_read_remote_name(socket,&bdaddr,sizeof(nombre_dev), nombre_dev, timeout) == 0)
      {
            printf("Dispositivo encontrado:\n\tMAC: %s\n\tNombre: %s\n",MAC_dev,nombre_dev);
      }
      else
      {
            printf("[!] Error. No se ha podido obtener el nombre del dispositivo Bluetooth.\n");
      }
             
      close(socket);

      return(0);
}


Citar
      char MAC_dev[248];//Direccion MAC del dispositivo

Yo esto lo ubiera declarado como puntero, asi prebeemos un stack overflow y si tienes el fallo pues kedaria en un heap overflow

y luego esto ya si q si XD:

Citar
strcpy(MAC_dev,argv[1]);

asi a capon? reservas 248 bytes peor si meten 83476593847659324 ale pa dentro pa la pila no? y na menos en un programa que rekiere privilegios de root XD.

yo lo que aria primero seria declarar ese array como punteo y luego antes de hacer el:

strcpy hacer una comprobacion de los bytes que ocupa argv[1] y si supera los q tu kieres saltar un error y esas cosas...

Sigue con el taller que me interesa ;D
3  Informática / Electrónica / BUSCANDO INFORMACION en: 28 Octubre 2003, 06:58 am
A ver si alguien sabe donde se pueden encontrar esquemas de circuitos.... y si son piratilla mejor...
y si alguien sabe ALGO sobre las slim card q informe... xq no encuentro nada de eskemas y menos d elas slim card....
4  Programación / Programación Visual Basic / MODIFICANDO EL REGISTRO DESDE VB en: 11 Junio 2003, 06:48 am
Hola tengo un par de dudas referente al registro.
Mi idea es editar copiar y añandir al registro:

Private Sub Command1_Click()
On Error Resume Next
MsgBox "Se creara una clave en el Registro HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters y se llamara lala y su ruta sera c:\lala.txt", vbInformation, "Crear clave al registro"
Set reg = CreateObject("WScript.Shell")
reg.regwrite "HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters", "C:\lala.txt"
End Sub

Private Sub Command2_Click()
On Error Resume Next
MsgBox "Este codigo borrara la clave creada,si existiera", vbInformation, "Borrar clave"
Set borrar = CreateObject("WScript.Shell")
borrar.RegDelete "HKEY_CURRENT_USER\Software\RAdmin\v2.xD"
End Sub

Private Sub Command3_Click()
On Error Resume Next
MsgBox "Se copiara una clave en el Registro HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters y se llamara lala2 y su ruta sera c:\lala2.txt", vbInformation, "Copiar clave al registro"
Set reg = CreateObject("WScript.Shell")
reg.regcopy "HKEY_CURRENT_USER\Software\RAdmin\v2.0\Parameters", "C:\lala2.txt"
End Sub


bueno pos lo unico q consigo con esto es añadir calves al registro y borrarlas pero por ejemplo no se me borra 2.xD solo su interior...

Y como ago para q me cree un archivo con la entrada de una direccion q yo le indico en el registro?? por ejemplo la clave del radmin q me la guarde en un txt. como seria???


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