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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 [120] 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 ... 166
1191  Programación / .NET (C#, VB.NET, ASP) / Re: Iniciando C# en: 17 Noviembre 2012, 22:58 pm
Antes de programar imagino que planificareis todo la estructura del programa (todas las opciones de los menús, excepciones, algoritmos, entrelazado de utilidades, etc).
Creo que habrá que tenerlo todo muy muy muy estudiado antes de empezar a programar. Hay aplicaciones que se podrán hacer mentalmente pero cuando es un programa extenso, ¿como planificáis todo?, ¿mentalmente, libreta, algún programa?.

En mi caso, bajo mi opinión, siempre intento ser lo más ordenado posible. Cuando tengo que resolver un problema, aunque pueda hacerlo mentalmente, si éste es extenso suelo resolverlo en folios, pues me aporta una mejor comprensión una vez finalizado el proceso.

Te sugiero que evalues los casos críticos que puedan darse en tu programa, es decir, los casos de prueba (en la universidad te rayan demasiado con esto menudos son xD), una vez los hayas estudiado pues es importante que pienses en como implementar lo que tengas pensado. Intenta que tus algoritmos, es decir, el código que utilices para resolver el problema, sea lo más claro posible y siga un orden estructurado, porque sino dejarías todo bastante lioso y hazme caso, si lo revisaras en unas semanas te sería complicado de entender. Intenta que estén lo más optimizados posibles. Como consejo, si estás haciendo una calculadora piensa como está estructurada una calculadora, si piensas en hacer un keylogger piensa en como está éste estructurado, de esta manera más o menos puedes hacerte a la idea de como programarlo.

En cuanto al diseño, nunca ha sido una preocupación, es lo último en lo que pienso, aunque sea una pieza elemental para la interacción Ordenador-Usuario, sólo tienes que tener una idea de con que controles vas a trabajar en la aplicación, eso sí, dales nombres identificatorios que sean descriptivos, pues tendrás que trabajar con algunos que estén repetidos.
1192  Programación / Ingeniería Inversa / Re: Seguridad de un programa en: 17 Noviembre 2012, 16:44 pm
Buenas de nuevo!

Os cuento mis progresos, pues me he documentado acerca del Generador de Imágenes Nativas (Ngen.exe) del NET Framework y lo he utilizado en ensamblados como .dll y .exe.
Si aplicas ngen en cualquier ensamblado de .NET, el archivo resultante será la imágen en código nativo del anterior, pero claro, como anteriormente dije, necesitamos del Framework para poder ejecutarlo.

¿Por qué? Bueno, en dicho archivo generado por el ngen.exe no se habrá eliminado el código MSIL del ejecutable original ni sus metadatos. Aunque el código MSIL no sea útil ya que no necesitamos del compilador en tiempo de ejecucción del Framework, tenemos información relevante en los metadatos del ejecutable y dichos metadatos serán agregados a la sección del MSIL (código intermedio). Esto quiere decir que la aplicación generada por el ngen.exe tendrá código nativo e intermedio, por lo que este último no será eliminado haciendo que la aplicación sea fácilmente decompilada y posteriormente descifrada.

Hay protectores de código que emplean el método de generación de imágenes nativas a partir de un ejecutable, la diferencia es que estos protectores eliminan la sección de código intermedio MSIL y sólo dejan código nativo en la aplicación final, pero como ya dije, su precio tiende a ser caro.

También he estado probando packers para .NET, que como ya sabreis, empaquetan el código del ejecutable que le pasemos al packer y le meten una rutina de desempaquetamiento y cargado del ensamblado. De esta manera añadiendo capas y capas de Protección a ambos códigos tendríamos un ejecutable lo suficientemente seguro.

Saludos.
1193  Programación / .NET (C#, VB.NET, ASP) / Re: Winsock en vb.net en: 16 Noviembre 2012, 23:45 pm
Busca sobre Sockets Asincronos, ya que optimizan el rendimiento de las conexiones entre los nodos del Socket.

Saludos.
1194  Programación / Ingeniería Inversa / Re: Seguridad de un programa en: 16 Noviembre 2012, 22:41 pm
Gracias apuromafo por tus aportes, pues me he pasado estos días leyendo varios de ellos y j oder que fácil es crackear un ensamblado .NET, esté ofuscado o no.

De vuelta al tema, he probado un Protector para .NET, el "Phoenix Protector" y me ha funcionado a las mil maravillas, ya que aunque lo desofusce con de4dot desofuscator no se ve mas que las clases y métodos que utilizo, pero la parte de las Strings queda protegida y los nombres de las funciones quedan encriptadas. Está claro que no voy a hardcodear nada en el programa, pero aun así me interesa que no se pueda acceder a la parte donde llamo al fichero donde se encuentran las credenciales encriptadas.

He leído que el Ngen.exe (no lo he testeado), que es el programa que traduce el código intermedio MSIL a código nativo, necesita del Framework de .NET en la máquina que ejecute el programa compilado a nativo. Encontré buenas referencias a la suite de Salamander .NET, que incluye herramientas de decompilación, varios tipos de ofuscación, protección de código y compilación a nativo, eso sí es carillo.

A ver si encuentro alguna aplicación para compilar a nativo sin ser dependiente del Framework de .NET (testearé el Ngen.exe) y os cuento, pues suena interesante no depender del compilador Just-in-Time (JIT), además que nuestras aplicaciones ganarían velocidad en su ejecucción.

Saludos!
1195  Programación / .NET (C#, VB.NET, ASP) / Re: Iniciando C# en: 16 Noviembre 2012, 22:33 pm
Como se ve que el tema de programación te gusta, aunque no sea un camino de rosas, iras formándote en base a lo que estudies, y si le dedicas tiempo en unos meses tendrás la mentalidad y la suficiente técnica/salida para desarrollar tus primeros programas sin ayuda de escritos o manuales. Dedícale el tiempo que veas necesario, abusa si quieres xD y lo bueno que en este foro además de encontrar temas sobre lo que controlas puedes formarte en otros temas e integrarlos en tus programas jejejej

Yo ya te lo digo, lo bueno de programar es que tienes salidas por doquier ya que puedes orientar tus aplicaciones a ciertas partes de la informática, siempre del lado ético (aunque a veces "nos pongamos el sombrero negro").

Por último algo importante, como programaras en C# pues estarás usando el Framework de .NET, donde se incluyen Clases y métodos a mogollon, claro está que el libro te explicará los más importantes y no abarcará todas las incluidas en el Framework. Cuando tengas una duda sobre que clase utilizar, visita el sitio web del MSDN de Microsoft, que no es más que un sitio web donde se exponen todos las clases del Framework así como la utilización de sus métodos y propiedades. Vital para la resolución de problemas en .NET

Aquí buscas todo lo relacionado con clases u métodos del Framework de .NET http://msdn.microsoft.com/es-es/library/default.aspx

Espero que te haya servido de ayuda,

Saludos!
1196  Programación / .NET (C#, VB.NET, ASP) / Re: Iniciando C# en: 16 Noviembre 2012, 18:12 pm
En esta sección de .NET puedes encontrar bastantes ejercicios resueltos con los que podrás comprobar su funcionamiento, modificarlo y aprender sobre éstos.
Échale un vistazo -> http://foro.elhacker.net/net/programas_en_cnet_basico-t182933.0.html

Yo fuí autodidacta y no me arrepiento de ello, pues la motivación es la mejor manera de emprender un proyecto y de aprendizaje, cosa que a mi no me falta. Empezé por VB .NET un lenguaje sencillo, cuya sintaxis es parecida al lenguaje humano. Al igual que tú me hice con un libro y lo estudié a fondo, aunque la teoría sea importante, la prática no es tan sencilla por lo que tienes que plantearte que programas quieres desarrollar y con lo que hayas aprendido pues estudiar como desarrollarlos.

Es importante pasearte por sitios donde compartan códigos, ideas y proyectos programados en el mismo lenguaje que utilices, así como aprender otro tipo de lenguajes, pues aprenderás muchas técnicas de programación que en los libros que hayas leído no aparezcan.

Saludos!
1197  Foros Generales / Noticias / Re: Sentencian a 15 años a un pirata americano en: 14 Noviembre 2012, 19:35 pm
Causa impresión ver casos como éste, sin embargo si te dedicas a vender contenido protegido por derechos de autor en un estado donde las leyes son tan severas eres completamente idiota xD Es un "se lo ha buscado en toda regla".

Eso sí, soprende ver que le sentencien a 15 años de prisión, aunque me imagino que no cumplirá la condena completa.

Saludos!
1198  Seguridad Informática / Hacking / Re: clic automáticos en publicidad de un blog en: 13 Noviembre 2012, 08:47 am
¿Podría ser factible el uso de malware para generar ganancias mediante masivas visitas a links publicitarios? Es la manera "más cercana" a lo que tu pides, sin embargo, ¿funcionaría?. He leído que hay varios tipos de malware, que al infectar el host una de sus funcionalidades es la de visitar links publicitarios para ganar beneficios, crear usuarios referidos a una cuenta existente etc.

¿Cómo lo veis?

Saludos!
1199  Programación / .NET (C#, VB.NET, ASP) / Re: dudas con memoria no administrada en: 8 Noviembre 2012, 23:47 pm
Bueno, hace poco estuve comentando la inseguridad que brinda .NET en ciertos aspectos, como puede ser la decompilación y el posterior desciframiento del código, esté ofuscado o no. Esto se debe a que .NET es un lenguaje interpretado (no es compilado) y se compila a MSIL, un lenguaje intermedio que puede ser interpretado fácilmente y llevado a .NET
Cabe decir que si ejecutas dicha aplicación .NET, el código MSIL de la app será traducido a código máquina o nativo. Esto es una gran putada xD pero un lenguaje compilado también puede ser descifrado, no todo es de color de rosas.

Link al post sobre inseguridad .NET -> http://foro.elhacker.net/ingenieria_inversa/seguridad_de_un_programa-t375088.0.html

Veo que intentas realizar un login desde tu aplicación, por lo que en algún lado de tu código debes de tener información sensible como tus credenciales o lo que sea. Hay maneras alternativas y buenas prácticas de programación mediante código para evitar que un cracker se haga con dicha info.

Espero que te haya servido de algo, cualquier cosa que quieras comentar bienvenida sea.

Saludos!
1200  Seguridad Informática / Hacking / Re: PUERTO ESCUCHA NETCAT en: 6 Noviembre 2012, 08:23 am
Sé creativo, aplica la ingenería social ...
Páginas: 1 ... 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 [120] 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 ... 166
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines