Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mi Profanador de Bluetooth en C

  • 0 Respuestas
  • 2114 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5489
  • Actividad:
    13.33%
  • Reputación 36
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Febrero 23, 2010, 12:28:49 pm »
Bueno pues esta tool fue cambiada mejor dicho esta tool fue hecha en Java Por un colega Pedi Permiso para cambiarla de lenguaje de Programacion a C y asi lo hice =)

Código: C
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. #include <string.h>
  6. #include <signal.h>
  7. #include <fcntl.h>
  8. #include <errno.h>
  9. #include <ctype.h>
  10.  
  11. #include <termios.h>
  12. #include <fcntl.h>
  13. #include <getopt.h>
  14. #include <sys/ioctl.h>
  15. #include <sys/socket.h>
  16. #include <asm/types.h>
  17. #include <netinet/in.h>
  18.  
  19. #include <bluetooth/bluetooth.h>
  20. #include <bluetooth/hci.h>
  21. #include <bluetooth/hci_lib.h>
  22.  
  23. extern int optind,opterr,optopt;
  24. extern char *optarg;
  25.  
  26. #define for_each_opt(opt, long, short) while ((opt=getopt_long(argc, argv, short ? short:"+", long, NULL)) != -1)
  27.  
  28. static void usage(void);
  29.  
  30. static struct option hunt_options[] = {
  31.   {"Ayuda", 0,0, 'A'},
  32.   {0, 0, 0, 0}
  33. };
  34.  
  35. static char *hunt_help =
  36.   "Usage:\n"
  37.   "\thunt <timeout>\n";
  38.  
  39. static void cmd_hunt(int dev_id, int argc, char **argv)
  40. {
  41.   bdaddr_t bdaddr;
  42.   char name[248];
  43.  
  44.   int opt, dd, num=0, num2=0, num3=0, num4=0, num5=0, num6=0;
  45.   int btout=50000;
  46.  
  47.   unsigned char lame[16][2] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F", };
  48.  
  49.   char addtobrute[248];
  50.  
  51.   printf("Profanador Bluetooth by Codeboy\n");
  52.   printf("Codeboy Productions(c)\n");
  53.   printf("Autor: Codeboy www.codeboy.es - e-r00t user - [email protected]\n");
  54.  
  55.   argc -= optind;
  56.         argv += optind;
  57.  
  58.   if (argc < 2) {
  59.     printf(hunt_help);
  60.     exit(1);
  61.   }
  62.  
  63.   if (argc >= 1) {
  64.     btout=atoi(argv[1]);
  65.   }
  66.  
  67.   printf("timeout: %d\n", btout);
  68.  
  69.   printf("Comensando...\n");
  70.  
  71.   while (num <= 15)
  72.   {
  73.     while(num2 <= 15)
  74.     {
  75.       while(num3 <= 15)
  76.       {
  77.         while(num4 <= 15)
  78.         {
  79.           while(num5 <= 15)
  80.           {
  81.             while(num6 <= 15)
  82.             {
  83.               strcpy(addtobrute,"00:80:98:");
  84.               strcat(addtobrute,lame[num]);
  85.               strcat(addtobrute,lame[num2]);
  86.               strcat(addtobrute,":");
  87.               strcat(addtobrute,lame[num3]);
  88.               strcat(addtobrute,lame[num4]);
  89.               strcat(addtobrute,":");
  90.               strcat(addtobrute,lame[num5]);
  91.               strcat(addtobrute,lame[num6]);
  92.            
  93.               /* Solo Debug */
  94.               printf("%s\n",addtobrute);
  95.  
  96.               baswap(&bdaddr, strtoba(addtobrute));
  97.                      
  98.               dev_id = hci_get_route(&bdaddr);
  99.               if (dev_id < 0) {
  100.                 fprintf(stderr,"Dispocitivo no es posible de alcanzar");
  101.                 exit(1);
  102.               }
  103.              
  104.  
  105.              
  106.               dd = hci_open_dev(dev_id);
  107.               if (dd < 0) {
  108.                 fprintf(stderr,"HCI Dispositivo alcanzado y conectado");
  109.                 exit(1);
  110.               }
  111.              
  112.              
  113.               /* Consiguiendo informacion del otro dispositivo */
  114.               if (hci_read_remote_name(dd,&bdaddr,sizeof(name), name, btout) == 0)
  115.                 printf("\n.start--->\naddress :- %s\nname :- %s\n<.end-----\n",batostr(&bdaddr),name);
  116.              
  117.               close(dd);
  118.  
  119.               num6++;
  120.               }
  121.               num6=0;
  122.               num5++;
  123.  
  124.             }
  125.             num5=0;
  126.             num4++;
  127.           }
  128.           num4=0;
  129.           num3++;
  130.       }
  131.       num3=0;
  132.       num2++;
  133.     }
  134.     num2=0;
  135.     num++;
  136.   }
  137. }
  138.  
  139. struct {
  140.   char *cmd;
  141.   void (*func)(int dev_id, int argc, char **argv);
  142.   char *doc;
  143. } command[] = {
  144.   { "Profanar", cmd_Profanar, "Encontrar el nombre del dispositivo" },
  145.   { NULL, NULL, 0}
  146. };
  147.  
  148. static void usage(void)
  149. {
  150.   int i;
  151.  
  152.   printf("Profanador Bluetooth by Codeboy\n");
  153.   printf("uso:\n"
  154.     "\tfang [opciones] <Comando> [Parametros de lo elejido]\n");
  155.   printf("Opciones:\n"
  156.     "\t--Ayuda\tMostrar help\n"
  157.     "\t-i Ver\tHCI Ver\n");
  158.   printf("Comandos:\n");
  159.   for (i=0; command[i].cmd; i++)
  160.     printf("\t%-4s\t%s\n", command[i].cmd,
  161.     command[i].doc);
  162.   printf("\n"
  163.     "Para mas informacion use el comando help:\n"
  164.     "\tfang <Comando> --help\n" );
  165. }
  166.  
  167. static struct option main_options[] = {
  168.   {"Ayuda", 0,0, 'h'},
  169.   {"Ver", 1,0, 'i'},
  170.   {0, 0, 0, 0}
  171. };
  172.  
  173. int main(int argc, char **argv)
  174. {
  175.   int opt, i, dev_id = -1;
  176.   bdaddr_t ba;
  177.  
  178.   while ((opt=getopt_long(argc, argv, "+i:h", main_options, NULL)) != -1) {
  179.     switch(opt) {
  180.     case 'i':
  181.       dev_id = hci_devid(optarg);
  182.       if (dev_id < 0) {
  183.         perror("Dispositivo no valido");
  184.         exit(1);
  185.       }
  186.       break;
  187.  
  188.     case 'h':
  189.     default:
  190.       usage();
  191.       exit(0);
  192.     }
  193.   }
  194.  
  195.   argc -= optind;
  196.   argv += optind;
  197.   optind = 0;
  198.  
  199.   if (argc < 1) {
  200.     usage();
  201.     exit(0);
  202.   }
  203.  
  204.   if (dev_id != -1 && hci_devba(dev_id, &ba) < 0) {
  205.     perror("Dispositivo no es alcansable");
  206.     exit(1);
  207.   }
  208.  
  209.   for (i=0; command[i].cmd; i++) {
  210.     if (strncmp(command[i].cmd, argv[0], 3))
  211.       continue;
  212.     command[i].func(dev_id, argc, argv);
  213.     break;
  214.   }
  215.   return 0;
  216. }
  217.  
  218. /*Coded by Codeboy */

Bueno pues lo mas probable es que no entiendan o si lo entienden lo vean inserbible bueno como explique este programa fuue hecho en java hace un tiempo, pero ahora lo hago yo en C, este programa es muy util pero para usarlo en PDAs o Telefonos casi computadoras, de que me sirve este programa?? pues solo te da la minima informacion de tu objetivo pero para que quieres esa info?? por que con esa info una ves hecha la conexion podras modificar tu configuracion con la del otro equipo es decir que podras manejarlo obviamente con su permiso pero hay dispositivos (no moviles) que se manejan por bluetooth y seria un exito que las editen (ejemplo puede ser una pantalla de publicidad)....

Saludos
Codeboy


EDIT: Solo usenlo en cuanto crean que tienen un poco mas que el conocimiento basico y con precaucion
« Última modificación: Mayo 01, 2014, 01:38:21 am por ANTRAX »


 

¿Te gustó el post? COMPARTILO!



Cómo subir cosas a mi móvil sin tener cable USB ni bluetooth/inflarojos

Iniciado por ANTRAX

Respuestas: 5
Vistas: 5418
Último mensaje Mayo 19, 2011, 07:58:22 pm
por darkangel2125
D.O.S en el protocolo Bluetooth

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1903
Último mensaje Febrero 23, 2010, 12:08:50 pm
por ANTRAX