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 - Eleкtro

#8481
¿Alguien me puede introducir en el tema?

Estoy recien empezando con una web que trata sobre un pequeño negocio, y bueno... quiero salir en el buscador de Google para captar clientes.

La web tiene un nombre muy particular, son dos palabras claves juntas, no se si eso puede ayudar. (Prefiero no decir el nombre de la web)

Si me pueden dar algún enlace de referencia para estudiar sobre los trucos básicos (y no tán básicos)...


Y si pudieran decirme si algo de esto es una buena idea para salir en el buscador de Google:

· Crear miles de dominios .TK (puedo hacerlo de hasta 12 meses de duración) con palabras clave para que salgan en google y así redireccionarlos a mi web principal.

· Añadir algún tipo de botón de esos de google, para votar por la web. (Ni idea de en que zona de Google se consigue ese script ni como se llama el maldito susodicho xD).

· Poner un Header en el Body con palabras clave (Uno de mis hermanos me dijo este truco, y lleva 30 años diseñando webs, aunque no recuerdo lo que me dijo exáctamente ni tmapoco puedo preguntarle).

No se me ocurre nada más, soy un completo newbie en el tema de administrar una web.

EDITO: He visto que en la página principal de ElHacker.net hay un botón de Google Plus, pero solo tiene "862" votos. En una web que tiene miles de visitas cada día, y sólo consigue esos pocos votos... me parece muy extraño! me gustaría saber desde cuando lleva ese botón ahi, para hacerme una idea de cuantas personas podrían votarme a lo largo de un año entero (con muy, muy pocas visitas al día)

Gracias por leer,
Saludos!
#8482
Validar una fecha:

Código (vbnet) [Seleccionar]
#Region " Validate Date "

   ' [ Validate Date Function ]
   '
   ' // By Elektro H@cker
   '
   ' Examples :
   '
   ' MsgBox(Validate_Date("29-02-2013")) ' Result: False
   ' MsgBox(Validate_Date("29-02-2016")) ' Result: True
   ' MsgBox(Validate_Date("01/01/2014")) ' Result: True

   Private Function Validate_Date(ByVal [Date] As String) As Boolean
       Return Date.TryParse([Date], New Date)
   End Function

#End Region


PD: @Novlucker, sé que es muy cortito, pero útil para quien no sepa! :P
#8483
Cita de: DanielC# en  6 Julio 2013, 19:04 PM¿hay una manera mejor para lograr lo mismo?

Sí, se puede mejorar mucho.

1 - Puedes evitar la declaración de todas las variables (Ya que solo le das uso una única vez, para eso es mejor "usar" diréctamente en 1 paso, en lugar de los 3 pasos que dás: "declarar variable + almacenar contenido en variable + usar variable").
2 - En lugar de una comparación me parece más correcto añadir un control de errores (Un Try/Catch por si en un futuro quieres añadir aún más tipos de excepciones, en lugar de añadir más If's).
3 - Para la organización de los elementos del string debes usar "String.Format": http://msdn.microsoft.com/en-us/library/system.string.format.aspx
4 - Para el formato de la fecha es tán simple como usar el método "ToString" con el formato adecuado ("D"): http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx .
5 - Para el formato del string resultante, puedes usar la función "ToTitleCase", y hacer un pequeñísimo ajuste añadiendo un "Replace" para modificar "De" por "de".
En fin... en general se puede simplificar bastante el code.

Aquí tienes, en VB:

Código (vbnet) [Seleccionar]
Imports System.Globalization

Module Module1

   Sub Main(args As String())
       ValidarFecha()
       Console.ReadLine()
   End Sub

   Private Sub ValidarFecha()

       Console.Write("Ingrese una fecha(ej. 07-07-2013)....:")

       Try

           Console.WriteLine(CultureInfo.CurrentCulture.TextInfo.ToTitleCase( _
                             String.Format("Ingresó: {0}", _
                             Date.Parse(Console.ReadLine).ToString("D"))).Replace("De", "de"))

       Catch ' ex As Exception
           Console.WriteLine("No es una fecha valida...")
       End Try

   End Sub

End Module



En C#:
(Este me ha costado un poquito, he tenido que usar convertidor online, hacer algunas correcciones manuales, y ajustar las indentaciones innecesarias)

Código (csharp) [Seleccionar]
   using System;
   using System.Globalization;
   
   static class Module1 {
   
      public static void Main(string[] args) {
          ValidarFecha();
          Console.ReadLine();
      }
   
      private static void ValidarFecha() {

          Console.WriteLine("Ingrese una fecha (ej. 07-07-2013)...:");
   
          try {

              Console.WriteLine(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(
                                string.Format("Ingresó: {0}",
                                DateTime.Parse(Console.ReadLine()).ToString("D"))).Replace("De", "de"));
   
          } catch {
   
              Console.WriteLine("No es una fecha valida...");
   
          } // Try
   
      } // ValidarFecha
   
   } // Module1



Saludos!
#8484
Seguridad / Protección contra ataques (DDOS)
7 Julio 2013, 19:54 PM
No se nada acerca de esto, pero me están ayudando a crear una web y...bueno, necesito protección.

La verdad es que no necesito "caching" ni porquerías, yo solo quiero que si un intruso accede muchas veces seguidas con la misma ip en un intervalo muy corto de tiempo, pues hacerle un baneo temporal a esa IP. (Si alguien puede dar información sobre como hacer esto lo agradecería)

Pero claro...si ese intruso usa bots (proxies) pues entonces el baneo temporal va a dar igual y en ese caso lo mejor sería bloquear la página temporálmente como hace Cloudfare, ¿no?.

¿Quizás CloudFare se puede configurar de alguna manera para que si solo se detecta un usuario que intenta hacer DDOS repetídamente, entonces banear a esa ip, pero si en cambio se detectan muchas ips (bots) en un intervalo corto de tiempo, entonces bloquear la web?, si algún servicio ofrece ese razonamiento de lógica...sería genial.

Mi favorito es CloudFare (tampoco conozco otros) http://www.cloudflare.com/
Comentarios: http://www.forbes.com/sites/eliseackerman/2012/02/29/how-cloudflares-free-ddos-protection-service-is-disrupting-the-multibillion-dollar-computer-security-and-content-delivery-markets/2/

#8485
Cita de: Elsevi en  7 Julio 2013, 10:39 AMEn que leguaje escribo aora el código lo puedo hacer rubi por ejemplo cual sería mejor y mas rápido

Sin ánimo de ofender, pero desde que publicaste este post no has dejado de repetir esa pregunta que no tiene ningún sentido, y esto te ocurre porque aún no entiendes el concepto.

El lenguaje que vas a usar en la IDE CodeBlacks es C/C++, Ruby es otro lenguaje muy distinto, C++ es C++, y Ruby es Ruby, y para programar en otro lenguaje hay que usar otras IDEs, además, Ruby es un lenguaje de Scripting.

Por el momento has elegido programar en C++, pero nadie te va a dar hecho un generador de diccionarios, tienes que aprender a hacerlo, dices que te interesa aprender, pues en los links de arriba te puse buena información sobre como hacer permutaciones en C++, que eso es lo que tienes que buscar.

Saludos!

#8486
Cita de: taul en  7 Julio 2013, 03:40 AMsi desarrollo una aplicación de escritorio basado en .net 3.5 y el usuario tiene un framework superior, la aplicación corre lo mismo?

Eso depende bastante.

Framework 4.X difiere del 3.X, no es lo mismo, el Core es muy distinto.

Pero por suerte el Framework 4.X tiene un soporte de compatibilidad para correr casi todas las aplicaciones basadas en Framework 3.X (y 2.0) sin necesidad de que el FW 3.X esté instalado, Como he dicho tiene soporte para correrlas casi todas, PERO!... no todas, así que si dicha aplicación usa algo que sólamente dependa del FW 3.5 entonces si que necesitarás que el FW 3.5 esté instalado en dicho PC.

Lo mejor que puedes hacer es instalarte una máquina virtual con Windows 8, y comprobarlo por ti mismo, Win8 lleva FW 4.5 instalado por defecto (Y no está instalado el FW 3.5, pero incluye soporte para instalarlo por separado), así que es el mejor SO donde puedes testear tu problema.

Si es una aplicación sencilla no debería haber ningún problema, sólo tienes que hacerte esta pregunta: ¿Porque Windows 8 sólamente lleva instalado FW 4.5?, pues porque generálmente funcionarán las aplicaciones desarolladas en las versiones inferiores de FW, así que no es necesario más.

EDITO: De todas formas Microsoft siempre intenta promover el uso del FW 4.X a los desarrolladores, y yo me imagino que la razón de esto debe ser porque en un futuro no muy lejano en próximas versiones del FW Microsoft dejará de lado la compatibilidad con el FW 2.X y 3.X (Como hace Microsoft con el Windows XP), así que deberías plantearte si reálmente usar FW 3.5 o actualizar tu aplicación al uso del FW 4.0 como mínimo.

Saludos!
#8487
@Shout

Antes de nada, creo que habría sido mejor si posteases esto en Ingenieria inversa.

Al analizar el ensamblado para comprobar que ofuscador han utilizado se ve que han usado el ofuscador "Crypto obfuscator": http://www.ssware.com/cryptoobfuscator/download.htm

Para desofuscarlo es suficiente con usar "de4dot", o el "SimpleAssembly Explorer", que ya lleva integrado un plugin del "de4dot" y es muy intuitivo de usar porque se asemeja al ".NET Reflector": http://code.google.com/p/simple-assembly-explorer/

Hay dos archivos de recursos, uno es una imágen, la imágen de kenshin, el otro no se que es, pero creo que el archivo que intentas "descifrar" es un recurso que se inyecta al proceso del COD, así que no es ningún archivo de texto ni nada interesante, miagino que solo son bytes que se inyectan al proceso, aunque la verdad es que no sé mucho sobre parches e inyecciones así que tampoco me hagas mucho caso, quizás me equivoque.

Hasta aquí es hasta donde he llegado, no soy un experto en el tema.



NOTA: Los nombres están así porque según he leido es imposible recuperar los nombres originales al desofuscar, tanto los nombres de los métodos y funciones de las Classes como los nombres de los archivos de las Classes, así que esto es lo que hay y no se puede mejorar, pero al menos es entendible y legible.

Ahora te mostraré una Class desofuscada:

PD: Aquí verás el string "SW52ZXJzZSBUcm9sbGVyKg==", este es Base64 y al revertirlo la codificación devuelve el string "Inverse Troller*"
En VB:
Código (vbnet) [Seleccionar]
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Text

Namespace A
   Friend NotInheritable Class 
       ' Methods
       Private Shared Function (ByVal base1 As MethodBase) As Type()
           Dim typeArray As Type()
           Dim num3 As Integer
           Dim infoArray As ParameterInfo() = base1.GetParameters
           Dim length As Integer = infoArray.Length
           If base1.IsStatic Then
               goto Label_002E
           End If
       Label_0017:
           Select Case 6
               Case 0
                   goto Label_0017
               Case Else
                   If (1 = 0) Then
                   End If
                   length += 1
                   Exit Select
           End Select
       Label_002E:
           typeArray = New Type(length  - 1) {}
           Dim index As Integer = 0
           If base1.IsStatic Then
               goto Label_0089
           End If
       Label_0041:
           Select Case 5
               Case 0
                   goto Label_0041
               Case Else
                   Dim declaringType As Type = base1.DeclaringType
                   If Not declaringType.IsValueType Then
                       Dim type9 As Type = base1.DeclaringType
                       typeArray(0) = type9
                       goto Label_0085
                   End If
                   Exit Select
           End Select
       Label_005C:
           Select Case 7
               Case 0
                   goto Label_005C
               Case Else
                   Dim type8 As Type = base1.DeclaringType.MakeByRefType
                   typeArray(0) = type8
                   Exit Select
           End Select
       Label_0085:
           index += 1
       Label_0089:
           num3 = 0
           Do While (num3 < infoArray.Length)
               typeArray(index) = infoArray(num3).ParameterType
               num3 += 1
               index += 1
           Loop
       Label_00AD:
           Select Case 2
               Case 0
                   goto Label_00AD
           End Select
           Return typeArray
       End Function

       Private Shared Sub (ByRef numRef1 As Integer, ByVal info1 As DynamicILInfo)
           Dim count As Integer = BitConverter.ToInt32(., numRef1)
           numRef1 = (numRef1 + 4)
           If (count <> 0) Then
               Dim dst As Byte() = New Byte(count  - 1) {}
               Buffer.BlockCopy(., numRef1, dst, 0, count)
               Dim startIndex As Integer = 4
               Dim num3 As Integer = ((count - 4) / &H18)
               Dim i As Integer
               For i = 0 To num3 - 1
                   Dim num10 As Integer = BitConverter.ToInt32(dst, startIndex)
                   Dim options As ExceptionHandlingClauseOptions = DirectCast(num10, ExceptionHandlingClauseOptions)
                   startIndex = (startIndex + 20)
                   Select Case options
                       Case ExceptionHandlingClauseOptions.Clause
                           Dim typeToken As Integer = BitConverter.ToInt32(dst, startIndex)
                           Dim type As RuntimeTypeHandle = ..ResolveTypeHandle(typeToken)
                           Dim num5 As Integer = info1.GetTokenFor(type)
                           .(num5, startIndex, dst)
                           Exit Select
                       Case ExceptionHandlingClauseOptions.Fault
                           Throw New NotSupportedException("dynamic method does not support fault clause")
                   End Select
                   startIndex = (startIndex + 4)
               Next i
           Label_00CD:
               Select Case 7
                   Case 0
                       goto Label_00CD
               End Select
               info1.SetExceptions(dst)
               Return
           End If
       Label_0018:
           Select Case 5
               Case 0
                   goto Label_0018
           End Select
           If (1 = 0) Then
           End If
       End Sub

       Private Shared Sub (ByVal body1 As MethodBody, ByVal info1 As DynamicILInfo)
           Dim helper As SignatureHelper = SignatureHelper.GetLocalVarSigHelper
           Dim enumerator As IEnumerator(Of LocalVariableInfo) = body1.LocalVariables.GetEnumerator
           Try
               Do While enumerator.MoveNext
                   Dim info As LocalVariableInfo = enumerator.Current
                   Dim localType As Type = info.LocalType
                   Dim isPinned As Boolean = info.IsPinned
                   helper.AddArgument(localType, isPinned)
               Loop
           Label_0043:
               Select Case 5
                   Case 0
                       goto Label_0043
               End Select
               If (1 = 0) Then
               End If
           Finally
               If (enumerator Is Nothing) Then
                   goto Label_006B
               End If
           Label_005B:
               Select Case 6
                   Case 0
                       goto Label_005B
                   Case Else
                       enumerator.Dispose
                       Exit Select
               End Select
           Label_006B:
           End Try
           Dim signature As Byte() = helper.GetSignature
           info1.SetLocalSignature(signature)
       End Sub

       Public Shared Sub (ByVal num2 As Integer, ByVal num1 As Integer, ByVal buffer1 As Byte())
           buffer1(num1++) = CByte(num2)
           buffer1(num1++) = CByte((num2 >> 8))
           buffer1(num1++) = CByte((num2 >> &H10))
           buffer1(num1++) = CByte((num2 >> &H18))
       End Sub

       Private Shared Sub (ByRef numRef1 As Integer, ByVal base1 As MethodBase, ByVal info1 As DynamicILInfo)
           Dim maxStackSize As Integer = BitConverter.ToInt32(., numRef1)
           numRef1 = (numRef1 + 4)
           Dim count As Integer = BitConverter.ToInt32(., numRef1)
           numRef1 = (numRef1 + 4)
           Dim dst As Byte() = New Byte(count  - 1) {}
           Buffer.BlockCopy(., numRef1, dst, 0, count)
           New (base1, dst, info1).
           info1.SetCode(dst, maxStackSize)
           numRef1 = (numRef1 + count)
       End Sub

       Friend Shared Sub (ByVal num1 As Integer, ByVal num3 As Integer, ByVal num4 As Integer)
           Dim type As Type
           Dim base2 As MethodBase
           Try
               Dim handle As RuntimeTypeHandle = ..ResolveTypeHandle(num1)
               type = Type.GetTypeFromHandle(handle)
               Dim handle7 As RuntimeMethodHandle = ..ResolveMethodHandle(num3)
               Dim declaringType As RuntimeTypeHandle = ..ResolveTypeHandle(num4)
               Dim methodFromHandle As MethodBase = MethodBase.GetMethodFromHandle(handle7, declaringType)
               Dim obj2 As Object = methodFromHandle
               base2 = DirectCast(obj2, MethodBase)
           Catch exception3 As Exception
               Throw
           End Try
           Dim fields As FieldInfo() = type.GetFields((BindingFlags.GetField Or (BindingFlags.NonPublic Or BindingFlags.Static)))
           Dim info As FieldInfo
           For Each info In fields
               Try
                   Dim type8 As Type
                   Dim num As Integer
                   Dim expressionStack_D5_0 As String
                   Dim expressionStack_B3_0 As String
                   Dim expressionStack_D6_0 As Object
                   Dim expressionStack_D6_1 As String
                   Dim expressionStack_C6_0 As String
                   Dim method As DynamicMethod = Nothing
                   Dim body As MethodBody = base2.GetMethodBody
                   Dim parameterTypes As Type() = .(base2)
                   Dim type6 As Type = base2.DeclaringType
                   Dim fullName As String = type6.FullName
                   Dim name As String = base2.Name
                   Dim text6 As String = (fullName & "." & name & "_Encrypted$")
                   If TypeOf base2 Is ConstructorInfo Then
                       expressionStack_D5_0 = text6
                       goto Label_00D5
                   Else
                       expressionStack_B3_0 = text6
                   End If
               Label_00B3:
                   Select Case 6
                       Case 0
                           goto Label_00B3
                       Case Else
                           Dim expressionStack_C0_0 As String
                           Dim expressionStack_BD_0 As String = expressionStack_B3_0
                           If (1 <> 0) Then
                               expressionStack_C6_0 = expressionStack_BD_0
                               Exit Select
                           Else
                               expressionStack_C0_0 = expressionStack_BD_0
                           End If
                           expressionStack_C6_0 = expressionStack_C0_0
                           Exit Select
                   End Select
                   Dim returnType As Type = DirectCast(base2, MethodInfo).ReturnType
                   If (returnType OrElse True) Then
                       expressionStack_D6_1 = expressionStack_C6_0
                       expressionStack_D6_0 = returnType
                       goto Label_00D6
                   Else
                       expressionStack_D5_0 = CStr(returnType)
                   End If
                   expressionStack_D5_0 = expressionStack_C6_0
               Label_00D5:
                   expressionStack_D6_1 = expressionStack_D5_0
                   expressionStack_D6_0 = Nothing
               Label_00D6:
                   type8 = base2.DeclaringType
                   method = New DynamicMethod(expressionStack_D6_1, DirectCast(expressionStack_D6_0, Type), parameterTypes, type8, True)
                   Dim flag2 As Boolean = ..TryGetValue(num1, num)
                   Dim info2 As DynamicILInfo = method.GetDynamicILInfo
                   .(body, info2)
                   .(num, base2, info2)
                   .(num, info2)
                   Dim delegate2 As Delegate = method.CreateDelegate(type)
                   info.SetValue(Nothing, delegate2)
               Catch exception4 As Exception
               End Try
           Next
       Label_014A:
           Select Case 6
               Case 0
                   goto Label_014A
           End Select
       End Sub

       Shared Sub New()
           Dim type2 As Type
           If (Not . Is Nothing) Then
               goto Label_00D8
           End If
       Label_000A:
           Select Case 5
               Case 0
                   goto Label_000A
               Case Else
                   If (1 = 0) Then
                   End If
                   Dim s As String = "SW52ZXJzZSBUcm9sbGVyKg=="
                   Dim bytes As Byte() = Convert.FromBase64String(s)
                   s = Encoding.UTF8.GetString(bytes, 0, bytes.Length)
                   Dim stream As Stream = Assembly.GetExecutingAssembly.GetManifestResourceStream(s)
                   Dim buffer4 As Byte() = .(&H61, stream)
                   . = buffer4
                   . = New Dictionary(Of Integer, Integer)
                   Dim reader As New BinaryReader(New MemoryStream(., False))
                   Try
                       Dim num As Integer = reader.ReadInt32
                       Dim i As Integer
                       For i = 0 To num - 1
                           Dim num3 As Integer = reader.ReadInt32
                           Dim num4 As Integer = reader.ReadInt32
                           ..Item(num3) = num4
                       Next i
                   Label_00B8:
                       Select Case 5
                           Case 0
                               goto Label_00B8
                       End Select
                   Finally
                       If (reader Is Nothing) Then
                           goto Label_00D7
                       End If
                   Label_00C7:
                       Select Case 4
                           Case 0
                               goto Label_00C7
                           Case Else
                               reader.Dispose
                               Exit Select
                       End Select
                   Label_00D7:
                   End Try
                   Exit Select
           End Select
       Label_00D8:
           type2 = GetType(MulticastDelegate)
           If (type2 Is Nothing) Then
               Return
           End If
       Label_00E6:
           Select Case 5
               Case 0
                   goto Label_00E6
               Case Else
                   Dim modules As Module() = Assembly.GetExecutingAssembly.GetModules
                   Dim moduleHandle As ModuleHandle = modules(0).ModuleHandle
                   . = moduleHandle
                   Exit Select
           End Select
       End Sub


       ' Fields
       Friend Shared ReadOnly  As Byte()
       Friend Shared ReadOnly  As Dictionary(Of Integer, Integer)
       Private Shared ReadOnly  As ModuleHandle

       ' Nested Types
       Public NotInheritable Class 
           ' Methods
           Private Function () As Byte
               Return Me.(Me.++)
           End Function

           Private Function () As Integer
               Dim startIndex As Integer = Me.
               Me. = (Me. + 4)
               Return BitConverter.ToInt32(Me., startIndex)
           End Function

           Private Function () As Object
               Dim num48 As Integer
               Dim info2 As MemberInfo
               Dim base3 As MethodBase
               Dim num As Integer = Me.
               Dim nop As OpCode = OpCodes.Nop
               Dim metadataToken As Integer = 0
               Dim index As Byte = Me.
               If (index = &HFE) Then
                   index = Me.
                   nop = .(index)
                   goto Label_0060
               End If
           Label_0020:
               Select Case 6
                   Case 0
                       goto Label_0020
                   Case Else
                       If (1 = 0) Then
                       End If
                       nop = .(index)
                       Exit Select
               End Select
           Label_0060:
               Select Case nop.OperandType
                   Case OperandType.InlineBrTarget
                       Me.(4)
                       Return Nothing
                   Case OperandType.InlineField
                       metadataToken = Me.
                       Dim info As FieldInfo = Me..ResolveField(metadataToken, Me., Me.)
                       Dim fieldHandle As RuntimeFieldHandle = info.FieldHandle
                       Dim num39 As Integer = Me..GetTokenFor(fieldHandle)
                       Dim size As Integer = nop.Size
                       Me.(num39, (num + size))
                       Return Nothing
                   Case OperandType.InlineI
                       Me.(4)
                       Return Nothing
                   Case OperandType.InlineI8
                       Me.(8)
                       Return Nothing
                   Case OperandType.InlineMethod
                       metadataToken = Me.
                       Dim base2 As MethodBase = Me..ResolveMethod(metadataToken, Me., Me.)
                       Dim method As RuntimeMethodHandle = base2.MethodHandle
                       Dim type9 As Type = base2.DeclaringType
                       Dim handle10 As RuntimeTypeHandle = type9.TypeHandle
                       Dim num36 As Integer = Me..GetTokenFor(method, handle10)
                       Dim num37 As Integer = nop.Size
                       Me.(num36, (num + num37))
                       Return Nothing
                   Case OperandType.InlineNone
                       Return Nothing
                   Case OperandType.InlineR
                       Me.(8)
                       Return Nothing
                   Case OperandType.InlineSig
                       metadataToken = Me.
                       Dim signature As Byte() = Me..ResolveSignature(metadataToken)
                       Dim num33 As Integer = Me..GetTokenFor(signature)
                       Dim num34 As Integer = nop.Size
                       Me.(num33, (num + num34))
                       Return Nothing
                   Case OperandType.InlineString
                       metadataToken = Me.
                       Dim literal As String = Me..ResolveString(metadataToken)
                       Dim num30 As Integer = Me..GetTokenFor(literal)
                       Dim num31 As Integer = nop.Size
                       Me.(num30, (num + num31))
                       Return Nothing
                   Case OperandType.InlineSwitch
                       Dim num4 As Integer = Me.
                       Me.((num4 * 4))
                       Return Nothing
                   Case OperandType.InlineTok
                       metadataToken = Me.
                       info2 = Me..ResolveMember(metadataToken, Me., Me.)
                       If (info2.MemberType = MemberTypes.TypeInfo) Then
                           Exit Select
                       End If
                   Label_02B0:
                       Select Case 6
                           Case 0
                               goto Label_02B0
                           Case Else
                               If (info2.MemberType <> MemberTypes.NestedType) Then
                                   If (info2.MemberType = MemberTypes.Method) Then
                                       goto Label_0325
                                   End If
                               Label_0305:
                                   Select Case 7
                                       Case 0
                                           goto Label_0305
                                       Case Else
                                           If (info2.MemberType <> MemberTypes.Constructor) Then
                                               If (info2.MemberType <> MemberTypes.Field) Then
                                                   goto Label_038D
                                               End If
                                           Label_0363:
                                               Select Case 4
                                                   Case 0
                                                       goto Label_0363
                                               End Select
                                               Dim info3 As FieldInfo = TryCast(info2,FieldInfo)
                                               Dim field As RuntimeFieldHandle = info3.FieldHandle
                                               metadataToken = Me..GetTokenFor(field)
                                               goto Label_038D
                                           End If
                                           Exit Select
                                   End Select
                               Label_031B:
                                   Select Case 3
                                       Case 0
                                           goto Label_031B
                                   End Select
                                   goto Label_0325
                               End If
                               Exit Select
                       End Select
                   Label_02CA:
                       Select Case 7
                           Case 0
                               goto Label_02CA
                       End Select
                       Exit Select
                   Case OperandType.InlineType
                       metadataToken = Me.
                       Dim type As Type = Me..ResolveType(metadataToken, Me., Me.)
                       Dim handle12 As RuntimeTypeHandle = type.TypeHandle
                       Dim num42 As Integer = Me..GetTokenFor(handle12)
                       Dim num43 As Integer = nop.Size
                       Me.(num42, (num + num43))
                       Return Nothing
                   Case OperandType.InlineVar
                       Me.(2)
                       Return Nothing
                   Case OperandType.ShortInlineBrTarget
                       Me.(1)
                       Return Nothing
                   Case OperandType.ShortInlineI
                       Me.(1)
                       Return Nothing
                   Case OperandType.ShortInlineR
                       Me.(4)
                       Return Nothing
                   Case OperandType.ShortInlineVar
                       Me.(1)
                       Return Nothing
                   Case Else
                       Dim operandType As OperandType = nop.OperandType
                       Dim message As String = ("unexpected OperandType " & operandType)
                       Throw New BadImageFormatException(message)
               End Select
               Dim type2 As Type = TryCast(info2,Type)
               Dim typeHandle As RuntimeTypeHandle = type2.TypeHandle
               metadataToken = Me..GetTokenFor(typeHandle)
               goto Label_038D
           Label_0325:
               base3 = TryCast(info2,MethodBase)
               Dim methodHandle As RuntimeMethodHandle = base3.MethodHandle
               Dim declaringType As Type = base3.DeclaringType
               Dim contextType As RuntimeTypeHandle = declaringType.TypeHandle
               metadataToken = Me..GetTokenFor(methodHandle, contextType)
           Label_038D:
               num48 = nop.Size
               Me.(metadataToken, (num + num48))
               Return Nothing
           End Function

           Friend Sub ()
               Do While (Me. < Me..Length)
                   Dim obj2 As Object = Me.
               Loop
           Label_001B:
               Select Case 6
                   Case 0
                       goto Label_001B
               End Select
               If (1 = 0) Then
               End If
           End Sub

           Private Sub (ByVal num1 As Integer)
               Me. = (Me. + num1)
           End Sub

           Private Sub (ByVal num2 As Integer, ByVal num1 As Integer)
               Me.(num1++) = CByte(num2)
               Me.(num1++) = CByte((num2 >> 8))
               Me.(num1++) = CByte((num2 >> &H10))
               Me.(num1++) = CByte((num2 >> &H18))
           End Sub

           Shared Sub New()
               Dim fields As FieldInfo() = GetType(OpCodes).GetFields((BindingFlags.Public Or BindingFlags.Static))
               Dim info As FieldInfo
               For Each info In fields
                   Dim obj2 As Object = info.GetValue(Nothing)
                   Dim code As OpCode = DirectCast(obj2, OpCode)
                   Dim num3 As Short = code.Value
                   Dim index As UInt16 = CUShort(num3)
                   If (index >= &H100) Then
                       goto Label_0089
                   End If
               Label_0063:
                   Select Case 3
                       Case 0
                           goto Label_0063
                       Case Else
                           If (1 = 0) Then
                           End If
                           .(index) = code
                           Continue
                   End Select
               Label_0089:
                   If ((index And &HFF00) <> &HFE00) Then
                       Continue For
                   End If
               Label_0097:
                   Select Case 7
                       Case 0
                           goto Label_0097
                       Case Else
                           .((index And &HFF)) = code
                           Exit Select
                   End Select
               Next
           Label_00C8:
               Select Case 3
                   Case 0
                       goto Label_00C8
               End Select
           End Sub

           Public Sub New(ByVal base1 As MethodBase, ByVal buffer1 As Byte(), ByVal info1 As DynamicILInfo)
               ' This item is obfuscated and can not be translated.
               Dim typeArray2 As Type()
               Dim genericArguments As Type()
               Me. = info1
               Me. = buffer1
               Me. = 0
               Dim module As Module = base1.Module
               Me. = [module]
               If TypeOf base1 Is ConstructorInfo Then
                   goto Label_0050
               End If
           Label_0032:
               Select Case 4
                   Case 0
                       goto Label_0032
                   Case Else
                       If (1 <> 0) Then
                           goto Label_0045
                       End If
                       genericArguments = base1.GetGenericArguments
                       If (genericArguments OrElse True) Then
                       End If
                       Exit Select
               End Select
           Label_0050:
               genericArguments. = Nothing
               If (base1.DeclaringType Is Nothing) Then
                   goto Label_007C
               End If
           Label_0060:
               Select Case 7
                   Case 0
                       goto Label_0060
                   Case Else
                       typeArray2 = base1.DeclaringType.GetGenericArguments
                       If (typeArray2 OrElse True) Then
                       End If
                       Exit Select
               End Select
           Label_007C:
               typeArray2. = Nothing
           End Sub


           ' Fields
           Private  As Byte()
           Private  As Integer
           Private  As DynamicILInfo
           Private  As Module
           Private Shared  As OpCode() = New OpCode(&H100  - 1) {}
           Private  As Type()
           Private Shared  As OpCode() = New OpCode(&H100  - 1) {}
           Private  As Type()
       End Class
   End Class
End Namespace



Si quieres ver el resto, bueno, ya te he dicho como hacerlo.

Saludos
#8488
@ElSevi

Si te llevas mal con el inglés te vas a llevar mal con la programación.

No se nada de C/C++ pero aparte de lo comentado por el compañero OmarHack, debes empezar a buscar información y snippets sobre el tipo de proyecto que quieres llevar a cabo:

-> Write a C program to print all permutations of a given string

-> http://bit.ly/1a2Mxvx


PD: He movido el tema porque esto ha cambiado de rumbo del scripting y se ha hablado de vb, de C y de su p* madre xD.

#8490
Cita de: ovichan en  6 Julio 2013, 15:38 PMla de anime sigue por su camino, eso si, privada

Pues los muy graciosos me han eliminado mi cuenta, segúramente por estar 2 años sin meterme xD

¿Hay invitaciones o algo parecido para poder registrarse? (¿Te currarías una invitación?), ¿el bloqueo de registros sabes si es temporal?.

Cita de: ovichan en  6 Julio 2013, 15:38 PM
Por cierto, no soy ojisan, ese es el admin de animehd y de unionfansub.

Ups lo siento, creo que no es la primera vez que me pasa, siempre me confundo al decir tu nombre ...pero solo con el nombre, ya se que sois dos personas muy distintas.

Saludos