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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: [1] 2 3 4 5
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 / [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:
3  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? :-(
4  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;
}

5  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?
6  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 ;)
7  Programación / Scripting / [Bash] ejecutar una aplicacion en la misma consola del script en: 2 Marzo 2012, 18:34 pm
quisiera poder hacer lo siguiente, pero no puedo  :(

1-ejecutar un script

2-ese script ejecuta un programa que se muestra en l misma consola del script

3-Quisiera poder parar el programa ejecutado presionando ctrl +c , pero que eso no pare al script

tengo el sgte codigo


Código:
#!/bin/bash
echo bienvendio
airodump-ng mon0 #se va a ejecutar esto en la misma consola
echo si esto se muestra, significa que el ctrl + c no cerro el script tambien

Se ejecuta airodump-ng mon0 y en un momento dado deseo presionar ctrl +c , pero esto no tiene que cerrar el script tambien

saludos
8  Programación / Scripting / [Bash] ejecutar una aplicacion desde un script , sin parar la ejecucion del mism en: 2 Marzo 2012, 18:27 pm
Como hacer lo que he escrito en el titulo del hilo? :huh:

por ejemplo tengo este pequeño script

Código:
#!/bin/bash
xterm -title "Mostrando bssids y sus canales" -e airodump-ng mon0
echo esto tiene que mostrarse inmediatamente despues de ejecutarse el programa y no cuando termine

quisiera que xterm se ejecute, pero que su ejecucion no pause el script, lo que busco es algo asi como el "start" del cmd de windows

9  Programación / Programación Visual Basic / create threads en vb6 en: 12 Diciembre 2011, 18:05 pm
me he encontrado con un ejemplo en el que se usa la api createthread
Código:
'Using the CreateThread function in Visual Basic
'is very risky! VB5 is 'kinda' stable, but VB6
'applications will probably crash when you
'use the CreateThread function.

'In a form
'Add a command button to the form
Private Sub Command1_Click()
    'KPD-Team 1999
    'URL: [url]http://www.allapi.net/[/url]
    'E-Mail: [email]KPDTeam@Allapi.net[/email]
    'After you click this button, try to move the window
    'You will see that the AsyncThread-function was executed asynchronously
    hThread = CreateThread(ByVal 0&, ByVal 0&, AddressOf AsyncThread, ByVal 0&, ByVal 0&, hThreadID)
    CloseHandle hThread
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'If the thread is still running, close it
    If hThread <> 0 Then TerminateThread hThread, 0
End Sub
'In a module
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public hThread As Long, hThreadID As Long
Public Sub AsyncThread()
    'Let this thread sleep for 10 seconds
    Sleep 10000
    hThread = 0
End Sub

y bien como dice ( y es cierto) la aplicacion crashea al usar create thread

habra alguna manera de crear threads o al menos hacer una aproximacion a ello?

saludos
10  Programación / Programación C/C++ / implementar do events en c++ en: 12 Diciembre 2011, 18:01 pm
estoy haciendo un programa con ventana en c++ y necesito alguna manera de implementar doevents (el de vb6) en este. ¿Alguno sabe?

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