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 Mensajes
Páginas: 1 ... 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 [90] 91 92
891  Programación / Java / Ayuda Cifrado ARC4/RC4 en Java en: 26 Febrero 2014, 05:03 am
Buenas, quería saber si alguién me podría dar una mano. Estaba armando un código para cifrar un archivo cualquiera mediante RC4, el problema es que me genera una excepción (ArrayIndexOutOfBoundException) cuando intento ejecutarlo lo cual es raro ya que pude ejecutar el mismo código ligeramente modificado en C++(WINAPI) y C#... Si alguien me dá una mano se lo agradecería.

Código
  1.    private byte[] RC4(byte[] szBuf,byte[] szKey,int dwBufLen,int dwKeyLen){
  2.        int i,j=0;
  3.        int []s=new int[256];
  4. int dw;
  5. byte tmp;
  6. byte[] Buf=szBuf;
  7. byte[] Key=szKey;
  8. for(i=0;i<256;i++){
  9.            s[i]=i;
  10. }
  11. for(i=0;i<256;i++){
  12.            j=(j+s[i]+Key[i%dwKeyLen])%256;
  13.            tmp=(byte)s[i];
  14.            s[i]=s[j];
  15.            s[j]=(int)tmp;
  16. }
  17. for(dw=0;dw<dwBufLen;dw++){
  18.            i=(i+1)%256;
  19.            j=(j+s[i])%256;
  20.            tmp=(byte)s[i];
  21.            s[i]=s[j];
  22.            s[j]=(int)tmp;
  23.            Buf[dw]^=(byte)s[(s[i]+s[j])%256];
  24.        }
  25. return Buf;
  26.    }
  27.    private void btnCifrarActionPerformed(java.awt.event.ActionEvent evt) {                                          
  28.        if(txtArchivo.getText().length()==0)
  29.            JOptionPane.showMessageDialog(this,"No hay Archivo, seleccione uno...","RC4 para Archivos - BloodSharp",JOptionPane.ERROR_MESSAGE);
  30.        else if(txtPassword.getText().length()==0)
  31.            JOptionPane.showMessageDialog(this,"Escriba una contraseña...","RC4 para Archivos - BloodSharp",JOptionPane.ERROR_MESSAGE);
  32.        else{
  33.            try{
  34.                File file=new File(txtArchivo.getText());
  35.                int longitud=(int)file.length();
  36.                byte[] Bytes=new byte[longitud];
  37.                FileInputStream fileInput=new FileInputStream(file);
  38.                BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
  39.  
  40.                bufferedInput.read(Bytes,0,longitud);
  41.                Bytes=RC4(Bytes,txtPassword.getText().getBytes(),longitud,txtPassword.getText().length());
  42.                fileInput.close();
  43.                bufferedInput.close();
  44.  
  45.                FileOutputStream fileOutput=new FileOutputStream(file);
  46.                BufferedOutputStream bufferedOutput = new BufferedOutputStream(fileOutput);
  47.                bufferedOutput.write(Bytes,0,longitud);
  48.                fileOutput.close();
  49.                bufferedOutput.close();
  50.  
  51.                JOptionPane.showMessageDialog(this,"El archivo "+txtArchivo.getText()+" fue Cifrado/Descifrado","RC4 para Archivos - BloodSharp",JOptionPane.INFORMATION_MESSAGE);
  52.            }
  53.            catch(Exception e){
  54.                JOptionPane.showMessageDialog(this,e.getClass().toString()+" "+e.getMessage(),"RC4 para Archivos - BloodSharp",JOptionPane.ERROR_MESSAGE);
  55.            }
  56.        }
  57.    }

PS: El código de RC4 lo saque del foro: http://foro.elhacker.net/programacion_cc/encriptacion_rc4arc4-t210711.0.html;msg1000447#msg1000447

B#
892  Programación / Programación C/C++ / Re: Calculadora en C (Turbo C 2.0) en: 29 Diciembre 2013, 03:51 am
Primero yo te recomendaría actualizar el compilador, el turbo c 2 es de la edad de los dinosaurios y el formato no sale en PE sino que sale en NE.
Segundo algunos gotos que tenés en el código se pueden reemplazar por ifs o whiles un poco diferentes siendo así más legible el código... (aunque cada uno lo hace como más le gusta :P)

Ejemplo:
Código
  1. if(op=='R'||op=='r') goto fin;
  2.  
  3. printf("-->");
  4. scanf("%f",&b);
  5.  
  6. fin:

reemplazar por:
Código
  1. if(!(op=='R'||op=='r'))return;
  2. printf("-->");
  3. scanf("%f",&b);

y
Código
  1. inicio:
  2. printf("\n");
  3. printf("<->");
  4. scanf("%s1",&op);
  5. if(op=='S'||op=='s') goto fin;
  6. if(op=='+'||op=='-'||op=='*'||op=='/'||op=='R'||op=='r')
  7. {
  8. capturar(op);
  9. operacion(op);
  10. }
  11. goto inicio;

Código
  1. do{
  2. printf("\n");
  3. printf("<->");
  4. if(op=='+'||op=='-'||op=='*'||op=='/'||op=='R'||op=='r'){
  5. scanf("%s1",&op);
  6. capturar(op);
  7. operacion(op);
  8. }
  9. }
  10. while(!(op=='S'||op=='s'));

B#
893  Programación / Programación C/C++ / Re: convertir STRING ^ a LPCWSTR en: 13 Octubre 2013, 17:38 pm
Para convertir String^ a PWCHAR tenés que usar la clase Marshall:
http://msdn.microsoft.com/en-us/library/vstudio/bb384865(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/bb384859.aspx
http://msdn.microsoft.com/en-us/library/vstudio/bb531313(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/42zy2z41.aspx


B#
894  Programación / Programación C/C++ / Re: Desamblar en C++ en: 28 Septiembre 2013, 18:30 pm
También es útil para desamblar y hay miles de tutoriales de OllyDbg


B#
895  Programación / Programación C/C++ / Re: Problema con Inyector Dll en: 21 Septiembre 2013, 05:30 am
Un comentario te voy a hacer y puede que sea el error que te falla en el programa: los strings en C/C++ son arrays de caracteres, que finalizan con el byte cero.

En tu código:
Código:
int DllLen = 12;
cout << "dllvirus.dll" << " LEN: " << DllLen << endl;

ponés la cantidad de letras de tu string (12 bytes) pero realmente los programas manejan "d l l v i r u s . d l l \0" (13 bytes)... proba con longitud 13 y tal vez te funcione correctamente...


B#
896  Programación / Programación C/C++ / Re: Ayuda, Crear menu Hook OPENGL en: 11 Septiembre 2013, 19:37 pm
Hola, tengo una DLL(inyeccion DLL), con la cual hago un hoock a opengl y creo un wall 
para "Counter Sttrike", quiero crear un menu, pero no encuentro la funcion, osea

Podés dibujar un menú antes de que se llame al primer glEnable luego de que se haya ejecutado una vez glViewport y capturar los mensajes de teclas que se reciban de la ventana del juego...


B#
897  Programación / Programación C/C++ / Re: Ayuda , Opengl Wallhack DLL en: 25 Mayo 2013, 03:09 am
Me parece una mejor opción hacer API Hooking a GetProcAddress y hacer strcmp(cadena, "glBegin"); si coinciden GPA devolverá la dirección a tu función si no, tiras un GPA normal para que el juego funcione bien ;).

No es algo difícil y haces el cheat más compatible con otras versiones y con otros PC ;).

Sa1uDoS

Si esa es una, también se podría hacer inline hooks, EAT hooks (antes que llame a GPA), excepciones, etc... hay varias maneras, lo ideal sería utilizar una que no tenga tantos problemas y que funcione para cualquier versión del juego y sea soportada para cualquier tipo de pc como decís...
De todas maneras eso queda al criterio del programador, utilizar la que prefiera y si lo hace compatible o no.


B#
898  Programación / Programación C/C++ / Re: Interceptar con Detours el Opengl nativo por TIB en: 9 Abril 2013, 22:23 pm
Esta es la versión última que era para Codeblocks+Mingw...

http://rapidshare.com/files/3440411547/inexinferisfx.rar


B#
899  Programación / Programación C/C++ / Re: Ayuda con programa en c# en: 7 Abril 2013, 16:24 pm
Un par de comentarios:

Código:
class alumno
    {

        public List<string> nombres = new List<string>();
        public List<string> apellidos = new List<string>();
        public List<int> edades = new List<int>();
        public List<string> sexo = new List<string>();

Acá el problema principal es que no estás creando un array del objeto 'alumno' (la idea es crear varios alumnos por eso array de alumnos, fijate el código q te puse más arriba) sino que estás creando arrays de datos de alumnos, lo cuál en parte no está mal ya que una persona puede tener varios nombres y/o apellidos (paterno, materno) pero no puede tener varias edades ni sexos.
     
Código:
static void Main(string[] args)
{
       menu();
}

Se puede eliminar la función menu() y poner el contenido de esa función en el main... (Aunque eso sería a mi gusto :P)

Código:
        public static void menu()
        {   
            int opcion=0;
            alumno estu = new alumno();
             do
                {
                    Console.Clear();
                    Console.SetCursorPosition(8, 10);
                    Console.WriteLine("menu del proyecto");
                    Console.SetCursorPosition(5, 12);
                    Console.WriteLine("1.-Ingreso de nuevo estudiante");
                    Console.SetCursorPosition(5, 13);
                    Console.WriteLine("2.- mostrar lista de estudiantes");
                    Console.SetCursorPosition(5, 14);
                    Console.WriteLine("3.- ordenar por nombre");
                    Console.SetCursorPosition(5, 15);
                    Console.WriteLine("4.- salir");
                    Console.SetCursorPosition(5, 18);
                    Console.WriteLine("(seleccione 1-4)");
                    opcion = Int32.Parse(Console.ReadLine());
                    if (opcion < 1 || opcion > 4)
                    Console.WriteLine("ingrese una opcion valida");
                } while (opcion < 1 || opcion>4);

                switch (opcion)
                {
                    case 1: estu.adicionar(); menu();
                        break;

                    case 2: estu.mostrar(); menu(); break;
                    case 3: Console.WriteLine("selecciono tres"); break;
                    case 4: break;
                }

                Console.ReadLine();
     }
    }
}

El switch lo podrías poner dentro, al final del dowhile, para evitar tener que usar recursividad y verificar si es menor a 1 o mayor a 3 que salga del bucle


B#
900  Programación / Programación C/C++ / Re: Ayuda con programa en c# en: 6 Abril 2013, 18:48 pm
como hago para ordenar datos alfabeticamente en 1 arreglo
ya sea por nombre , apellido , edad y sexo

http://msdn.microsoft.com/en-us/library/system.array.sort(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/system.array.reverse(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/aa317786(v=vs.71).aspx
http://msdn.microsoft.com/en-us/library/d0td77tk(v=vs.90).aspx

Array::Sort(Alumnos,????);
Array::Reverse(Alumnos,????);
Alumnos->Sort(????);
Alumnos->Reverse();


B#
Páginas: 1 ... 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 [90] 91 92
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines