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 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 50
231  Programación / .NET (C#, VB.NET, ASP) / Re: Extraccion de datos del texbox en: 7 Octubre 2011, 05:19 am
En resumen if lo vas a usar para comprobar cualquier condición y try para capturar error. Como ya te habia dicho $Edu$, la mayoria de los tipos tienen TryParse, que devuelve false cuando no se pudo convertir.

Código
  1. int variable;
  2. bool conver;
  3.  
  4. conver = int.TryParse(textbox1.text, out variable));
  5.  
  6. if (conver == false)
  7. {
  8. MessageBox.Show("Introduzca un numero valido!");
  9. }
232  Programación / .NET (C#, VB.NET, ASP) / Re: Extraccion de datos del texbox en: 7 Octubre 2011, 03:45 am
Es algo complicado que entiendas porque pasa eso porque eres nuevo en el tema, sin animos de ofender ;D te explicare lo mas sencillo que pueda

Yo se lo que intentas hacer, estas tratando de capturar un error cuando no se ingresa una letra, pero estas usando para comparar la función .Equals y una de sus caracteristicas es que el parametro de entrada es System.Object que soporta todos los tipos, así que como soporta todos los tipos si el usuario coloca un número o una letra o cualquier cosa, Equals si los 2 objetos no son iguales simplemenete retorna false sin errores. Equals puede comparar incluso una imagen con una letra aunque no tenga sentido.

Como dicen arriba te recomiendo leer muchísimo y prácticar aún más.
233  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Clases en: 5 Octubre 2011, 20:51 pm
Las clases son la bendición de visual studio :xD puedes simplificar muchisimas cosas, las clases simples se basan en 3 cosas un contructor que inicializa los objetos necesarios y da valor a las variables usando o no parametros, los miembros públicos que están a disposición del usuario y los miembros privados que están a disposición de los públicos pero no a disposición del usuario. Entiendase por miembros subs, variables, funciones, propiedadesm etc.

Un ejemplo, sencillo, recuerda tener siempre en cuenta las 3 cosas para una clase simple. Igualmente te recomiendo para tu caso investigar sobre herencia y como funcionan las palabras para las declaraciones (private, public, shared, readonly, shadows, etc.)

Código
  1. Public Class Persona
  2.  
  3.    Private _Nombre As String, _
  4.    _Edad As Byte
  5.  
  6.    Public Property Nombre() As String
  7.        Get
  8.            Return _Nombre
  9.        End Get
  10.        Set(ByVal value As String)
  11.            _Nombre = value
  12.        End Set
  13.    End Property
  14.  
  15.    Public Property Edad() As Byte
  16.        Get
  17.            Return _Edad
  18.        End Get
  19.        Set(ByVal value As Byte)
  20.            _Edad = value
  21.        End Set
  22.    End Property
  23.  
  24.    Public ReadOnly Property EsMayorDeEdad() As Boolean
  25.        Get
  26.            Return _Edad >= 18
  27.        End Get
  28.    End Property
  29.  
  30.    Public Sub New(ByVal Nombre As String, ByVal Edad As Byte)
  31.        _Nombre = Nombre
  32.        _Edad = Edad
  33.    End Sub
  34.  
  35. End Class
  36.  

Si pones el código de la clase te puedo ayudar con el error específico
234  Programación / .NET (C#, VB.NET, ASP) / Re: Dejar de evaluar if? en: 5 Octubre 2011, 03:53 am
Bool, booleana, boolean es un tipo así como string ó int, no solo cuando haces un condicional (if) aplicas boolean sino tambien como dice $Edu$ si tienes una función de tipo boolean, retorna true o false así como una función int puede retornar 1 ó 0 por ejemplo.
235  Programación / .NET (C#, VB.NET, ASP) / Re: Dynamic Splash Screen en: 4 Octubre 2011, 22:11 pm
De esa forma sigues trantando el control de forma no segura, lee el ejemplo y nota la diferencia.
236  Programación / .NET (C#, VB.NET, ASP) / Re: Dynamic Splash Screen en: 4 Octubre 2011, 20:49 pm
Los threads no pueden o al menos no deberian tener comunicación con los controles y esto se resuelve usando delegados como el ejemplo que te puse arriba ese ejemplo devuelve de manera segura el objeto Me. Si quieres setear el texto de un label en un thread debes hacer un delegado para eso, mira este ejemplo que acabo de escribir:

Código
  1. Public Class Form1
  2.  
  3.    Public T As New Threading.Thread(AddressOf Thread_Sub)
  4.    Public Sub Thread_Sub()
  5.        SetControlText(Label1, "Texto cambiado") 'Aqui no da error
  6.        'Label1.Text = "Texto cambiado" 'Aqui da error
  7.    End Sub
  8.  
  9.    Public Delegate Sub SetControlText_Delegate(ByVal Ctrl As Control, ByVal Text As String)
  10.    Public Sub SetControlText(ByVal Ctrl As Control, ByVal Text As String)
  11.        If Me.InvokeRequired Then
  12.            Me.Invoke(New SetControlText_Delegate(AddressOf SetControlText), New Object() {Ctrl, Text})
  13.        Else
  14.            Ctrl.Text = Text
  15.        End If
  16.    End Sub
  17.  
  18.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  19.        T.Start()
  20.    End Sub
  21.  
  22. End Class
237  Programación / .NET (C#, VB.NET, ASP) / Re: Dynamic Splash Screen en: 4 Octubre 2011, 19:09 pm
Creo haber entendido bien :xD sino aclarame más

Si el proyecto es corto y personal puedes definir Control.CheckForIllegalCrossThreadCalls como False y el ApartamentState del thread en STA para que los threads puedan tener acceso a los controles.

Si es algo más serio puedes usar siempre delegados, este ejemplo se refiere a Me

Código
  1.    Delegate Function Me_Delegate() As Form
  2.    Public Function _Me() As Form
  3.        If Me.InvokeRequired Then
  4.            Return Me.Invoke(New Me_Delegate(AddressOf _Me), New Object() {})
  5.        Else
  6.            Return Me
  7.        End If
  8.    End Function
  9.  
238  Programación / .NET (C#, VB.NET, ASP) / Re: Memoria insuficiente al trabajar con bmp en: 4 Octubre 2011, 04:50 am
Usar el GC de .Net de manera manual no es malo pero si es considerado de mala práctica, mejor asegurate de llamar a .Dispose del Bitmap antes de volver a cargarlo, me explico:

Esto no se debe hacer:
Código
  1.        Dim x As New Bitmap("C:\Ejemplo.png")
  2.        Do While True
  3.            x = Bitmap.FromFile("C:\Ejemplo.png")
  4.        Loop

No tiene nada de malo el bucle infinito sino que nunca se destruye el objeto antes de volverlo a crear, una y otra vez se crea un objeto nuevo que a pesar de que lo estás creando en la misma variable, se está guardando en otra dirección en memoria y eso causa el error, en cambio así con el mismo bucle infinito, no pasa nada:

Código
  1.        Dim x As New Bitmap("C:\Ejemplo.png")
  2.        Do While True
  3.            x = Bitmap.FromFile("C:\Ejemplo.png")
  4.            'Aqui se puede trabajar con el Bitmap'
  5.            x.Dispose()
  6.        Loop

Puedes observar el Uso de memoria en los 2 casos, en el primero sube hasta dar error y en el segundo caso sube hasta que se dispara el GC automáticamente y baja el consumo, porque ya ha sido marcado el objeto como Dispose.

239  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] Ejecutar Exe Incrustado en: 3 Octubre 2011, 19:43 pm
Entonces es Hook por inyección de dll, debes tener en cuenta que Hookear es algo muy delicado, si instalas o desinstalas inadecuadamente el Hook puedes terminar con una bonita BSOD :xD o que el proceso crashee, debes usar C++ no hay otra opción :-X

Si estas buscando una dll en especifico basta con hacer tu una dll para inyectar en los procesos y descargar la dll que buscas, si estas generalizando y quieres detectar y descargar un tipo en especifico tienes que buscar como funcionan para ver como detectar ese tipo de inyección, con respecto a UPX, no hay que preocuparse porque cuando el dll esta cargado en memoria ya no está protegido. Por esto del Hook si estas dispuesto a hacerlo en C++ no tienes mucho de que preocuparte hay muchos ejemplos aqui en el foro incluso hay una clase en ASM/C++ hecha por [Zero] (Este tipo es un genio :xD) que la puedes usar en VS C++

Si no tienes el Source ni es .Net entonces no puedes hacer nada para evitar que el proceso no se habrá, a menos que estes dispuesto a hacerle un parche a el ejecutable, bastante difícil si eres principiante, si no tienes el Source pero es .Net puedes hacer un parche con .Net Reflector y el Add-Ins Reflexil, bastante fácil de hacer.
240  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] Ejecutar Exe Incrustado en: 3 Octubre 2011, 15:06 pm
1.- Tienes el source del exe que no quieres que habra sin la aplicación en C#?
2.- No te recomiendo .Net para hacer esto, pero si lo quieres intentar adelante, tengo experiencias personales con .Net y Hooks traumantes :xD

Los Hooks vienen de diferentes colores, tamaños y formas, hay muchos metodos para hacer Hook, busca como funcionan algunos de estos metodos para poder detectar su presencia, siempre dejan alguna marca que se puede detectar.
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 50
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines