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


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 [70] 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 ... 261
691  Informática / Electrónica / ¿Cómo se hace un array de C# a Arduino? en: 30 Diciembre 2016, 08:31 am
Hola:

Tengo un array tipo byte[] en C# que es este:
Código
  1. byte[] rawData = {
  2.    0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01,
  3.    0x01, 0x01, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43
  4. };

¿Cómo es en Arduino?

Quiero la misma información que el de C#.

¿Cómo se envía por el puerto serie al pulsar un botón esos datos?

Saludos.
692  Informática / Electrónica / Re: Encender un led cada 0.5 segundos usando temporizador en ensamblador en: 30 Diciembre 2016, 07:49 am
Hola:

Intentas hacer lo mismo pero con el Timer0.

¿Te atreves?

Es más preciso y el PIC no se queda en esclavo.

Saludos.
693  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar el array de byte[] en: 30 Diciembre 2016, 07:21 am
Buenas:

Muy buena explicación. Funciona a la perfección.

Muchas gracias mi muy distinguido amigo. ;)
694  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar el array de byte[] en: 30 Diciembre 2016, 04:43 am
Para mi que tu quieres guardar malware o alguna cosa rara en tu programa y parace  te estas haciendo una especie de shellcode para guardarlos y que estén cifrados  o alguna cosa rara  y descifrarlos  en tiempo de ejecución de tu "programa".

Que risas cogí.  ;-) Curiosidad como se hace, para lo que sospechas, hay ya hechos de forma fácil y muy eficiente. ;)
Eso si, quiero ocultar información dentro de otra información, nada de malware o lo que se te pase por la cabeza. ;)


Bueno si eso o alguna otra a mi me da igual  :xD
Una alternativa "simple" es que le aplicas un xor a todo ese arreglo de bits y ya cuando lo quieres "descifrar" se lo vuelves a aplicar

Supongamos que a tu arreglo originalmente le aplicaste un xor 10 pues bastaria con le volvieras a aplicar ese xor 10  asi:

Código
  1. for (int i = 0; i < rawData.Length; i++)
  2. {
  3.    rawData[i] = (byte)(rawData[i] ^ 10);
  4. }

Asi tu archivo o imagen seria restaurado a su estado original, quien tenga duda de la foto vea este enlace: https://i.gyazo.com/6762c171d0871999e12d04c5b627df69.png

PD: Aplicar desplazamiento de bit sin cuidado va a terminar dejando el archivo corrupto aunque se aplique el desplazamiento inverso.



Muy buena lo del XOR. Quiero hacerlo al revés con tu código.
¿Cómo sería?

El programa me funciona tal como me lo haz contado.
Código
  1. using System;
  2. using System.IO; // No olvidar.
  3.  
  4. namespace Byte_Hex_ocultos_6
  5. {
  6.    class Program
  7.    {
  8. byte[] rawData = {
  9.    0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01,
  10.    0x01, 0x01, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43
  11. };        
  12. static void Main(string[] args)
  13.        {
  14.            Console.Title = "Imagen oculto.";
  15.            Program variable = new Program();
  16.            variable.Cosas();
  17.        }
  18.  
  19.        public void Cosas()
  20.        {
  21.            Console.WriteLine("Escribiendo archivo desde el arreglo de bytes");
  22.            // ##############################################
  23.  
  24.            for (int i = 0; i < rawData.Length; i++)
  25.            {
  26.                rawData[i] = (byte)(rawData[i] ^ 10);
  27.            }
  28.  
  29.            // ##############################################
  30.            File.WriteAllBytes("fot&#243;n.jpg", rawData); // Crea un archivo nuevo.
  31.            Console.WriteLine("&#161;Hecho! &#191;Deseas ver la foto? S&#237; / No");
  32.            string input = Console.ReadLine();
  33.  
  34.            if ((input == "Yes".ToLower()) || (input == "Y".ToLower()) ||
  35.                (input == "S&#237;".ToLower()) || (input == "S".ToLower()))
  36.            {
  37.                Console.WriteLine("Mostrando imagen...");
  38.                //Process.Start("fot&#243;n.jpg");
  39. File.WriteAllBytes("fot&#243;n.jpg", rawData_XOR10); // Crea un archivo nuevo.
  40.                Console.WriteLine("Imagen cargada.");
  41.            }
  42.  
  43.            else
  44.            {
  45.                Console.WriteLine("Saliendo...");
  46.            }
  47.        }
  48.    }
  49. }


He puesto otra variable con elXOR 10 ya codificado en vez de poner la original, la foto,claro. Ya sería.
Código
  1. byte[] rawData_XOR10 = {
  2.    0xF5, 0xD2, 0xF5, 0xEA, 0x0A, 0x1A, 0x40, 0x4C, 0x43, 0x4C, 0x0A, 0x0B,
  3.    0x0B, 0x0B, 0x0A, 0x42, 0x0A, 0x42, 0x0A, 0x0A, 0xF5, 0xD1, 0x0A, 0x49,

Quiero probar el efecto contario, si no me equivoco..
Código
  1.    for (int i = 0; i < rawData_XOR10.Length; i++)
  2.    {
  3.        rawData_XOR10[i] = (byte)(rawData_XOR10[i] ^ -10);
  4.    }

Lo de desplazamiento de byte tienes que tener en cuenta el bit de acarreo, por eso pasa lo que dices. No es lo mismo (0)11111111 que al desplazar un bit a la derecha (1)01111111. Es más complejo de lo que aparenta porque cada byte con su bit de acarreo y programarlo es más complicado de lo que uno pienza. Estoy acostumbrado al asm de los PIC.

Estoy haciendo pruebas gracias a ti y aprendiendo. ;)

Para curiosos.
https://msdn.microsoft.com/es-es/library/zkacc7k1.aspx
https://www.youtube.com/watch?v=tPfTZbEzcmM

Felices fiestas.
695  Programación / .NET (C#, VB.NET, ASP) / Modificar el array de byte[] en: 30 Diciembre 2016, 02:42 am
Hola:

Tengo hecho un mini programa en consola C#.
Código
  1. using System;
  2. using System.IO; // No olvidar.
  3. using System.Diagnostics;
  4.  
  5. namespace Byte_Hex_ocultos_2
  6. {
  7.    class Program
  8.    {
  9.  
  10.        byte[] rawData = {
  11.    0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01,
  12.    0x01, 0x01, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43
  13. };
  14.  
  15. static void Main(string[] args)
  16.        {
  17.            Console.Title = "Imagen oculto.";
  18.            new Program();
  19.        }
  20.  
  21.        public Program()
  22.        {
  23.            Console.WriteLine("Escribiendo archivo desde el arreglo de bytes");
  24.            File.WriteAllBytes("fotón.jpg", rawData);
  25.            Console.WriteLine("¡Hecho! ¿Deseas ver la foto? Sí / No");
  26.            string input = Console.ReadLine();
  27.  
  28.            if ((input == "Yes".ToLower()) || (input == "Y".ToLower()) ||
  29.                (input == "Sí".ToLower()) || (input == "S".ToLower()))
  30.            {
  31.                Console.WriteLine("Mostrando imagen...");
  32.                Process.Start("fotón.jpg");
  33.                Console.WriteLine("Imagen cargada.");
  34.            }
  35.  
  36.            else
  37.            {
  38.                Console.WriteLine("Saliendo...");
  39.            }
  40.        }
  41.    }
  42. }

Justo abajo hay un array tipo byte[] indicaco justo abajo.
Código
  1. byte[] rawData = {
  2.    0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01,
  3.    0x01, 0x01, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43
  4. };

Estos son pocos byte para probar, en realidad pueden ser millones.
Quiero hacer de alguna manera, modificar a mi antojo cada byte[] del array, por ejemplo, hacerlo de forma básica para probar como curiosidad, lograr desplazar cada bit una vez a la derecha. Esto lo hará otro programa en C#. En el indicado arriba tiene que usar la misma fórmula pero al revés, los byte del array ahora tienen que moverlo a la izquierda una vez para que tengan su posición normal.

Así de paso no es tan fácil detectar lo que hay en el archivo de C#.

¿Alguna idea?

Les dejo el enlace de descarga del proyecto completo, solo tienes que ejecutarlo con Visual Community 2015 y pueden ver que foro tengo escondido, pueden mostrarlo por aquí si les pica la atención.

Descargar

Felices fiestas 2016.
696  Programación / .NET (C#, VB.NET, ASP) / Ejecutar un ejecutable entro de un recurso en: 29 Diciembre 2016, 22:04 pm
Hola:

Tengo un ejecutable llamado Validar.exe en un recurso.

Más información poner o quitar reursos.

He creado una palicación en consola con C#.
Código
  1. using System;
  2. using System.Diagnostics;
  3. using System.IO;
  4. using System.Reflection;
  5.  
  6. namespace Ejecutable_dentro_de_recursos_consola_01
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            Console.Title = "Ejecuta Validar.exe dentro de C#.";
  13.            Console.WriteLine("Funcionando C#...");
  14.            CopiarRecurso(Assembly.GetExecutingAssembly(), "Recursos.Validar.exe", "Validar.exe");
  15.            ProcessStartInfo info = new ProcessStartInfo("Validar.exe");
  16.            Process.Start(info);
  17.  
  18.        }
  19.  
  20.        public static void CopiarRecurso(Assembly pAssembly, string pNombreRecurso, string pRuta)
  21.        {
  22.            using (Stream s = pAssembly.GetManifestResourceStream(pAssembly.GetName().Name + "." + pNombreRecurso))
  23.            {
  24.                if (s == null)
  25.                {
  26.                    throw new Exception("No se puede encontrar el recurso '" + pNombreRecurso + "'");
  27.                }
  28.  
  29.                byte[] buffer = new byte[s.Length];
  30.                s.Read(buffer, 0, buffer.Length);
  31.                using (BinaryWriter sw = new BinaryWriter(File.Open(pRuta, FileMode.Create)))
  32.                {
  33.                    sw.Write(buffer);
  34.                }
  35.            }
  36.        }
  37.    }
  38. }

Error:
Excepción no controlada del tipo 'System.Exception' en Ejecutable_dentro_de_recursos_consola_01.exe

Información adicional: No se puede encontrar el recurso 'Recursos.Validar.exe'


¿Algo se me escapa?

Ni poniendo la ruta completa, me hace caso. Da el mismo error.

Felices fiestas 2016.
697  Programación / .NET (C#, VB.NET, ASP) / Re: Intentar leer texto desde una clase externa en: 29 Diciembre 2016, 21:55 pm
Muchas gracias, me ha servido mi muy distinguido amigo. ;)
698  Programación / .NET (C#, VB.NET, ASP) / Intentar leer texto desde una clase externa en: 27 Diciembre 2016, 21:31 pm
Hola:

Quiero leer un texto que puse como string desde la Class2 y no me sale.

Dejo el código.

Program.cs

Código
  1. using System;
  2.  
  3. namespace Textos_Clases_02
  4. {
  5.    class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.            Console.Title = "Métodos y funciones C#";
  10.  
  11.            Console.WriteLine("Que muestre los textos desde la clase externa llamada Class1.cs");
  12.  
  13.            Class1 txt = new Class1();  // Crear un objeto.
  14.            txt.MostrarTextoClass1();   // Mostrar textos de la Class1.
  15.  
  16.            Class2 txt2 = new Class2(); // Crear un objeto.
  17.            Console.WriteLine(txt2.metodo()); // Mostrar textos de la Class2.
  18.  
  19.            Console.ReadKey(); // Pulsa cualquier tecla para salir.
  20.        }
  21.    }
  22. }


Class1.cs

Código
  1. using System;
  2.  
  3. namespace Textos_Clases_02
  4. {
  5.    class Class1
  6.    {
  7.        public void MostrarTextoClass1()
  8.        {
  9.            Console.WriteLine("Hola desde Class1 con el método MostrarTextoClass1");
  10.        }
  11.    }
  12. }

Class2.cs

Código
  1. namespace Textos_Clases_02
  2. {
  3.    class Class2
  4.    {
  5.        public string metodo(string variable)
  6.        {
  7.            variable = "Texto variable de la clase Class2 y método o función metodo.";
  8.            return variable;
  9.        }
  10.    }
  11. }

¿Cuál es la mejor forma de hacerlo?

En resumen: Quiero añadir textos en clases externas, así cualquier método lleno de textos no los tengo en el programa principal y me ahorro leer muchos códigos que se que funcionan.En el programa principal solo los llamo.

Saludos.
699  Programación / .NET (C#, VB.NET, ASP) / Re: Probando pimera fase interfaz PC por voz en: 26 Diciembre 2016, 09:48 am
Hola a todos y a todas:

No he puesto el código fuente porque está en constante proceso y estilo chapuza. No significa que no lo ponga cuando acabe. No se preocupen, lo pondé si o si el código fuente en el futuro. El que uso es en español y hay que indicarlo así:

Código
  1. using (
  2.      SpeechRecognitionEngine recognizer =
  3.        new SpeechRecognitionEngine(
  4.          new System.Globalization.CultureInfo("es-ES")))
  5.      {

https://msdn.microsoft.com/es-es/library/system.speech.recognition.speechrecognitionengine(v=vs.110).aspx

Les dejo el código fuente en modo consola C#. Puedes hacer prueba rápida.
Código
  1. using System;
  2. using System.Speech.Recognition; // No olvidar. Micro.
  3. using System.Speech.Synthesis; // No olvidar. Altavoz.
  4.  
  5. namespace Reconocimiento_voz_consola_04
  6. {
  7.    class Program
  8.    {
  9.        static void Main(string[] args)
  10.        {
  11.            Console.Title = "Reconocimiento voz 04"; // Título de la ventana.
  12.            Console.WriteLine(" Empiece a dar la lengua.");
  13.  
  14.            // Cree un reconocedor de voz en proceso para la configuración regional en-US.
  15.            using (SpeechRecognitionEngine micro = new SpeechRecognitionEngine(
  16.                new System.Globalization.CultureInfo("es-ES")))
  17.            {
  18.  
  19.                // Cree y cargue una gramática de dictado.
  20.                micro.LoadGrammar(new DictationGrammar());
  21.  
  22.                // Agregue un controlador para el evento de reconocimiento de voz.
  23.                micro.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
  24.  
  25.                // Configure la entrada al reconocedor de voz.
  26.                micro.SetInputToDefaultAudioDevice();
  27.  
  28.                // Inicie el reconocimiento de voz continuo asíncrono.
  29.                micro.RecognizeAsync(RecognizeMode.Multiple);
  30.  
  31.                // Mantenga abierta la ventana de la consola.
  32.                while (true)
  33.                {
  34.                    Console.ReadLine();
  35.                }
  36.            }
  37.        }
  38.  
  39.        // Maneje el evento SpeechRecognized.
  40.        static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
  41.        {
  42.            Console.WriteLine("Texto reconocido: " + e.Result.Text);
  43.  
  44.            string palabras = e.Result.Text;
  45.  
  46.            // Inicializar una nueva instancia de SpeechSynthesizer.
  47.            using (SpeechSynthesizer altavoz = new SpeechSynthesizer())
  48.            {
  49.                // Configure la salida de audio.
  50.                altavoz.SetOutputToDefaultAudioDevice();
  51.  
  52.                switch (palabras)
  53.                {
  54.                    case "enciende la luz uno":
  55.                        Console.WriteLine("Luz 1 encendida.");
  56.                        altavoz.Speak("Encendiendo luz 1.");
  57.                        break;
  58.  
  59.                    case "apaga la luz uno":
  60.                        Console.WriteLine("Luz 1 apagada.");
  61.                        altavoz.Speak("Apagando luz 1.");
  62.                        break;
  63.  
  64.                    case "enciende ventilador uno":
  65.                        Console.WriteLine("Ventilador 1 encendido.");
  66.                        altavoz.Speak("Encendiendo ventilador 1.");
  67.                        break;
  68.  
  69.                    case "apaga ventilador uno":
  70.                        Console.WriteLine("Ventilador 1 apagado.");
  71.                        altavoz.Speak("Apagando ventilador 1.");
  72.                        break;
  73.                }
  74.            }
  75.        }
  76.    }
  77. }

Siguiendo avanzando.

Versión 0.02.
Mostrar nivel de audio en una barra de progreso.



Descargar

Pueden avisarme sus experiencias y primera impresión de si realmente el programa les funciona. No escucha perfecto.

Felices fiestas 2016.
700  Programación / .NET (C#, VB.NET, ASP) / Probando pimera fase interfaz PC por voz en: 26 Diciembre 2016, 02:16 am
Hola todos y a todas:

Estoy en primera fase haciendo una interfaz con Visual C# (ya se hará lo mismo para Visual Basic .net) reconocimento por voz usando cascos con micro.

Este ejemplo que puedes descargar solo hace lo siguiente, decir palabras, como: Azul, izquierda, siete, salir, palabras de ese tipo que con el micro intenta reconocer una palabra.

Quiero que prueben este programa en fase alfa todavía, si les funcione me cuentan sus experiencias o primera impresión y si les interesa.



Mi idea principal es: Controlar Arduino con su LCD, si dices amarillo, el cuadro se pone en amarillo del programa y aparece esa palabra en el LCD de Arduino. Cada palabra que digas en el programa, lo refrejará Arduino con el LCD. A parte de esto, se ampliarán funciones como encender un LEd y apagarlo con la voz.

Es un proyecto tonto de experimentación y lo hago como curiosidad, usando el puerto serie del PC.

Descargar programa.

Felices fiestas 2016.
Páginas: 1 ... 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 [70] 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 ... 261
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines