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 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 255
121  Programación / Programación General / Re: Borrar dll y que no se pueda recuperar en: 24 Abril 2022, 03:52 am
creo que es muy poco probable que una persona normal los pueda recuperar.

Como suena eso.  ;-)

¿Nosotros somos subnormales?

Es broma.  ;D

Buena documentación.
122  Programación / Programación General / Re: Borrar dll y que no se pueda recuperar en: 17 Abril 2022, 10:56 am
No tengo claro si es así como dices. Se que he modificado fotos desde un Pendrive, lo he recuperado y no se recupera la foto original, si no modificada. Lo que no he probado es antes de borrar e archivo.dll que lo renombre a otra cosa como fhsdkfgsfg.dat o otra cosa. Después modificar y borrar.

Al recuperar datos y depende de cuanto tiempo tarde en darse cuenta al descubrir el ejecuble principal archivo.exe, cuanto más tiempo tarde el "listillo" que hay algo en el PC borrado, más Windows tendrá posibilidad de sustituir por otro archivo en sectores que ya no se usa. Ahí está la cuestión.

Saludos.
123  Programación / Programación General / Re: Borrar dll y que no se pueda recuperar en: 16 Abril 2022, 23:34 pm
Por si algún "listillo" recupera la dll, si la recupera, antes hay que modificar la dll, guardar la dll modificada que es inservible, solo hay datos corrupto por llamarlo de alguna manera, se guarda la dll y luego se borra.

Al recuperar dicha dll por el "listillo", recuperará si, la dll pero modificada. Ahí está el truco. La dll original no se puede recuperar porque ha sido modificada. Si fuera solo borrada sin modificar si puede hacerlo.

124  Programación / Programación General / Re: Borrar dll y que no se pueda recuperar en: 16 Abril 2022, 00:31 am

La inutilidad del esfuerzo por protegerlo, es que si alguien pretende obtener el código, si no sabe se quedará con las ganas y si sabe, no podrás impedirlo... acabará viendo que hay un exe que se ejecuta, que luego surje una dll y que esta desaparece... no tardará en concluir que el exe lo 'machaca', con lo que en la próxima tras crear el exe y este crear la dll, matará el proceso del exe, con lo que de este modo o algún otro acabará teniendo copia de la dll 'original'...

De eso se trata, podrá encontrar el ejecutable, pero no la dll. Si descifra el ejecutable, sabrá la dirección donde estaba la dll y su nombre, pero jamás sabrá su funcionalidad. Que es crear el archivo.txt y dentro dice Hola, por poner un ejemplo.

Sabrá que la dll antes será:

La dll hará su función de crear archivo por poner un ejemplo.
Cerrar la dll y que no esté en uso.
Sobreescribir la dll en formato lo que quieras, cualquier cosa.
Guardar la dll que ya no funciona por si el listillo quiera recuperarla con un programa de recuperación de datos.
Borrar la dll modificada e inservible.
El ejecutable crea un archivo .bat.
El ejecutable se cierra después de haber creado un archivo .bat.
No se si el .bat será capaz de modificar el ejecutable y que que inútil para que no se sepa su interior si alguien desea hacer ingeniería inversa al código compilado, por decirlo de alguna manera.
El achivo bat borra la el ejecutable y el propio bat así mismo que si se puede hacer, ya que el bat es un archivo y el que lo borra realmente es el cmd que este si es ejecutable que viene en el Windows. También vale el PowerShell.

¿Crees que puede recuperar la dll un listillo?

Como dice el dicho, en la Viña del Señor hay de todo, nunca se sabe.

A todos, gracias por los consejos.
Saludos.
125  Programación / Programación General / Borrar dll y que no se pueda recuperar en: 15 Abril 2022, 15:21 pm
Hola:

Quiero hacer un programa, el propio programa lo que hace es que cuando llegue una fecha y hora exacta que he programado, muestre en el escritorio un archivo de texto llamado Hola.txt y en su contenido dice:

Hola compañero.

Desde un archivo .bat se puede hacer, que cree ese texto y se borre el propio archivo .bat. Si hago un programa con C# o C++, no es capaz de autoborrarse. Se me ha ocurrido crear un ejecutable que llame al dll que solo hace crear el archivo .txt en el escritorio y dicho ejecutable borrre la dll. Antes de borrar la dll, tiene que modificarla para destruirla, guardar la modificación y luego borrar la dll para que nadie la recupere con programas de recuperación de archivos, y si lo recupera, que no descifre las funciones de las dll de lo que hace realmente. El ejecutable .exe solo llama la .dll que sabe donde está.

La pregunta del millón.

¿Es posible hacerlo?

Saludos.
126  Programación / .NET (C#, VB.NET, ASP) / Introducir esta tabla UTF-8 en: 5 Abril 2022, 22:00 pm
Buenas:

En la consola C# puedo introducir cuadro de la tabla ASCII, en este caso, quiero hacerlo con UTF-8 precisamente de este PDF.

https://www.mclibre.org/consultar/htmlcss/html/unicode/U02500-box-drawing.pdf

Aquí la tabla completa si quieren curiosear.

¿Algún ejemplo para poner un caracter en UTF-8?

En ASCII se pued directamente del teclado como Alt + Número.

Saludos.
127  Programación / .NET (C#, VB.NET, ASP) / Re: Poner coma en vez de un punto en: 4 Abril 2022, 07:14 am
He logrado como se pone coma internamente pero no me lo muestra visualmente. La idea es que si muestra un punto, se convierta en coma hasta visualizarlo, no solo interno, por ahora he hecho esto.

Código
  1. using System;
  2. using System.Globalization;
  3. using System.Speech.Recognition; // No olvidar. Micro.
  4. using System.Speech.Synthesis; // No olvidar. Altavoz.
  5. using System.Threading;
  6.  
  7. namespace Calculo_cilindro_voz_Consola_04
  8. {
  9.    internal class Program
  10.    {
  11.        // Para sustituir punto por coma.
  12.        static CultureInfo currentCulture = CultureInfo.InstalledUICulture;
  13.        static NumberFormatInfo numberFormat = (NumberFormatInfo)currentCulture.NumberFormat.Clone();
  14.  
  15.        static void Main(string[] args)
  16.        {
  17.            #region Configuración ventana.
  18.            // Título de la ventana.
  19.            Console.Title = "Cálculo litros de un depósito";
  20.  
  21.            // Tamaño de la ventana, x, y.
  22.            // Tamaño de la ventana, x, y.
  23.            const int anchoX = 80;
  24.            const int altoY = 30;
  25.            Console.SetWindowSize(anchoX, altoY);
  26.  
  27.            // Color de fondo.
  28.            Console.BackgroundColor = ConsoleColor.Black;
  29.  
  30.            // Color de las letras.
  31.            Console.ForegroundColor = ConsoleColor.Gray;
  32.  
  33.            // Limpiar pantalla y dejarlo todo en color de fondo.
  34.            Console.Clear();
  35.  
  36.            // Visible el cursor.
  37.            Console.CursorVisible = false;
  38.            #endregion
  39.  
  40.            #region Variables.
  41.            // Variables.
  42.            const double Pi = 3.14;
  43.            float PI = Convert.ToSingle(Pi);
  44.            string stringRadio, stringAltura, stringNivelAgua;
  45.            float radio, altura, volumen, litros, nivelAgua, resultadoPorcentaje,
  46.                resultadoLitros, volumenLitros, mitadBarra, cantidadTubosLitros,
  47.                totalLitros, cantidadTubos;
  48.            #endregion
  49.  
  50.            numberFormat.NumberDecimalSeparator = ".";
  51.  
  52.            do
  53.            {
  54.                try
  55.                {
  56.                    // Inicializar una nueva instancia de SpeechSynthesizer.
  57.                    using (SpeechSynthesizer altavoz = new SpeechSynthesizer())
  58.                    {
  59.                        #region Introducción de datos en la pantalla.
  60.                        // Configure la salida de audio.
  61.                        altavoz.SetOutputToDefaultAudioDevice();
  62.  
  63.                        // Velocidad de la voz.
  64.                        altavoz.Rate = -2; // Valores entre -10 a 10.
  65.  
  66.                        // Volumen de la voz.
  67.                        altavoz.Volume = 100; // Valores entre 0 y 100.
  68.  
  69.                        // Limpiar pantalla.
  70.                        Console.Clear();
  71.  
  72.                        // Dibujado cuadro.
  73.                        CuadroNuevo();
  74.  
  75.                        // Introducción de datos.
  76.                        Console.SetCursorPosition(3, 3);
  77.                        Console.Write("Introduce el radio en m.: ");
  78.                        altavoz.Speak("Introduce el radio en metros.");
  79.                        stringRadio = Console.ReadLine();
  80.                        radio = CambiarComaXPunto(stringRadio);
  81.                        Console.SetCursorPosition(3, 5);
  82.                        Console.Write("Introduce la altura del tubo en m.: ");
  83.                        altavoz.Speak("Introduce la altura del tubo en metros.");
  84.                        stringAltura = Console.ReadLine();
  85.                        altura = CambiarComaXPunto(stringAltura);
  86.                        Console.SetCursorPosition(3, 7);
  87.                        Console.Write("Introduce altura del agua. Máximo es de {0} m.: ", altura);
  88.                        altavoz.Speak("Introduce altura del agua. Máximo es de " + altura + "metros.");
  89.                        stringNivelAgua = Console.ReadLine();
  90.                        nivelAgua = CambiarComaXPunto(stringNivelAgua);
  91.                        Console.SetCursorPosition(3, 9);
  92.                        Console.Write("Introduce cantidad de tubos: ");
  93.                        altavoz.Speak("Introduce cantidad de tubos.");
  94.                        cantidadTubos = int.Parse(Console.ReadLine());
  95.  
  96.                        CuadroNuevo();
  97.                        #endregion
  98.  
  99.                        #region Cálculos.
  100.                        // Cálculo volumen.
  101.                        volumen = PI * (radio * radio) * altura;
  102.  
  103.                        // Cálculo litros.
  104.                        litros = volumen * 1000;
  105.  
  106.                        // Cálculo porcentaje en % del litro de agua.
  107.                        resultadoPorcentaje = nivelAgua * (100 / altura);
  108.  
  109.                        // Cálculo litros de agua.
  110.                        volumenLitros = PI * (radio * radio) * nivelAgua;
  111.                        resultadoLitros = volumenLitros * 1000;
  112.  
  113.                        // Cálculo litros por cantidad de tubos
  114.                        cantidadTubosLitros = cantidadTubos * resultadoLitros;
  115.  
  116.                        // Cálculo cantidad de litros con total de tubos.
  117.                        totalLitros = litros * cantidadTubos;
  118.                        #endregion
  119.  
  120.                        #region Dibujado barra de progreso.
  121.  
  122.                        // Posición.
  123.                        Console.SetCursorPosition(3, 4);
  124.  
  125.                        // Dibujo de la barra.
  126.                        Console.WriteLine();
  127.                        Console.SetCursorPosition(3, 5);
  128.                        Console.WriteLine("0 %                     50 %                   100 %");
  129.                        Console.SetCursorPosition(3, 6);
  130.                        Console.WriteLine("┌────────────────────────┬───────────────────────┐");
  131.  
  132.                        // Mitad de la barra para que no sea muy grande en la pantalla.
  133.                        mitadBarra = resultadoPorcentaje / 2;
  134.  
  135.                        if (resultadoPorcentaje <= 15)
  136.                        {
  137.                            Console.ForegroundColor = ConsoleColor.Red;
  138.                        }
  139.                        else if (resultadoPorcentaje <= 40)
  140.                        {
  141.                            Console.ForegroundColor = ConsoleColor.Yellow;
  142.                        }
  143.                        else if (resultadoPorcentaje <= 100)
  144.                        {
  145.                            Console.ForegroundColor = ConsoleColor.Green;
  146.                        }
  147.  
  148.                        if (mitadBarra > 50)
  149.                        {
  150.                            mitadBarra = 50;
  151.                        }
  152.  
  153.                        Console.SetCursorPosition(3, 7);
  154.                        // Rellenar la barra.
  155.                        for (int i = 1; i <= mitadBarra; i++)
  156.                        {
  157.                            Console.Write("&#9608;");
  158.                        }
  159.  
  160.                        Console.ForegroundColor = ConsoleColor.Gray;
  161.  
  162.                        // Si llega mayor a 100 se pone el # en rojo.
  163.                        if (resultadoPorcentaje > 100)
  164.                        {
  165.                            Console.ForegroundColor = ConsoleColor.Red;
  166.                            Console.Write("#");
  167.                            Console.ForegroundColor = ConsoleColor.Gray;
  168.                        }
  169.                        #endregion
  170.  
  171.                        #region Mostrar textos en pantalla.
  172.                        // Cursor invisible.
  173.                        Console.CursorVisible = false;
  174.  
  175.                        // Muestra porcentaje del depósito.
  176.                        Console.ForegroundColor = ConsoleColor.Gray;
  177.                        Console.SetCursorPosition(3, 9);
  178.                        Console.Write("Porcentaje: ");
  179.                        Console.ForegroundColor = ConsoleColor.Cyan;
  180.                        Console.WriteLine(resultadoPorcentaje.ToString("N2") + " %.");
  181.                        altavoz.Speak("Cantidad de agua que hay en el depósito es de " +
  182.                            //resultadoPorcentaje.ToString("N2") + "%.");
  183.                            resultadoPorcentaje + "%.");
  184.  
  185.                        // Muestra cantidad de agua que hay actualmente y el total.
  186.                        Console.ForegroundColor = ConsoleColor.Gray;
  187.                        Console.SetCursorPosition(3, 11);
  188.                        Console.Write("Litros de agua: ");
  189.                        Console.ForegroundColor = ConsoleColor.Cyan;
  190.                        Console.Write(resultadoLitros.ToString("N2"));
  191.                        Console.ForegroundColor = ConsoleColor.Gray;
  192.                        Console.WriteLine(" / " + litros.ToString("N2") + " L. total de un tubo.");
  193.                        altavoz.Speak("Cantidad de litros de agua en un tubo de " +
  194.                            resultadoLitros.ToString("N2") + "de " +
  195.                            litros.ToString("N2") + " litros total de un tubo.");
  196.  
  197.                        // Cantidad de tubos sin contar la base conectada, solo tubos independiente.
  198.                        Console.ForegroundColor = ConsoleColor.Gray;
  199.                        Console.SetCursorPosition(3, 13);
  200.                        Console.Write("Cantidad de Litros total por " + cantidadTubos + " tubos: ");
  201.                        Console.ForegroundColor = ConsoleColor.Cyan;
  202.                        Console.Write(cantidadTubosLitros.ToString("N2"));
  203.                        Console.ForegroundColor = ConsoleColor.Gray;
  204.                        Console.WriteLine(" / " + totalLitros.ToString("N2") + " L.");
  205.                        altavoz.Speak("Cantidad de litros en total por " + cantidadTubos.ToString("N2") +
  206.                            " tubos: " + cantidadTubosLitros.ToString("N2") +
  207.                            " de " + totalLitros.ToString("N2") + " litros.");
  208.                        #endregion
  209.                    }
  210.                }
  211.  
  212.                catch (FormatException)
  213.                {
  214.                    Console.BackgroundColor = ConsoleColor.Gray;
  215.                    Console.ForegroundColor = ConsoleColor.Red;
  216.                    Console.Clear();
  217.                    Console.SetCursorPosition(8, 5);
  218.                    Console.Write(@"La cadena de entrada no tiene el
  219.        formato correcto.
  220.  
  221.        Solo debes introducir números y comas.");
  222.                    Console.CursorVisible = false;
  223.                    Console.BackgroundColor = ConsoleColor.Black;
  224.                    Console.ForegroundColor = ConsoleColor.Gray;
  225.                }
  226.  
  227.                // Pulse cualquier tecla para continuar.
  228.                Console.ReadKey();
  229.            } while (true);
  230.        }
  231.  
  232.        private static void DibujarMarco(int v1, int v2, int v3, int v4)
  233.        {
  234.            gotoXY(v1, v2, "&#9556;");
  235.  
  236.            for (int i = v1 + 1; i < v3; i++)
  237.            {
  238.                gotoXY(i, v2, "&#9552;");
  239.            }
  240.  
  241.            gotoXY(v3, v2, "&#9559;");
  242.  
  243.            for (int i = v2 + 1; i < v4; i++)
  244.            {
  245.                gotoXY(v3, i, "&#9553;");
  246.            }
  247.  
  248.            gotoXY(v3, v4, "&#9565;");
  249.  
  250.            for (int i = v3 - 1; i > v1; i--)
  251.            {
  252.                gotoXY(i, v4, "&#9552;");
  253.            }
  254.  
  255.            gotoXY(v1, v4, "&#9562;");
  256.  
  257.            for (int i = v4 - 1; i > v2; i--)
  258.            {
  259.                gotoXY(v1, i, "&#9553;");
  260.            }
  261.        }
  262.  
  263.        private static void gotoXY(int x, int y, string cadena)
  264.        {
  265.            Console.SetCursorPosition(x, y);
  266.            Console.WriteLine(cadena);
  267.            Thread.Sleep(10);
  268.        }
  269.  
  270.        private static void CuadroNuevo()
  271.        {
  272.            // Limpiar pantalla.
  273.            Console.Clear();
  274.  
  275.            // Cursor visible.
  276.            Console.CursorVisible = false;
  277.  
  278.            // Dibujo de cuadro o marco.
  279.            DibujarMarco(1, 1, 65, 25);
  280.  
  281.            // Cursor visible.
  282.            Console.CursorVisible = true;
  283.        }
  284.  
  285.        private static float CambiarComaXPunto(string sNro)
  286.        {
  287.            float n = 0.0f;
  288.            String nAux = sNro.Replace(',', '.');
  289.            float.TryParse(nAux, NumberStyles.Any, numberFormat, out n);
  290.            return n;
  291.        }
  292.    }
  293. }
128  Programación / .NET (C#, VB.NET, ASP) / Poner coma en vez de un punto en: 3 Abril 2022, 08:44 am
Buenas gente del foro:

Desde hace tiempo en este sobre cálculo del volumenes de tubos para agua, al escribir valores, debe usar por ejemplo la coma. Cada dato introducido también se escucha la voz en Windows, a si que a subir el altavoz del PC. ;)

0,05

Y no el punto como indica abajo haciendo de coma.

0.05

Para hacer los cálculos bien, no hay que introducir un punto, solo la coma. Por comodidad y no confundir a la gente que use este programa, quiero hacer de alguna manera que si pulsas el punto, se convierta automáticamente en la coma.

¿Es posible hacerlo?

No se me ocurre como hacer estas cosas.

Dejo el código completo.

Código C#:
Código
  1. using System;
  2. using System.Speech.Recognition; // No olvidar. Micro.
  3. using System.Speech.Synthesis; // No olvidar. Altavoz.
  4.  
  5. // No olvidar añadir en "Referencias" Speech en el "Explorador de soluciones".
  6.  
  7. namespace Calculo_cilindo_voz_Consola_03
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            #region Configuración ventana.
  14.            // Título de la ventana.
  15.            Console.Title = "Cálculo litros de un depósito - By Meta. Electrónica PIC";
  16.  
  17.            // Tamaño de la ventana, x, y.
  18.            // Tamaño de la ventana, x, y.
  19.            const int anchoX = 60;
  20.            const int altoY = 16;
  21.            Console.SetWindowSize(anchoX, altoY);
  22.  
  23.            // Color de fondo.
  24.            Console.BackgroundColor = ConsoleColor.Black;
  25.  
  26.            // Color de las letras.
  27.            Console.ForegroundColor = ConsoleColor.Gray;
  28.  
  29.            // Limpiar pantalla y dejarlo todo en color de fondo.
  30.            Console.Clear();
  31.  
  32.            // Visible el cursor.
  33.            Console.CursorVisible = false;
  34.            #endregion
  35.  
  36.            #region Variables.
  37.            // Variables.
  38.            const double Pi = 3.14;
  39.            float PI = Convert.ToSingle(Pi);
  40.            float radio, altura, volumen, litros, nivelAgua, resultadoPorcentaje,
  41.                resultadoLitros, volumenLitros, mitadBarra, cantidadTubosLitros,
  42.                totalLitros;
  43.            float cantidadTubos;
  44.            #endregion
  45.  
  46.            do
  47.            {
  48.                try
  49.                {
  50.                    // Inicializar una nueva instancia de SpeechSynthesizer.
  51.                    using (SpeechSynthesizer altavoz = new SpeechSynthesizer())
  52.                    {
  53.                        #region Introducción de datos en la pantalla.
  54.                        // Configure la salida de audio.
  55.                        altavoz.SetOutputToDefaultAudioDevice();
  56.  
  57.                        // Velocidad de la voz.
  58.                        altavoz.Rate = -2; // Valores entre -10 a 10.
  59.  
  60.                        // Volumen de la voz.
  61.                        altavoz.Volume = 100; // Valores entre 0 y 100.
  62.  
  63.                        // Limpiar pantalla.
  64.                        Console.Clear();
  65.  
  66.                        // Cursor visible.
  67.                        Console.CursorVisible = true;
  68.                        // Introducción de datos.
  69.                        Console.Write("Introduce el radio en m.: ");
  70.                        altavoz.Speak("Introduce el radio en metros.");
  71.                        radio = float.Parse(Console.ReadLine());
  72.                        Console.Write("Introduce la altura del tubo en m.: ");
  73.                        altavoz.Speak("Introduce la altura del tubo en metros.");
  74.                        altura = float.Parse(Console.ReadLine());
  75.                        Console.Write("Introduce altura del agua. Máximo es de {0} m.: ", altura);
  76.                        altavoz.Speak("Introduce altura del agua. Máximo es de " + altura + "metros.");
  77.                        nivelAgua = float.Parse(Console.ReadLine());
  78.                        Console.Write("Introduce cantidad de tubos: ");
  79.                        altavoz.Speak("Introduce cantidad de tubos.");
  80.                        cantidadTubos = int.Parse(Console.ReadLine());
  81.                        #endregion
  82.  
  83.                        #region Cálculos.
  84.                        // Cálculo volumen.
  85.                        volumen = PI * (radio * radio) * altura;
  86.  
  87.                        // Cálculo litros.
  88.                        litros = volumen * 1000;
  89.  
  90.                        // Cálculo porcentaje en % del litro de agua.
  91.                        resultadoPorcentaje = nivelAgua * (100 / altura);
  92.  
  93.                        // Cálculo litros de agua.
  94.                        volumenLitros = PI * (radio * radio) * nivelAgua;
  95.                        resultadoLitros = volumenLitros * 1000;
  96.  
  97.                        // Cálculo litros por cantidad de tubos
  98.                        cantidadTubosLitros = cantidadTubos * resultadoLitros;
  99.  
  100.                        // Cálculo cantidad de litros con total de tubos.
  101.                        totalLitros = litros * cantidadTubos;
  102.                        #endregion
  103.  
  104.                        #region Dibujado barra de progreso.
  105.  
  106.                        // Posición.
  107.                        Console.SetCursorPosition(0, 4);
  108.  
  109.                        // Dibujo de la barra.
  110.                        Console.WriteLine();
  111.                        Console.WriteLine("0 %                     50 %                   100 %");
  112.                        Console.WriteLine("&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9516;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;");
  113.  
  114.                        // Mitad de la barra para que no sea muy grande en la pantalla.
  115.                        mitadBarra = resultadoPorcentaje / 2;
  116.  
  117.                        if (resultadoPorcentaje <= 15)
  118.                        {
  119.                            Console.ForegroundColor = ConsoleColor.Red;
  120.                        }
  121.                        else if (resultadoPorcentaje <= 40)
  122.                        {
  123.                            Console.ForegroundColor = ConsoleColor.Yellow;
  124.                        }
  125.                        else if (resultadoPorcentaje <= 100)
  126.                        {
  127.                            Console.ForegroundColor = ConsoleColor.Green;
  128.                        }
  129.  
  130.                        if (mitadBarra > 50)
  131.                        {
  132.                            mitadBarra = 50;
  133.                        }
  134.  
  135.                        Console.SetCursorPosition(0, 7);
  136.                        // Rellenar la barra.
  137.                        for (int i = 1; i <= mitadBarra; i++)
  138.                        {
  139.                            Console.Write("&#9608;");
  140.                        }
  141.  
  142.                        Console.ForegroundColor = ConsoleColor.Gray;
  143.  
  144.                        // Si llega mayor a 100 se pone el # en rojo.
  145.                        if (resultadoPorcentaje > 100)
  146.                        {
  147.                            Console.ForegroundColor = ConsoleColor.Red;
  148.                            Console.Write("#");
  149.                            Console.ForegroundColor = ConsoleColor.Gray;
  150.                        }
  151.                        #endregion
  152.  
  153.                        #region Mostrar textos en pantalla.
  154.                        // Cursor invisible.
  155.                        Console.CursorVisible = false;
  156.  
  157.                        // Pisición del texto a mostrar.
  158.                        Console.SetCursorPosition(0, 9);
  159.  
  160.                        // Muestra porcentaje del depósito.
  161.                        Console.ForegroundColor = ConsoleColor.Gray;
  162.                        Console.Write("\nPorcentaje: ");
  163.                        Console.ForegroundColor = ConsoleColor.Cyan;
  164.                        Console.WriteLine(resultadoPorcentaje.ToString("N2") + " %.");
  165.                        altavoz.Speak("Cantidad de agua que hay en el depósito es de " +
  166.                            //resultadoPorcentaje.ToString("N2") + "%.");
  167.                            resultadoPorcentaje + "%.");
  168.  
  169.                        // Muestra cantidad de agua que hay actualmente y el total.
  170.                        Console.ForegroundColor = ConsoleColor.Gray;
  171.                        Console.Write("\nLitros de agua: ");
  172.                        Console.ForegroundColor = ConsoleColor.Cyan;
  173.                        Console.Write(resultadoLitros.ToString("N2"));
  174.                        Console.ForegroundColor = ConsoleColor.Gray;
  175.                        Console.WriteLine(" / " + litros.ToString("N2") + " L. total de un tubo.");
  176.                        altavoz.Speak("Cantidad de litros de agua en un tubo de " +
  177.                            resultadoLitros.ToString("N2") + "de " +
  178.                            litros.ToString("N2") + " litros total de un tubo.");
  179.  
  180.                        // Cantidad de tubos sin contar la base conectada, solo tubos independiente.
  181.                        Console.ForegroundColor = ConsoleColor.Gray;
  182.                        Console.Write("\nCantidad de Litros total por " + cantidadTubos + " tubos: ");
  183.                        Console.ForegroundColor = ConsoleColor.Cyan;
  184.                        Console.Write(cantidadTubosLitros.ToString("N2"));
  185.                        Console.ForegroundColor = ConsoleColor.Gray;
  186.                        Console.WriteLine(" / " + totalLitros.ToString("N2") + " L.");
  187.                        altavoz.Speak("Cantidad de litros en total por " + cantidadTubos.ToString("N2") +
  188.                            " tubos: " + cantidadTubosLitros.ToString("N2") +
  189.                            " de " + totalLitros.ToString("N2") + " litros.");
  190.                        #endregion
  191.                    }
  192.                }
  193.  
  194.                catch (FormatException)
  195.                {
  196.                    Console.BackgroundColor = ConsoleColor.Gray;
  197.                    Console.ForegroundColor = ConsoleColor.Red;
  198.                    Console.Clear();
  199.                    Console.SetCursorPosition(8, 5);
  200.                    Console.Write(@"La cadena de entrada no tiene el
  201.        formato correcto.
  202.  
  203.        Solo debes introducir números y comas.");
  204.                    Console.CursorVisible = false;
  205.                    Console.BackgroundColor = ConsoleColor.Black;
  206.                    Console.ForegroundColor = ConsoleColor.Gray;
  207.                }
  208.  
  209.                // Pulse cualquier tecla para continuar.
  210.                Console.ReadKey();
  211.            } while (true);
  212.        }
  213.    }
  214. }

Saludos.
129  Programación / Programación C/C++ / Re: Ayuda sobre un programa de codificador y decodificador en: 31 Marzo 2022, 23:19 pm
Prueba con XOR base 10.

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

Lo mismo para volver al estado anterior.
130  Seguridad Informática / Seguridad / Re: ¿Pueden ver tu información dentro de imágenes? en: 31 Marzo 2022, 22:20 pm
Hice un código para redimensionar y sustituir fotos que tenga en un pendrive.

Código
  1. using System;
  2. using System.Drawing;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text.RegularExpressions;
  6.  
  7. namespace Cambiar_tamaño_imagen_Consola_07
  8. {
  9. internal class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13.  
  14. // Ruta de la carpeta
  15. string path = @"E:\Imagenes";
  16.  
  17.  
  18. // Validar la existencia de la carpeta
  19. if (!Directory.Exists(path))
  20. {
  21. Console.WriteLine("El directorio no existe...");
  22. return;
  23. }
  24.  
  25. // Filtramos la búsqueda en toda la carpeta (incluida subcarpetas) y obtenemos
  26. // los archivos .jpg | .jpeg | .png | .gif | .bmp | .tif
  27. var imagenArchivos = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories)
  28.  .Where(f => Regex.IsMatch(f, @"^.+\.(jpg|jpeg|png|gif|bmp|tif)$"))
  29.  .ToList();
  30.  
  31. foreach (string imagenArchivo in imagenArchivos)
  32. {
  33. string nombreArchivo = Path.Combine(path, imagenArchivo);
  34.  
  35. // Lee cada y almacena cada foto encontrado.
  36. byte[] b = File.ReadAllBytes(nombreArchivo);
  37.  
  38. // Guarda en memoria cada foro encontrado.
  39. Image img = Image.FromStream(new MemoryStream(b));
  40.  
  41. // Redimensiona cada foto encontrado.
  42. using (Image resizedImage = new Bitmap(img, new Size(350, 236)))
  43. {
  44. // Salva o guarda nuevo archivo.
  45. resizedImage.Save(nombreArchivo);
  46.  
  47. // Modifica otra foto nueva.
  48. File.WriteAllBytes(nombreArchivo, Foto.fotoImagen());
  49. }
  50. }
  51.  
  52. Console.WriteLine("Imágenes redimensionadas correctamente...");
  53.  
  54. Console.WriteLine("Imagen nueva añadida.\n");
  55.  
  56. // Pulse cualquier tecla para salir.
  57. Console.WriteLine("Pulse cualquier tecla para salir.");
  58. //Console.ReadKey();
  59. }
  60. }
  61. }

Por eso añadir las tramas de bytes de una imagen dentro del ejecutable, sustituye o modifica todas las fotos. No quiero que se sepa alguna información en Windows de mi PC y sepan quien puede ser el que creó el programa gracias a las imágenes.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines