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ú

Mensajes - Keyen Night

#191
Está bien como un ejercicio de práctica ;-)

En la práctica, si no corre el código del huésped. No sería más fácil colocar nuestro código primero y luego relleno hasta equiparar el tamaño del ejecutable original, manteniendo las propiedades del archivo (Iconos y propiedades generales: como descripción, compañía, versión, etc.) y el TimeSpan intacto, tratando de que el código infeccioso pese lo menos posible, o en un caso más avanzado empacando nuestro código con las clases de compresión que brinda .Net y un modulo que sea capaz de descomprimir y ejecutar el código en tiempo de ejecución. Otra cosa, te diré un truco por hay :xD en C++ creando una aplicación de Windows puedes borrar el código generado por el compilador para colocar tu código y se ejecutara sin ventanas de ningún tipo, en .Net también se puede hacer esto pero hay que seguir otros pasos, crea un proyecto de Console, te vas a las Propiedades del Proyecto y a la pestaña Aplicación donde colocaras Tipo de Aplicación: Aplicación de Windows Forms, y en la propiedad Objeto de Inicio: Sub Main, de está manera puedes crear un ejecutable que solo contenga el código sin más estorbos como la Consola o Windows Forms, finalmente una vez que lo generes puedes ahorrar algo de espacio usando alguna utilidad como ResourcesHack para borrar el icono, te digo esto porqué así ahorras mucho espacio que es algo critico a la hora de realizar procedimientos de este tipo. Espero que lo tomes ha bien :xD lo digo porqué hay gente que se ofende cuando uno habla mucho jajajajajajaja por el contrario si le dedique tiempo ha escribir este testamento es porqué me llamaron la atención tus intereses...
#192
Que evento? que programa?
#193
Te invito a usar FileStream, StreamWriter y StreamReader. Estas clases pueden leer el archivo byte a byte, XOR tiene la particularidad de que cumple su misma función inversa, de tal modo que:

Código (VB.NET) [Seleccionar]

5 XOR 10 = 15

15 XOR 5 = 10
15 XOR 10 = 5
#194
Ingeniería Inversa / CrackMe v4.5 [Reto]
11 Marzo 2012, 02:24 AM
Yo estoy en desarrollo en un proyecto de un ofuscador que dejo cada 1 mes y luego sigo cuando pierdo la frustración :xD

En Reparación
:-X

La única pista que les daré es que use otro programa además de mi ofuscador por sobre el ejecutable.

Es el mismo CrackMe con 2 protecciones distintas:

Nro. 1
http://speedy.sh/y8gFz/CrackMe-1.rar

Nro. 2
http://speedy.sh/Bqjpu/CrackMe-2.rar

El CrackMe se considera resuelto cuando logren obtener una licencia comercial. Son libres de publicar como lo solucionaron.

Me gustaría su opinión de cual protección les pareció mas compleja.
#195
Hace mucho tiempo que no publico nada, y la razón es que estoy superocupado :xD

Pero les traigo un aporte que seguro les servirá a muchos, cuando hice una aplicación que usaba Threads, y me di cuenta que no podía acceder a los controles, además eran demasiados controles, y propiedades para hacer un sub/function delegada para cada una de las propiedades de cada uno de los controles, lo resolví así:

Código (vb.net) [Seleccionar]
#Region " Delegados "

       Public Delegate Sub SetProperty_Delegate( _
                      ByVal ObjectControl As Control, _
                      ByVal ObjectName As String, _
                      ByVal ObjectValue As Object)

       Public Sub SetProperty( _
                             ByVal ObjectControl As Control, _
                             ByVal ObjectName As String, _
                             ByVal ObjectValue As Object)
           If ObjectControl.InvokeRequired Then
               ObjectControl.Invoke(New SetProperty_Delegate(AddressOf SetProperty), _
                                    New Object() {ObjectControl, ObjectName, ObjectValue})
           Else
               ObjectControl.GetType.GetProperty(ObjectName).SetValue( _
                                                 ObjectControl, _
                                                 ObjectValue, _
                                                 Nothing)
           End If
       End Sub

       Public Delegate Function GetProperty_Delegate( _
                         ByVal ObjectControl As Control, _
                         ByVal ObjectName As String) As Object

       Public Function GetProperty(ByVal ObjectControl As Control, _
                             ByVal ObjectName As String) As Object
           If ObjectControl.InvokeRequired Then
               Return ObjectControl.Invoke(New GetProperty_Delegate(AddressOf GetProperty), _
                                    New Object() {ObjectControl, ObjectName})
           Else
               Return ObjectControl.GetType.GetProperty(ObjectName).GetValue( _
                                                 ObjectControl, _
                                                 Nothing)
           End If
       End Function

       Public Delegate Function CallMethod_Delegate( _
                     ByVal ObjectControl As Control, _
                     ByVal ObjectName As String, _
                     ByVal ObjectParams As Object(), _
                     ByVal ObjectParamsType As Type()) As Object

       Public Function CallMethod( _
                             ByVal ObjectControl As Control, _
                             ByVal ObjectName As String, _
                             Optional ByVal ObjectParams As Object() = Nothing, _
                             Optional ByVal ObjectParamsType As Type() = Nothing) As Object

           If ObjectParams Is Nothing Then
               ObjectParams = New Object() {}
           End If

           If ObjectControl.InvokeRequired Then
               Return ObjectControl.Invoke(New CallMethod_Delegate(AddressOf CallMethod), _
                                    New Object() {ObjectControl, ObjectName, ObjectParams, ObjectParamsType})
           Else
               If ObjectParamsType Is Nothing Then
                   Return ObjectControl.GetType.GetMethod(ObjectName).Invoke( _
                                     ObjectControl, _
                                     ObjectParams)
               Else
                   Return ObjectControl.GetType.GetMethod(ObjectName, ObjectParamsType).Invoke( _
                                     ObjectControl, _
                                     ObjectParams)
               End If
           End If
       End Function

#End Region


Establece, obtiene y llama propiedades y métodos de forma segura, solo por el nombre.

Algunos ejemplos, de como se usa:

Código (vb.net) [Seleccionar]

SetProperty(Me, "Text", "Código Seguro") 'Establece la propiedad Text en Me
GetProperty(Me, "Size") 'Obtiene el Size de Me
CalMethod(Me, "Focus", New Object(){}, New Type(){}) 'Llama el sub Focus de Me


CallMethod se llama, pasando el objeto del control, seguido del nombre del método a llamar, un array de object con contiene los parámetros, y un array de Type que contiene los tipos correspondientes para la lista de parámetros, para seleccionar el método correcto en caso de una sobrecarga.
#196
Hay muchas formas dependiendo de los que quieras exactamente, las siguientes son instrucciones en el tipo String:

Podría ser con .Remove

Código (vb.net) [Seleccionar]
"Mi Carro Es Verde".Remove(0, 9)

Dejaría solamente "Es Verde"

El primer parámetro es el Index de inicio y el segundo la cantidad a borrar.

.Replace

Código (vb.net) [Seleccionar]
"Mi Carro Es Verde".Replace("Carro", "Casa")

Esto dejaría "Mi Casa Es Verde"

El primer parámetro es la palabra a buscar y el segundo la de reemplazo.
#197
Hook de teclado hay muchos ejemplos por hay en todos los lenguajes.
#198
No entendi :-X
#199
En particular yo uso Vb.Net muchos les gusta más el C# pero es como dicen arriba, son iguales lo que cambia es la sintaxis los dos terminan siendo MSIL XD

Tambien te recomiendo lo que dice Unbr0ken siempre C++ ha sido potente porque te acerca más al sistema, pero sino busca nada complejo te es suficiente con Vb.Net o C#.
#200
Bitmap e Image, tienen el Sub Save las dos, el primer parámetro es la ruta dónde se guardará la imagen incluyendo la extensión el segundo la extensión Drawing.Imaging.ImageFormat

Ejemplo:

Suponiendo que Pic es un PictureBox

Código (vb.net) [Seleccionar]

    Pic.Image.Save("C:\Imagen.jpg", Drawing.Imaging.ImageFormat.Jpeg)