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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
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 29 ... 66
131  Programación / .NET (C#, VB.NET, ASP) / Enviar mensaje de texto a la PS4 en: 13 Enero 2019, 12:07 pm
Hola:

Estaba curioseando si hay alguna manera de enviar mensajes de texto y recibirlo con el PC y la PlayStation 4 usando C#.

Buscando que te busca en el San Google, no veo que lo hayan hecho, me da que no se puede. Si hay alguien que sabe del tema, lo puede confirmar por aquí.

Por aquí dicen que no se puede, pero vete a sabar a día de hoy.
https://www.laps4.com/foro/18_zona_psnetwork/320251-mandar_mensaje_pc.html

Ya dirán si existe esa posibilidad.

Saludos.
132  Programación / .NET (C#, VB.NET, ASP) / Enviar email con C# en: 12 Enero 2019, 09:41 am
Hola:

Me da error al enviar mensaje por emmail desde C#.



El código por ahora es este.

Código:
using System;
using System.Windows.Forms;
using System.Net;       // No olvidar.
using System.Net.Mail;  // No olvidar.

namespace Enviar_e_mail_01_cs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_Enviar_Click(object sender, EventArgs e)
        {
            //La cadena "servidor" es el servidor de correo que enviará tu mensaje
            string servidor = comboBox_smtp.SelectedItem.ToString(); // smtp.gmail.com

            // Crea el mensaje estableciendo quién lo manda y quién lo recibe
            MailMessage mensaje = new MailMessage(
               textBox_Emisor.Text,
               textBox_Receptor.Text,
               textBox_Asunto.Text,
               richTextBox_Mensaje.Text);

            //Envía el mensaje.
            SmtpClient cliente = new SmtpClient(servidor);
            cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
            cliente.UseDefaultCredentials = false;
            cliente.Credentials = new System.Net.NetworkCredential(textBox_Emisor.Text, textBox_Contraseña.Text);
            cliente.Port = Int32.Parse(comboBox_Puerto.Text); ; // 587
            //cliente.Port = 25;
            cliente.Host = servidor; // smtp.gmail.com
            cliente.EnableSsl = true;

            //Añade credenciales si el servidor lo requiere.
            cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
            cliente.Send(mensaje);
        }
    }
}

Error indicado aquí. Da igual sea con hotmail o gmail.



Me llegó un mensaje al gmail de seguridad por usar formulario C#.

Citar
Se ha bloqueado un intento de inicio de sesión
   metaconta@gmail.com

Alguien acaba de usar tu contraseña para intentar iniciar sesión en tu cuenta desde una aplicación que no es de Google. Aunque Google ha bloqueado el acceso, deberías averiguar qué ha pasado. Revisa la actividad de la cuenta y comprueba que solo tú tienes acceso a ella.

Pincho y eso sale.
Se ha bloqueado una aplicación poco segura
Hemos bloqueado la aplicación que intentabas usar porque no cumple nuestros estándares de seguridad.
Algunos dispositivos y aplicaciones utilizan una tecnología de inicio de sesión menos segura, lo que hace que tu cuenta sea más vulnerable. Te recomendamos que desactives el acceso de estas aplicaciones, aunque también puedes activarlo si quieres usarlas a pesar de los riesgos que conllevan.
Más información

Citar
Permitir el acceso a cuentas desde aplicaciones menos seguras

Si una aplicación o un dispositivo no cumple con nuestros estándares de seguridad, Google bloqueará a cualquier persona que intente iniciar sesión desde esa aplicación o dispositivo. El bloqueo contribuye a mantener la seguridad de tu cuenta, ya que es muy fácil acceder a estas aplicaciones y dispositivos sin autorización.

A continuación, se muestran algunos ejemplos de aplicaciones que no son compatibles con la última versión de los estándares de seguridad:

    La aplicación Mail para iPhone o iPad con la versión 6 o versiones anteriores
    La aplicación Mail en un teléfono con una versión de Windows Phone anterior a la 8.1
    Algunos clientes de correo electrónico para ordenadores, como Microsoft Outlook y Mozilla Thunderbird

Cambiar el acceso a la cuenta para aplicaciones menos seguras

Para mantener más protegidas tus cuentas de Google del trabajo, del centro educativo o de otro grupo, bloqueamos las aplicaciones menos seguras para que no puedan acceder a ellas. Si tienes una cuenta de este tipo, se te mostrará el error "Contraseña incorrecta" cuando intentes iniciar sesión. Si es así, tienes dos opciones:

    Opción 1: instala una aplicación más segura que utilice medidas de seguridad más sólidas. Todos los productos de Google, como Gmail, utilizan las medidas de seguridad más recientes.
    Opción 2: cambia la configuración para permitir que las aplicaciones poco seguras accedan a tu cuenta. Esta opción no es recomendable porque puede facilitar el acceso a tu cuenta a otra persona. Si, aún así, quieres utilizarla, sigue estos pasos:
        Ve a tu cuenta de Google.
        En el panel de navegación de la izquierda, haz clic en Seguridad.
        En el panel Acceso de aplicaciones poco seguras de la parte inferior de la página, haz clic en Activar acceso.
             Si no ves este ajuste, es posible que el administrador haya desactivado el acceso de las aplicaciones poco seguras a la cuenta.

Si sigues sin poder iniciar sesión en tu cuenta, obtén más información sobre el error "Contraseña incorrecta"

¿Alguna grandísima idea?

Hace años no pasaba estas cosas.

Saludos:)
133  Sistemas Operativos / Windows / Archivo ilegible o dañado en: 9 Septiembre 2018, 08:35 am
Hola:

Tengo tres directorios en Windows 10 con fotos, ví las carpetas y no me dejaba entrar. En el CMD en modo Administrador puse este comando.

Citar
chkdsk /f :d

Me detecto en todo el disco duro que es una partición llamada D:, esas tres carpetas. Antes apareció este mensaje y puse SÍ, porque si pongo no, no hace nada.

Citar
C:\WINDOWS\system32>chkdsk /f d:
El tipo del sistema de archivos es NTFS.

Chkdsk no puede ejecutarse ya que el volumen está siendo usado por otro
proceso. Chkdsk puede ejecutarse si se desmonta previamente este volumen.
TODOS LOS IDENTIFICADORES ABIERTOS A ESTE VOLUMEN NO SERÁN VÁLIDOS.
¿Desea exigir el desmontaje de este volumen? (S/N)

Al pulsar S, me detecta las tres carpetas y comentó algo del índice, después de todo este proceso que tardó algunos minutos en completar, las carpetas ya no aparecen en ninguna parte, aunque vuelva ejeutar chkdsk una y otra vez.

¿Hay alguna solución o he perdido todo?

Saludos.
134  Programación / .NET (C#, VB.NET, ASP) / Crear una DLL y llamarla en otro lenguaje en: 27 Julio 2018, 09:58 am
Hola:

Quiero hacer esto desce cero con Visual studio Community 2017. Creo una dll en Win32 C++. En él solo hay dos cosas, una fórmula matemática y un mensaje. Por ejemplo.

Fórmula matemática:

2 + 3

Mensaje:

Hola. Soy una DLL Win32.

Una vez creada una dll en C++ Win32 con lo indicado arriba, quiero ahora crear otro proyecto con Windows Form hecho bajo el lenguaje C#. En el formulario tiene incluido un label1 para mostrar el mensaje y otro label2 para mostrar el resultado de la suma.

Cualquier cosa que se entienda, lo repito de otra manera. Lo hice así tan sencillo para aprender de una vez y rápido como hacerlo.


Código C++
:
Código
  1. // $nombredeproyecto$.cpp: define las funciones exportadas de la aplicación DLL.
  2. //
  3.  
  4. #include "stdafx.h"
  5.  
  6. extern "C" {
  7. __declspec(dllexport)  int WINAPI Suma(int, int);
  8. __declspec(dllexport) LPTSTR WINAPI Mensaje();
  9. }
  10.  
  11. BOOL APIENTRY DllMain(HMODULE hModule,
  12. DWORD  ul_reason_for_call,
  13. LPVOID lpReserved
  14. )
  15. {
  16. switch (ul_reason_for_call)
  17. {
  18. case DLL_PROCESS_ATTACH:
  19. case DLL_THREAD_ATTACH:
  20. case DLL_THREAD_DETACH:
  21. case DLL_PROCESS_DETACH:
  22. break;
  23. }
  24. return TRUE;
  25. }
  26.  
  27. int WINAPI Suma(int a, int b) { return a + b; }
  28. LPTSTR WINAPI Mensaje() { return TEXT("Hola. Soy una DLL Win32."); }

En la última línea donde pone TEXT pone error indicado abajo.

Código
  1. LPTSTR WINAPI Mensaje() { return TEXT("Hola. Soy una DLL Win32."); }

Gravedad    Código    Descripción    Proyecto    Archivo    Línea    Estado suprimido
Error (activo)    E0120    el tipo de valor devuelto no coincide con el tipo de función    pepe    c:\Users\Usuario\Documents\Visual Studio 2017\Projects\pepe\pepe\pepe.cpp    28   

En el mismo proyecto de la dll creo la interfaz C#:

Código C#:
Código
  1. using System;
  2. using System.Runtime.InteropServices; // No olvidar.
  3. using System.Windows.Forms;
  4.  
  5. namespace Prueba_dll_cs_01
  6. {
  7.    public partial class Form1 : Form
  8.    {
  9.        public Form1()
  10.        {
  11.            InitializeComponent();
  12.        }
  13.  
  14.        private void Form1_Load(object sender, EventArgs e)
  15.        {
  16.            label1.Text = Marshal.PtrToStringAuto(PEPE.Mensaje());
  17.            label2.Text = PEPE.Suma(1764, -764).ToString();
  18.        }
  19.    }
  20.  
  21.    internal class PEPE
  22.    {
  23.        [DllImport("pepe.dll", EntryPoint = "_Suma@8")]
  24.        extern static public int Suma(int a, int b);
  25.        [DllImport("pepe.dll", EntryPoint = "_Mensaje@0")]
  26.        extern static public IntPtr Mensaje();
  27.    }
  28. }

Como dije antes, el problema está en el TEXT que dice el error:  el tipo de valor devuelto no coincide con el tipo de función.

¿Alguna idea?

Saludos.
135  Seguridad Informática / Hacking / Usando Ubunto de arranque para borrar archivos Windows en: 9 Junio 2018, 10:50 am
Hola:

Quiero entrar en una cuenta de usuario de Windwos 7 usando Ubuntu desde arranque el DVD. No se si oopenSUSE nuevo lo permite también. Recuerdo que monté hasta un pendrive mio. Borré archivos en él y me creó como una papelera de reciclaje virtual, nunca borré esos archivos realmente, así que estará en el disco duro si borro algo de la cuenta de usuario. La carpeta que hizo de papelera de reciblaje en el pendrive en este caso se llama .Trash-999.

Pensé que si entro en modo arranque con Ubuntu, no se daría cuenta el usuario de Windows y si se dio, ya que hizo limpieza y borró hasta el Counter Strike 1.6 que tenía instalado él.

Se pone mucho a mirar el Visor de Eventos para saber si instalo o desinstalo algo, sobre todo el inicio de sesión con WinLogon. Entro en el directorio.
Citar
C:\Windows\System32\winevt\Logs

Encuentro todos los registros.


Cogí desde Ubunto este archivo para saber cuando entro o salgo de inicio de sesión de la cuenta de usuaruio.
Citar
Microsoft-Windows-Winlogon%4Operational.evtx

Por esta extensión.
Citar
Microsoft-Windows-Winlogon%4Operational.evtx.back.

Al iniciar Windows, se volvió normal el archivo y no he borrado nada.

¿Alguna manera de borrar ese archivo, al menos los contenido de los iniciios y cierres de la cuenta de Windows?

Saludos.
136  Seguridad Informática / Seguridad / Visor de eventos en: 8 Junio 2018, 06:00 am
Hola:

Estoy en una clase, por la tarde etán dando un curso que no se quienes son instalándome el Counter Strike 1.6. Antes en mi cuenta tenía el administrador. Saben que borré programas porque vieron el visor de sucesos, lo se porque entré con el Ubuntu arranque del disco y vi una captura.

Hay cosas que quiero saber. usan el Windows 7. Al borrar un archivo de esa carpeta de Windows gracias a Ubuntu sin instalar, solo arranque desde el disco, borré archivos de un pendriver y me creó una Papelera de reciclaje virtual.

Pos eso sospecho que todo lo que borre, en Windows lo sabe porque dejo rastros en algún lado.

¿Alguna conclusión?

A parte de esto.Trabajando ya directamente en Windows, no tengo cuenta de administrador, intento acceder a otras cuentas de usuari y no me deja, algo que es normal.

¿En algún lado se sabe que intento entrar en su cuenta y que me bloquea por no ser adm?

Cuando antes tenía adm, en el visor de eventos aparece esto, MsiInstaller, fecha, hora y usuario quien desinstaló programas.

Como siempre está con el Counter, borré los ejecutable hk.exe, vuelve a instalarlo. Sustituí ese ejecutable de inicio del juego por otro con este código en C#.

Código
  1. using System.Diagnostics;
  2.  
  3. namespace Apagar_PC_Consola_cs_01
  4. {
  5.    class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.            var psi = new ProcessStartInfo("shutdown", "/s /f /t 0");
  10.            psi.CreateNoWindow = true;
  11.            psi.UseShellExecute = false;
  12.            Process.Start(psi);
  13.        }
  14.    }
  15. }

Solo apaga el ordenador desde que ejecute el acceso directo apuntando al hl.exe que sustituí, por lo que vi, si lo ejecuta, con ver el visor de eventos WinLogon, se que se le apagí y lo volvió a encender, pero no fue así, borró la carpeta Counter-Strike-1.6 que tenía instalado. Me ha pillado que ando por ahí. ;)

Por ahora pienso que me quiere pillar, ajajajaj. Con arranque de Ubunto no dejo pistas, pero si borro algo si.

¿Alguna sugerencia?

Saludos.
137  Programación / .NET (C#, VB.NET, ASP) / No funciona el código en: 8 Junio 2018, 04:39 am
Hola:

Tengo este código de abajo. Solo es un Form y un label. Tiene que alterar los colores con el tiempo de 0.05 segundos, en este ejemplo puse 500 ms para ver el cambio. Mientras el form esté de color blanco, label tiene que estar en negro, luego cambia al revés, es decir, el forma de blanco se pone en negro y las letras del lebel del negro al blanco así por cada cierto tiempo. Nunca muestra el form en pantalla.

Código
  1. using System.Drawing;
  2. using System.Threading;
  3. using System.Windows.Forms;
  4.  
  5. namespace Apruebalos_a_todos_cs
  6. {
  7.    public partial class Form1 : Form
  8.    {
  9.        public Form1()
  10.        {
  11.            InitializeComponent();
  12.  
  13.            while (true)
  14.            {
  15.                cambioColor();
  16.                Thread.Sleep(500);
  17.                cambioColor2();
  18.                Thread.Sleep(500);
  19.            }
  20.        }
  21.  
  22.        void cambioColor()
  23.        {
  24.            this.BackColor = Color.Black; // Formulario negro.
  25.            //this.ForeColor = Color.White; // Cambia textos en blanco.
  26.            label1.ForeColor = Color.White;
  27.        }
  28.  
  29.        void cambioColor2()
  30.        {
  31.            this.BackColor = Color.White; // Formulario blanco.
  32.            //this.ForeColor = Color.Black; // Cambia textos en negro.
  33.            label1.ForeColor = Color.Black;
  34.        }
  35.    }
  36. }

¿Qué hago mal?

Saludos.
138  Seguridad Informática / Hacking / Borrar archivo siendo cuenta limitada en: 29 Mayo 2018, 00:33 am
Hola:

Tengo un ordenador que alguien instala Counter Strike 1.6. No puedo borrarlo porque no soy administador. Tampoco desinstalar, acceso denegado.

¿Existe algún truco de borrarle el juego?

Se trabaja con Windows 7.

Saludo.
139  Programación / .NET (C#, VB.NET, ASP) / Controlando estados de los mensajes en: 4 Mayo 2018, 00:17 am
Hola:

Por fin a base de código y comiando desde C#, he logrado hacer que muestre en modo visual el F#, normalmente es en consola, pero bueno.



Quiero lograr de alguna vez por todas, que al pulsar el botón abrir, en el momento que lo pulses, dice el mensaje "Abriendo...".

Cuando la bandeja del lector se abrió del todo, dice, "Abierto.".

Logro que abra y cierre la bandeja pero no que muestre los mensajes.

¿Alguna idea?

Sigo dándole caña, me cansé.

Código Visual F#:
Código:
// En Opciones de Lector_Form_fs en el Explorador de soluciones.
// Con el segundo botón del ratón, en Tipo de salida: Aplicación Windwos.

open System
open System.Text
open System.Windows.Forms // Añadir refrencias.
open System.Drawing // Añadir referencias.
open System.Runtime.InteropServices

// Importar librería o dll externo.
[<DllImport("winmm.dll")>]
extern int mciSendString(string lpstrCommand, StringBuilder lpstrReturnString,
        int uReturnLength, IntPtr hwndCallback)

let rt = StringBuilder(127)

// Método necesario para admitir el Diseñador. No se puede modificar
// el contenido de este método con el editor de código.
let form = new Form()
let label_Mensaje = new Label()
let groupBox_Bandeja = new GroupBox()
let button_Abrir = new Button();
let button_Cerrar = new Button();
groupBox_Bandeja.SuspendLayout()
form.SuspendLayout()

// groupBox_Bandeja
groupBox_Bandeja.Controls.Add(button_Abrir) // Añadir botones en el
groupBox_Bandeja.Controls.Add(button_Cerrar) // groupBox_Bandeja.
groupBox_Bandeja.Location <- Point(22, 118)
groupBox_Bandeja.Name <- "groupBox_Bandeja"
groupBox_Bandeja.Size <- Size(227, 90)
groupBox_Bandeja.TabIndex <- 0
groupBox_Bandeja.TabStop <- false
groupBox_Bandeja.Text <- "Bandeja:"

// button_Abrir
button_Abrir.Location <- Point(26, 39)
button_Abrir.Name <- "button_Abrir"
button_Abrir.Size <- Size(75, 23)
button_Abrir.TabIndex <- 0
button_Abrir.Text <- "&Abrir"
button_Abrir.UseVisualStyleBackColor <- true

// button_Cerrar
button_Cerrar.Location <- Point(129, 39)
button_Cerrar.Name <- "button_Cerrar"
button_Cerrar.Size <- Size(75, 23)
button_Cerrar.TabIndex <- 1
button_Cerrar.Text <- "&Cerrar"
button_Cerrar.UseVisualStyleBackColor <- true

// label_Mensaje
label_Mensaje.AutoSize <- true
//label_Mensaje.Font <- Font("Microsoft Sans Serif", 36, FontStyle.Bold, GraphicsUnit.Point, ((byte)(0)))
label_Mensaje.Location <- Point(12, 9)
label_Mensaje.Name <- "label_Mensaje"
label_Mensaje.Size <- Size(52, 55)
label_Mensaje.TabIndex <- 1
label_Mensaje.Text <- "?"
form.Controls.Add(label_Mensaje) // Añadir en el formulario.

// Crear formulario.
let AutoScaleDimensions = new Size(6, 13)
form.AutoScaleMode <- AutoScaleMode.Font
form.BackColor <- Color.FromArgb(((int)(((byte)(114)))), ((int)(((byte)(54)))), ((int)(((byte)(161))))) // Color violeta.
let ClientSize = new Size(284, 261)
form.Controls.Add(groupBox_Bandeja) // Añadir en el formulario.
form.Name <- "Form1"
form.StartPosition <- FormStartPosition.CenterScreen
form.Text <- "Visual F# 2017"
groupBox_Bandeja.ResumeLayout(false)
form.ResumeLayout(false)
form.PerformLayout()
//----------------------------------------------------------------------------------

// Abrir la bandeja.
let mensajeA abr = label_Mensaje.Text <- "Abriendo..."
let abr = label_Mensaje.Click.Add(mensajeA)
Application.DoEvents()
let button_Abrir_Click abrir = mciSendString("set CDAudio door open", rt, 127, IntPtr.Zero) |> ignore
let abrir = button_Abrir.Click.Add(button_Abrir_Click)
let mensajeAbierto2 ao = label_Mensaje.Text <- "Abierto."
let ao = label_Mensaje.Click.Add(mensajeAbierto2)

// Cerrar la bandeja.
let button_Cerrar_Click cerrar = mciSendString("set CDAudio door closed", rt, 127, IntPtr.Zero) |> ignore
let cerrar = button_Cerrar.Click.Add(button_Cerrar_Click)

[<STAThread>]
Application.Run(form)

Saludos.

PD: ¿Por qué Microsoft no hizo o hace una buena plantilla para crear formularios Windwos o WPF como se hace con C# y VB .net? Está dedicado a modo consola, pero en Visual, hay que programar todo.
140  Programación / .NET (C#, VB.NET, ASP) / Detectar disco duro externo por USB en: 16 Abril 2018, 23:16 pm
Hola:

Quiero ahcer un programa que al insertar un PenDrive o una disco duro externo por USB, lo detecte y borre todos los datos en su interior. Primero detecta, a los 10 segundos empieza a borrar todo.

Lo que he hecho pruebas que al conectar mi pendrive, es la letra L. Mi idea es tener siempre el programa en StartUp o inicio de Windows para que siempre esté activo, asechando que detecte una unidad L: para ser borrado.

He hecho este programa que solo lee todo lo que hay y se queda ahí. En C#.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Detector_PenDrive_HDD_Consola_01
  9. {
  10.    class Program
  11.    {
  12.        static void Main(string[] args)
  13.        {
  14.            // Título de la ventana.
  15.            string titulo = "Detectar alamcenamiento - C# 2017";
  16.            Console.Title = titulo;
  17.  
  18.            // Tamaño ventana consola.
  19.            Console.WindowWidth = 80; // X. Ancho.
  20.            Console.WindowHeight = 40; // Y. Alto.
  21.  
  22.            DriveInfo[] allDrives = DriveInfo.GetDrives();
  23.  
  24.            foreach (DriveInfo d in allDrives)
  25.            {
  26.                Console.WriteLine("Drive {0}", d.Name);
  27.                Console.WriteLine("  Tipo de unidad: {0}", d.DriveType);
  28.                if (d.IsReady == true)
  29.                {
  30.                    Console.WriteLine("  Etiqueta de volumen: {0}", d.VolumeLabel);
  31.                    Console.WriteLine("  Sistema de archivos: {0}", d.DriveFormat);
  32.                    Console.WriteLine(
  33.                        "  Espacio disponible para el usuario actual:{0, 15} bytes",
  34.                        d.AvailableFreeSpace);
  35.  
  36.                    Console.WriteLine(
  37.                        "  Espacio total disponible:          {0, 15} bytes",
  38.                        d.TotalFreeSpace);
  39.  
  40.                    Console.WriteLine(
  41.                        "  Tamaño total de la unidad:            {0, 15} bytes ",
  42.                        d.TotalSize);
  43.                }
  44.            }
  45.  
  46.            // Pulse cualquier tecla para salir.
  47.            Console.ReadKey();
  48.        }
  49.    }
  50. }

Si el programa está ejecutado, y introduces el pendrive o disco duro externo por USB, parace que necesita un plug & play. Esto parece complicado.

¿Alguna idea?

Saludos.
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 29 ... 66
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines