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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7
1  Programación / Scripting / [PERL]script corrompe archivo en: 22 Junio 2013, 08:08 am
Este script ,(que es parte de uno mas completo) lee un archivo y luego procede a almacenarlo en un archivo llamado "salida"

Código:
#!/usr/bin/perl -w
use File::Slurp;
my $file_contents = read_file($ARGV[0]);
open my $filehand, ">","salida";
print $filehand $file_contents;
close $filehand;

el problema es que el archivo final no es identico al original, se imprimen unos caracteres "0D" adicionales a lo largo del archivo salida, ¿que podria hacer?
2  Programación / Scripting / Re: [BATCH]limite en el tamaño de lineas en: 22 Junio 2013, 08:03 am
El problema que tienes es con el número total de líneas, ¿o con la longitud de la linea?

Si es lo primero, prueba así (testeado con 100.000 lineas):

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. set "dirvar=%~dpn0.%~nx1"
  5. mkdir "%dirvar%"
  6.  
  7. for /f "usebackq delims=" %%a in ("%1") do (
  8. set /A x+=1
  9. echo Linea !x!
  10. echo %%a>"%dirvar%\!x!"
  11. )
  12.  
  13. Pause&Exit


En caso de ser lo segundo, no hay solución, Batch es limitado y no puede leer/almacenar más hallá de una linea de 8.191 caracteres de longitud, es decir 8191 bytes,
la solución sería usar otro lenguaje.

EDITO:
Aquí tienes una información adicional que di en "X" sitio en inglés, para que de verdad no hagas intentos en vano:

Saludos!

Exactamente, mi problema era la longitud de linea.

estoy reescribiendo el script en perl, saludos
3  Programación / Scripting / [BATCH]limite en el tamaño de lineas en: 17 Junio 2013, 22:51 pm
El siguiente codigo almacena cada linea de un archivo pasado como primer argumento en archivos con nombres numericos:
Código:
@echo off
setlocal enableextensions enabledelayedexpansion
set dirvar=%~d0%~p0%~n0.%~n1%~x1
mkdir "%dirvar%"
set seleccion=%1
set /A x=0
for /f "delims=" %%a in (%seleccion%) do (
echo %%a>"%dirvar%\!x!"
set /A x+=1
echo !x!
)
endlocal
pause

Pero si le paso un archivo que contenga lineas con un tamaño superior a cierta cantidad(creo que superior a 9000 o lo mismo 9kb) de caracteres el codigo deja de funcionar o no guarda esas lineas, quisiera algun consejo, que puedo hacer?  :-[ :huh:
4  Programación / Desarrollo Web / Re: Mi servidor web no envia las cookies adecuadamente en: 16 Febrero 2013, 18:42 pm
Perdon por la demora en contestar pero ya solucione mi problema volviendo a instalar tanto el servidor apache como el php ;-)
5  Programación / Desarrollo Web / Mi servidor web no envia las cookies adecuadamente en: 14 Febrero 2013, 05:24 am
Ultimamente instale slackware y me he dado con la sorpresa que solamente envia las cookies(obviamente cuando se le solicita) a localhost mas no sucede lo mismo en los otros ordenadores que tengo conectados a la red. En resumen,parece que  setcookie() solo esta trabajando localmente ¿Como podria dar solucion a mi problema? :-(
6  Programación / Programación C/C++ / problema con strncat en: 5 Noviembre 2012, 14:44 pm
Foro como estan ! tengo un problema a la hora de usar la funcion strncat, me da segmentacion faul a la hora de querer concatenar un char obtenido a partir de la transformacion de un int ascii a char, algo asi (char * )59.

En fin aca les dejo el código:

Código:
#include <stdio.h>
#include <stdlib.h>

int main()

{
char *chratexto;
chratexto =(char *)calloc( 5, sizeof(char));
strncat(chratexto,(char *)59,1);
printf("%s\n",chratexto);
return 0;
}

7  Seguridad Informática / Bugs y Exploits / es posible "bypassear" el sandbox de avast? en: 15 Julio 2012, 20:33 pm
Ahora que el sandbox es un componente "indispensable" del avast antivirus, se ha aumentado la seguridad que brinda y auque sea molesto, muchos deciden tenerlo activo.

¿Ustedes creen que sea posible bypassearlo?
8  Programación / Programación C/C++ / [C] [SRC] desencriptador de claves para el PC Web en: 1 Julio 2012, 02:05 am
He hecho un pequeño codigo que le puede servir a muchos administradores de sistema, para hallar las claves olvidadas de las pcs cliente que tengan instalado el Pcweb Cliente 4.3.26.

Para usarlo obviamente tienes que estar con la terminal cliente desbloqueada! :laugh:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <string.h>
  5.  
  6. void ayuda(char * argumento)
  7. {
  8. printf("\nuso %s [/clave clave_encriptada] || [/ruta ruta_en_el_registro_de_windows]\n\nEjecute el programa sin parametros para mostrar la contraseña descifrada desde la ruta por defecto (HKEY_LOCAL_MACHINE\\SOFTWARE\\IWindow\\Bootear\\Clave)\n\nOPCIONES:\n\n/clave : Debe ingresar la clave cifrada en hexadecimal, separando cada elemento con - ejemplo: /clave h4-54-12\n\n/ruta : Le permite especificar una ruta del registro para la busqueda de la clave",argumento);
  9. exit(0);
  10. }
  11.  
  12. char * RegQueryStringValue(HKEY hKey, char * strValueName,long TIPODATO)
  13. {
  14. long lResult;
  15. char * strBuf;
  16. unsigned long lValueType;
  17. unsigned long lDataBufSize;
  18. strBuf = (char *) calloc(200, sizeof(char));
  19. if (strBuf==NULL)
  20.    {
  21.    printf("falta de memoria");
  22.    RegCloseKey(hKey);
  23.    exit(1);
  24.    }
  25.    lResult = RegQueryValueEx(hKey, strValueName, NULL, &lValueType, strBuf, &lDataBufSize);
  26.    if (lResult == ERROR_SUCCESS)
  27.        {if (lValueType == TIPODATO)
  28.            {
  29.             return strBuf;
  30.            }
  31.    else {return "";}
  32.        }
  33.    else {return "";}
  34. }
  35.  
  36. char * obtenervalor(HKEY hKey, char * strPath, char * strValue, long tipodato)
  37. {
  38. PHKEY Ret;
  39. char * valorllave;
  40. long resultado;
  41. resultado=RegOpenKey(hKey,strPath,&Ret);
  42. if (resultado==ERROR_SUCCESS)
  43. {
  44. valorllave=RegQueryStringValue((HKEY)Ret,strValue,tipodato);
  45. RegCloseKey((HKEY)Ret);
  46. return valorllave;
  47. }
  48. else{
  49. return "";}
  50. }
  51.  
  52. char * desencriptandoclave(char * claveencriptada)
  53. {
  54. int semilla;
  55. char * clavedesencriptada;
  56. long i;
  57. semilla=(int)claveencriptada[0];
  58. clavedesencriptada = (char *) calloc(strlen(claveencriptada)-1+1, sizeof(char));//en realidad solo debiera pedir 9 espacios pero pido +1 para el '\0'
  59. if (clavedesencriptada==NULL)
  60.    {
  61.    printf("falta de memoria");
  62.    exit(1);
  63.    }
  64. for(i=0;i<strlen(claveencriptada)-1;i++)
  65.    {
  66.    clavedesencriptada[i]=(char *)((int)claveencriptada[i+1]-semilla-i-1);
  67.    }
  68. clavedesencriptada[strlen(claveencriptada)-1]='\0';
  69. return clavedesencriptada;
  70. }
  71.  
  72. char * volteandocadena(char * cadenaprocesar)
  73. {
  74. char * cadenaprocesada;
  75. cadenaprocesada = (char *) calloc(strlen(cadenaprocesar)+1, sizeof(char));//+1 para el '\0'
  76. if (cadenaprocesada==NULL)
  77.    {
  78.    printf("falta de memoria");
  79.    exit(1);
  80.    }
  81. long i;
  82. for(i=strlen(cadenaprocesar)-1;i>-1;i--)
  83.    {
  84.   cadenaprocesada[strlen(cadenaprocesar)-1-i]=cadenaprocesar[i];
  85.    }
  86.  
  87. cadenaprocesada[strlen(cadenaprocesar)+1-1]='\0';
  88. return cadenaprocesada;
  89. }
  90.  
  91. int main(int argc,char **argv)
  92. {
  93. char siclave[7]="/clave";
  94. char siruta[6]="/ruta";
  95. char siayuda[7]="/ayuda";
  96. char versionprogram[7]="4.3.26";
  97. char * retorno;
  98. if (argc==1){
  99. retorno = obtenervalor(HKEY_CURRENT_USER,"SOFTWARE\\ARSON Group SAC\\Pcweb Cliente","Last Installed Version",REG_SZ);
  100.    {if (strncmp(versionprogram,retorno,strlen(versionprogram))==0)
  101.    {char * claveencriptada;
  102.     claveencriptada = obtenervalor(HKEY_LOCAL_MACHINE,"SOFTWARE\\IWindow\\Bootear","Clave",REG_SZ);
  103.        if(claveencriptada!="")
  104.        {char * clavedesencriptada;
  105.         clavedesencriptada=desencriptandoclave(claveencriptada);
  106.         printf("%s",clavedesencriptada);
  107.         exit(0);
  108.        }
  109.        else
  110.        {printf("Error, no se pudo encontrar la clave \n");}
  111.  
  112.    exit(1);}
  113.    else
  114.    {printf("No esta instalado Pcweb Cliente 4.3.26");
  115.    exit(1);}}
  116. }
  117. else
  118. {
  119. if ((strncmp(siclave,argv[1],strlen(siclave))==0)||(strncmp(siruta,argv[1],strlen(siruta))==0)||(strncmp(siayuda,argv[1],strlen(siayuda))==0))
  120. {   if(strncmp(siayuda,argv[1],strlen(siayuda))==0){ayuda(argv[0]);}
  121.    if (argc<3){printf("Falta parametros");exit(1);}
  122.    if (strncmp(siclave,argv[1],strlen(siclave))==0)
  123.    {
  124.    char *separacion;
  125.    char *cadenalista;
  126.    long i=0;
  127.    cadenalista=(char *) calloc(500,sizeof(char));
  128.    if (cadenalista==NULL)
  129.        {
  130.        printf("falta de memoria");
  131.        exit(1);
  132.        }
  133.    unsigned short decimal;
  134.    separacion = strtok(argv[2],"-");
  135.    while ((separacion != NULL))
  136.        {
  137.            sscanf(separacion, "%hx", &decimal);
  138.            cadenalista[i]=(char *)decimal;
  139.            separacion = strtok(NULL, "-");
  140.            i++;
  141.  
  142.        }
  143.    cadenalista=(char *) realloc ( cadenalista, i+1*sizeof(char) );//+1 para null
  144.    cadenalista[i]='\0';
  145.        if(i>1)
  146.            {char * clavedesencriptada;
  147.            clavedesencriptada=desencriptandoclave(cadenalista);
  148.            printf("%s",clavedesencriptada);
  149.            exit(0);
  150.            }
  151.            else{printf("Error, solamente ha escrito la semilla\n");ayuda(argv[0]);exit(1);}
  152.    }
  153.    else if(strncmp(siruta,argv[1],strlen(siruta))==0)
  154.    {
  155.    char * rutaregistro;
  156.    char * raizregistro;
  157.    HKEY trueraizregistro;
  158.    char * nombrevalor;
  159.    //---------------validaciones de ***** -----------------------------
  160.    rutaregistro=strstr(volteandocadena((argv[2])),"\\");
  161.        if(rutaregistro)
  162.        {rutaregistro=strstr(volteandocadena(rutaregistro+1),"\\");
  163.            if(rutaregistro)
  164.            {rutaregistro=rutaregistro+1;}
  165.            else{ayuda(argv[0]);exit(1);}
  166.        }
  167.        else{ayuda(argv[0]);exit(1);}
  168.    //---------------validaciones de ***** -----------------------------
  169.    raizregistro=strrchr(volteandocadena(argv[2]),'\\');
  170.        if(raizregistro)
  171.        {raizregistro=volteandocadena(raizregistro+1);}
  172.        else{ayuda(argv[0]);exit(1);}
  173.    //---------------validaciones de ***** -----------------------------
  174.    nombrevalor=strrchr(argv[2],'\\')+1;
  175.    strupr(raizregistro);
  176.    {if(strncmp("HKEY_CLASSES_ROOT",raizregistro,17)==0)
  177.    {
  178.    trueraizregistro=HKEY_CLASSES_ROOT;
  179.    }
  180.    else if(strncmp("HKEY_CURRENT_USER",raizregistro,17)==0)
  181.    {
  182.     trueraizregistro=HKEY_CURRENT_USER;
  183.    }
  184.    else if(strncmp("HKEY_LOCAL_MACHINE",raizregistro,18)==0)
  185.    {
  186.    trueraizregistro=HKEY_LOCAL_MACHINE;
  187.    }
  188.    else if(strncmp("HKEY_USERS",raizregistro,10)==0)
  189.    {
  190.    trueraizregistro=HKEY_USERS;
  191.    }
  192.    else if(strncmp("HKEY_CURRENT_CONFIG",raizregistro,19)==0)
  193.    {
  194.     trueraizregistro=HKEY_CURRENT_CONFIG;
  195.    }
  196.    else{ayuda(argv[0]);exit(1);}}
  197.    char * claveencriptada;
  198.    claveencriptada = obtenervalor(trueraizregistro,rutaregistro,nombrevalor,REG_SZ);
  199.        if(claveencriptada!="")
  200.        {char * clavedesencriptada;
  201.         clavedesencriptada=desencriptandoclave(claveencriptada);
  202.         printf("%s",clavedesencriptada);
  203.         exit(0);
  204.        }
  205.        else
  206.        {printf("Error, no se pudo encontrar la clave \n");exit(1);}
  207.    }
  208. }
  209. else
  210. {
  211. printf("Opcion no existe\n");
  212. exit(1);
  213. }
  214. }
  215.  
  216. return 0;
  217. }


Espero que le sea de utilidad y quisiera recibir consejos para optimizar el programa. Saludos ;)
9  Seguridad Informática / Hacking Wireless / Re: Handshake en: 2 Marzo 2012, 19:11 pm
descifrar un hash que teng como password por ejemplo "miguelito4125" , es facil, porque estas palabras se encuentran en la mayoria de diccionarios, pero un password tipo "h45ef454ff45a" no se hallaria jamas en un diccionario, solo quedaria el ataque a fuerza bruta,o con diccionarios generados pero es muy demoroso, peor un si la longitud de la contraseña es laguisima... te demorarias años
10  Seguridad Informática / Hacking Wireless / Re: [Problema]Al poner la essid en aireplay no autentifico en: 2 Marzo 2012, 19:03 pm
NO siempre funciona esa tecnica.

lo que podrias hacer es desautenticar un cliente del AP con el  que quieres autenticarte y luego de eso cambiar la MAC de tu interfaz monitor(en este caso mon0 ) con la mac del cliente que desautenticaste.. En resumen usurpar la MAC de un cliente legitimo del AP

Código:
aireplay-ng -0 (numero de intentos, yo le pongo 30) -a (mac del AP) -c (mac de un cliente del AP) mon0

ifconfig mon0 down

macchanger -m (mac del cliente desautenticado) mon0

ifconfig mon0 up

luego de eso prueba autenticandote

Páginas: [1] 2 3 4 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines