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


 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 914
1  Programación / .NET / Re: Crear controles con codigo C# en: Hoy a las 15:11
como seria el codigo

Hola. Aquí no se hacen tareas. Esto es un foro de programación, no un servicio de códigos regalados. Muestra tus progresos y plantea una duda específica en base a ello.

me explico en la duda?

Primero dijiste que solamente quieres crear controles en tiempo de ejecución, y luego dices que lo que quieres es crear controles de usuario personalizados, así que no queda claro lo que quieres, si lo primero, lo segundo, o ambos.

- ¿Cómo crear controles estándar en tiempo de ejecución?.

- ¿Cómo crear controles de usuario personalizados?.

¡Saludos!
2  Programación / .NET / Re: Serializar objetos en XML (XmlSerialization, XDocument, XmlWriter, etc) en: Hoy a las 07:35
Hola. Si el problema es que quieres serializar varios elementos del mismo tipo y en un mismo archivo, entonces serializa una colección de elementos, por ejemplo la colección genérica y serializable List(Of T).

Ejemplo con un tipo personalizado:

Código
  1. <Serializable>
  2. <XmlRoot("PacketInfo")>
  3. Public Class PacketInfo ' : Implements IXmlSerializable
  4.  
  5.    <XmlElement("Value")>
  6.    Public Property Value As String
  7.  
  8.    Public Sub New()
  9.    End Sub
  10.  
  11.    Public Sub New(ByVal value As String)
  12.        Me.Value = value
  13.    End Sub
  14.  
  15. End Class

+

Código
  1. Dim piList As New List(Of PacketInfo)
  2. Dim pi1 As New PacketInfo("value1")
  3. Dim pi2 As New PacketInfo("value2")
  4. piList.AddRange({pi1, pi2})
  5.  
  6. ' Serialize
  7. Dim sr As New XmlSerializer(GetType(List(Of PacketInfo)), {GetType(PacketInfo)})
  8. Using fs As New FileStream("Packets.xml", FileMode.Create)
  9.    sr.Serialize(fs, piList)
  10. End Using
  11.  
  12. ' Deserialize
  13. piList.Clear()
  14. Using fs As New FileStream("Packets.xml", FileMode.Open)
  15.    piList = DirectCast(sr.Deserialize(fs), List(Of PacketInfo))
  16. End Using
  17.  
  18. sr.Serialize(Console.Out, piList)

¡Saludos!
3  Programación / Scripting / Re: Duda linea de python en: Hoy a las 06:39
Si estás en Windows y tienes pensado utilizar/asignar caracteres del idioma Español dentro del código fuente y/o representar dichos caracteres en la consola, entonces primero guarda tu documento .py usando la codificación ANSI adecuada, y luego especifica el código de página/codificación respectivamente dentro del código fuente (CP1252 / Windows-1252 / Latin-1).

Código
  1. # -*- coding: Windows-1252 -*-
  2.  
  3. print 'áéíóú àèìòù äëïöü ñ ç'.decode('Windows-1252')

¡Saludos!
4  Programación / .NET / Re: Como podría remover el HTML de una página web con C#? en: Hoy a las 06:08
Si te refieres a eliminar el código interno, el Html, para dejar solamente el texto asignado en los atributos, campos o tags, tan solo tienes que utilizar la propiedad InnerText del tipo HtmlElement.

Tomando este documento html de ejemplo:
Código
  1. <!DOCTYPE html>
  2.    <HEAD>
  3.        <TITLE>My Title</TITLE>
  4.    </HEAD>
  5.    <BODY>
  6.        <h1>My Heading</h1>
  7.        <p>My Paragraph</p>
  8.   </BODY>
  9. </HTML>

Lo cargamos en una nueva instancia del tipo WebBrowser y...
Código
  1. string html = File.ReadAllText("C:\\Document.htm");
  2.  
  3. using (WebBrowser wb = new WebBrowser()) {
  4.    wb.ScriptErrorsSuppressed = true;
  5.    wb.DocumentText = html;
  6.    wb.Document.OpenNew(replaceInHistory: true);
  7.    wb.Document.Write(html);
  8.    wb.Refresh();
  9.  
  10.    Console.Write(wb.Document.GetElementsByTagName("HTML")[0].InnerText);
  11. }

Resultado de ejecución:
Cita de: Visual Studio's Debug Console
My Title
My Heading
My paragraph

PD: Este ejemplo es con un archivo local, pero puedes hacer lo mismo descargando una página online, por supuesto.

¡Saludos!
5  Foros Generales / Foro Libre / Re: La verdad sobre "el negocio del cancer" y la Quimioterapia... en: Hoy a las 05:18
¿Será cancer, o que no me sienta bien algo?

Ve a que te examine un médico, alguien cualificado para poder darte un análisis...

saludos!
6  Foros Generales / Foro Libre / Re: Steve Jobs y yo ...tenemos algo en común en: Hoy a las 05:04
¿En serio creeis en esa tontería del horóscopo?. Todo el mundo sabe (como el sarcástico de #drvy) que son pronósticos construidos por frases conjugadas de una forma en la que siempre van a "acertar" en algo, tanto si ese pronóstico va dirigido a un astro zodíaco u otro, se llama manipulación, por que las frases están manipuladas y generalizadas para adivinar algún detalle de tu vida o tu comportamiento si o si, y solo hay que leer el ejemplo que puso @drvy para entender esto que estoy diciendo...

A veces eres extrovertida, afable, y sociable, mientras que otras veces eres introvertida, precavida y reservada.

PD: Por cierto, yo soy Virgo :xD

¡Saludos!
7  Programación / Programación General / Re: como se hacen los programas .exe ? en: Hoy a las 04:05
el programa que menciono, en base a que codigo esta hecho ? o con que programa... como puedo saber eso, esa es mi duda

Puedes cargar el archivo executable en un visor hexadecimal para analizar la estructura de datos del formato PE de dicho executable, en concreto su firma o número mágico, y así tratar de identificar (en base a un porcentaje de probabilidades) que lenguaje se utilizó para su desarrollo.

Hay aplicaciones dedicadas a este tipo de análisis en donde solo tienes que cargar el archivo y te muestra los resultados del análisis, como por ejemplo PEiD o TridNet.


Otra forma sería mediante la intuición, pues en muchos casos no es nada dificil averiguar que lenguaje de programación han usado para desarrollar una aplicación, basándose en el tipo y el aspecto de los controles de la interfáz gráfica (es muy facil identificar a ojo algunas tecnologías como WPF) y en las dependencias del programa, si por ejemplo usa ensamblados de .NET o archivos específicos de otros lenguajes. O simplemente analizando las librerías de Windows que se cargan y cuales runtimes, al iniciar el executable.



vi que algunos se hacian con visual studio, pero por ejemplo los programas como "Megadownloader" que es para descargar desde megashare tambien esta hecho asi ?

Visual Studio es una IDE (un entorno de programación) no un lenguaje. El lenguaje C# pertenece a la plataforma .NET Framework, la cual soporta otros varios lenguajes, y no puedes averiguar si un programa ha sido desarrollado específicamente en un lenguaje en concreto de .NET Framework (como C#, VB.NET, o VC++ managed) ya que a pesar de ser lenguajes diferentes son en esencia lo mismo por que todos compilan el mismo set de instrucciones bajo el CLR de Microsoft (y una vez descompilado un executable d e.NET, se pueden representar las instrucciones en cualquiera de los lenguajes soportados por .NET), así que en todo caso lo que puedes identificar (sin disponer del código fuente o de información oficial sobre como se desarrolló) es saber si se trata o no de un ensamblado .NET, pero no saber si fue escrito en C#, F#, VB.NET, o etc...



Según he mirado por ahi, parecer ser que está escrito en C#

Una forma unicamente específica y segura al 100% para comprobar si un executable ha sido desarrollado bajo alguno de los lenguajes soportados por .NET Framework (C#, VB.NET, etc) sin necesidad de trabajar con aplicaciones externas a Visual Studio para la identificación, sería mediante la tecnología Reflection, intentando cargar el executable mediante ciertos miembros disponibles en la librería de clases de .NET Framework para ese fin, ya que estos solo soportan la carga de ensamblados .NET.

(También podemos utilizar otras aplicaciones especializadas con el mismo fin, descompiladores como .NET Reflector de RedGate)

Mediante esta metodología, podemos comprobar que la aplicación "MegaDownloader", que supongo te refieres a esta de aquí: http://megadownloaderapp.blogspot.com.es/2013/01/enlaces-de-descarga-castellano.html -efectivmente ha sido desarrollada bajo .NET Framework, concretamente bajo la versión 4.0.

Para concluir si la aplicación ha sido desarrollada concretamente en el lenguaje C#, lo podriamos intentar mediante el descarte, comprobando las referencias del executable. En este caso el tal "MegaDownloader" no incluye una referencia directa a la librería Microsoft.VisualBasic.dll la cual sí que se incluye por defecto como referencia en un executable escrito bajo el lenguaje VB.NET, pero lo cierto es que esto es una conclusión inconcluyente. También podriamos analizar/monitorear en profundidad las dependencias que se cargan por el executable con aplicaciones como Dependency Walker, pero esto sería igual de inconcluyente... .NET es .NET, no solamente C#, ni VB.NET.

¡Saludos!
8  Programación / Scripting / Re: duda comandos batch en: Hoy a las 03:47
Citar
Código:
setlocal enabledelayedexpansion

Sirve para habilitar la expansión de variables en tiempo de ejecución.




Citar
Código:
set cadena1=%1

A la variable "cadena1" se le asigna como valor el argumento nº1 que se le haya enviado al script por linea de comandos.

Ejemplo:
Código:
Start /B "" "Script.cmd" "Argumento 1" "Argumento 2"




Citar
Código:
if "!cadena:~%contador%,1!" neq "" set /a "contador+=1" & call :CreaLetra !cadena:~%contador%,1! & goto ciclo

La sintaxis de esa condicional es penosa, no la tomes como un buen ejemplo a seguir. Debes asegurarte de utilizar los símbolos de apertura y de cierre de grupos de comandos ( ).


Código
  1. If "!cadena:~%contador%,1!" NEQ "" (
  2. set /a "contador+=1"
  3. call :CreaLetra !cadena:~%contador%,1!
  4. goto ciclo
  5. )

Si tu le pasas el argumento "vaca" al script, la variable "%contador%" se usa para realizar un substring en la cadena de texto "vaca" con el que iterar cada caracterer por individual {"v", "a", "c", "a"} y seguidamente llama a la subrutina "CreaLetra" para construir la letra ASCII del caracter correspondiente.



Citar
Código:
set palabra1=
se supone que set es para declarar una varaible, pero ahi a palabra1 no se le asigna nada

En ciertos lenguajes de programación, el programador puede decidir si desea declarar en la "cabecera" del código todas las variables que se vayan a usar en su código, de esta manera estará siguiendo una guía de diseño para denotar la existencia de esas variables, y eso hará que el código sea más comprensible a la hora de analizarlo. La asignación vacía de variables en Batch se suele utilizar para el mismo fin. No se si me he explicado del todo bien. En otras palabras: simplemente es una forma de organizar el código.

También sirve para eliminar un valor que se haya asignado previamente a esa variable, pero este no es el caso.



Citar
Código:
set palabra1=%palabra1% ^ ######

Las palabras se forman mediante 6 variables (%palabra1% a %palabra6%) cada una de ellas corresponden a los caracteres que se mostrarán en cada linea por invididual para construir el código ASCII. La variable "palabra1" contiene el código ASCII de la primera linea de los caracteres que se hallan procesado.

Si por ejemplo le pasas el argumento "ba" al script, esto sería el valor de la variable %palabra1% en la primera asignación de la letra "A":

Código:
:Letra_a  
set palabra1=  #####    ^   ##

Y con respecto al operador "^" pues sencillamente es algo innecesario para el funcionamiento del algoritmo, no realiza ninguna función en ese código, literálmente no hace nada... ya que no está escapando ningún caracter. Quizás lo ha puesto ahí simplemente para denotar el inicio de cada conjunto de caracteres de almohadillas (#), por que queda "bonito" y ya.

¡Saludos!
9  Programación / Scripting / Re: Programación Batch. Sumatorio en: Hoy a las 02:52
Hola. En Batch sencillamente no puedes tratar de trasladar la sofisticación de un algritmo de un lenguaje orientado a objetos. Batch es una herramienta básica para automatizar tareas cotidianas del sistema, no un lenguaje de programación como tal. De hecho no tiene la capacidad para escribir whiles/untils. Como mucho puedes escribir un búcle que realize una iteración basándose en un rango numérico (For /L) de nMin a nMax.

Puedes usar las etiquetas junto a la sentencia GoTo para tratar de imitar el procedimiento que has mostrado de Java, pero un uso excesivo de (miles de saltos de) GoTo desembocará en un desbordamiento de la pila...

Código
  1. @Echo Off
  2.  
  3. Set /A "value=5"
  4. Set /A "sum=0"
  5. Set /A "count=%value%"
  6.  
  7. :Loop
  8. Set /A "sum+=%count%"
  9. Set /A "count-=1"
  10. If %count% NEQ 0 (GoTo :Loop)
  11. :: Loop End
  12.  
  13. Echo:El sumatorio de %value% es %sum%

Resultado de ejecución:
Código:
El sumatorio de 5 es 15

PD: No manejo Java, pero analizando la sintaxis por encima deduzco que eso es lo que debería hacer el código de Java que pusiste. Si hubieras puesto el resultado que da el código de Java entonces habria sido más facil de entender para todos.

¡Saludos!
10  Sistemas Operativos / Windows / Re: como ver contenido de un programa exe en: Hoy a las 02:30
me gustaria saber como puedo abrir un exe de esos para ver el codigo de programacion que tienen , o sea ver que es lo que hace el programa, a que rutas accede y eso...

Aparte de lo que ya te han comentado, depende del parcheador, por que hay varios tipos de metodologías. Un parche puede tener la funcionalidad de escribir/manipular los offsets del executable objetivo, o simplemente el parche podría contener el archivo objetivo ya modificado y simplemente realizar una operación de reemplazamiento de archivos. O tal vez el parche en cuestión no modifica ningún exe objetivo sino claves de registro o archivos de text plano...

Para saber los archivos que manipula un executable/parche, te sirve con utilizar cualquier software de monitorización del sistema de archivos, como por ejemplo Moo0 File Monitor. Para saber que claves de registro se manipulan, lo mismo, un monitor de registro como por ejemplo Regshot (la versión Unicode de 64 Bits). Y para saber que cambios específicos se realizan en los offsets/bytes del executable objetivo a parchear (si alguno), pues lo que ya te han dicho, puedes usar un descompilador o desensamblador para analizar las instrucciones originales del programa, o también puedes utilizar cualquier software de comparación de archivos byte a byte (por método Diff) como por ejemplo Ultra Compare.


¡Saludos!
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 914
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines