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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 75
131  Programación / Programación Visual Basic / Re: * [ Source ] Encoder and Decode [Algoritmo Simple] en: 7 Diciembre 2009, 09:05 am
The MidB function in previous versions of Visual Basic returns a string in bytes rather than characters. It is used primarily for converting strings in double-byte character set (DBCS) applications. All Visual Basic strings are in Unicode, and MidB is no longer supported.
132  Programación / Programación Visual Basic / HTML Parser [SRC] en: 6 Diciembre 2009, 22:27 pm
Bueno, estaba haciendo unos experimentos y queria extraer datos de unas paginas, despues de buscar un poco no encontre ningun parser de HTML para VB que funcionara correctamente o que tuviero lo que necesitaba asi que hice uno. Quiero aclarar que el code no esta optimizado en lo absoluto, iba resolviendo cosas sobre la marcha asi que el resultado es lo que fue saliendo.
Se puede hacer mucho mas compacto y rapido utilizando safearrays y APIs pero por ahora lo dejo asi hasta que lo termine de purgar.

El ejemplo tiene un treeview donde se cargan los elemtos con sus respectivos path etc. se pueden ver las propiedades de cada uno y muchas cosas magicas =D

Para el que le interesa, arme un un treee con un array, el primero que hago asi en vez de utilizar clases... la verdad esta un poco flojo pero es interesante.

http://www.advancevb.com.ar/?p=433
133  Programación / Programación Visual Basic / Re: * [ Source ] Encoder and Decode en: 6 Diciembre 2009, 10:19 am
jajaj perdon estoy aburrido! xD
134  Programación / Programación Visual Basic / Re: * [ Source ] Encoder and Decode en: 6 Diciembre 2009, 10:07 am
Ya que estamos sigo molestando =D

Una cosa que nadie tiene en cuenta, Mid, Asc, etc estan en dos sabores con y sin $ porque? simple Mid se usa con variants, Mid$ se usa con strings, funcionan de igual manera pero internamente se hace una conversion innecesaria. Lo mismo vale para las demas funciones.

En un algoritmo simple como este no hace mucha diferencia pero en casos que se utilice mucho se va a notar.
135  Programación / Programación Visual Basic / Re: Personal Algorythm + Source en: 6 Diciembre 2009, 09:57 am
xD asi si es divertido
136  Programación / Programación Visual Basic / Re: Personal Algorythm + Source en: 6 Diciembre 2009, 09:53 am
Entiendo lo que planteas, pero la solucion no es correcta. Tendrias que hacer algo asi:

    For a = 0 To 4
        For x = a + 1 To 4

Ahi no hay no se excluyen ni repiten comparaciones.
137  Programación / Programación Visual Basic / Re: Personal Algorythm + Source en: 6 Diciembre 2009, 07:18 am

lo que decia es que no tiene caso comparar el elemento de la matriz 0 con el elemento de la matrx misma es decir no tiene caso realmente y es lo mismo con el ultimo en si si hay un "if then" que hace muerto un bucle no hay caso de iniciar ambos en 0 yq que hay un "if then" que no dejara hacer nada en lo absoluto y es lo mismo al termino (75)

P.D.: Se que hay 76 elementos... se que cuentan desde LBound() hasta Ubound() es decir 0-75 = 76 elementos... ¬¬# y me da peresa ver ese codigo la verdad xP por tanto    Print #File, "

Dulces Lunas!¡.


No me exprese correctamente parece, lo que quiero decir es que no son 2 coliciones las que hay sino 76, cada elemento es comparado con sigo mismo una vez, asi como el primero y el ultimo que mencionas, todos los demas en el medio tambien.
138  Programación / Programación Visual Basic / Re: Personal Algorythm + Source en: 6 Diciembre 2009, 04:37 am
Primero que nada, esto no es para ofender ni nada por el estilo pero me parecio constructivo el hecho de mencionar o resaltar algunas cosas de este source.

Me tome la livertad de descargar esto para ver de que se trataba y el porque de los comentarios y decidi hacer este mini review porque hay muchas cosas que no tienen sentido.

Primero, para el que se pregunta que es esto? es simplemente un "Substitution cipher" o quiere serlo.

Vamos a destripar el source =D

Código:
For x = 0 To 75
  If txtChr(x).Text = Chr(34) Then MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption: txtChr(x).BackColor = &H8080FF: Exit Sub
 Next x

En la funcion principal encontramos esto que es simplemente un check para ver si algun textbox tiene como texto comillas.

Esto no tiene absolutamente sentido por que se puede validar dinamicamente con el evento Validate del textbox.

Código:
Private Sub txtChr_Validate(Index As Integer, Cancel As Boolean)
    If txtChr(Index) = """" Then
        MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption
        Cancel = True
    End If
End Sub

Código:
For a = 0 To 75
  For x = 0 To 75
   If a <> x Then
    If txtChr(a).Text = txtChr(x).Text Then
     txtChr(a).BackColor = &H8080FF
     txtChr(x).BackColor = &H8080FF
    ElseIf Len(txtChr(a).Text) > 1 Then
     txtChr(a).BackColor = &H8080FF
    ElseIf Len(txtChr(x).Text) > 1 Then
     txtChr(x).BackColor = &H8080FF
    End If
   End If
  Next x
 Next a
 

Aca esta el de la discoridia!!! Bien, este es uno de los que menos sentido tiene, son dos loops anidados que tienen como objetivo verificar si algun textbox tiene un texto con mas de un caracter y si hay dos textos repetidos.

Primero que nada, para que verificar si algun textbox tiene mas de un caracter? simplemente se pone la propiedad MaxLength = 1 y listo.

Una aclaracion aca para ░▒▓BlackZeroҖ▓▒░ en estos dos loops anidados se esta comparando una matriz con sigo misma por ende se van a producir tantas coliciones como objetos haya, en este caso 76.

Vamos con los elementos duplicados, mi pregunta es, vale la pena pasar por el proceso de "validacion" una y otra vez?  cuando todo esto se puede hacer on the fly?

Por ejemplo podriamos usar una coleccion para ver si el elemento existe y validarlo con el evento validate, algo asi.

Código:

Dim cChars As New Collection

Private Sub txtChr_Validate(Index As Integer, Cancel As Boolean)
    
    If LenB(txtChr(Index)) = 0 Then Exit Sub
    
    If txtChr(Index) = """" Then
        MsgBox "No se permite el carácter " & Chr(34), vbCritical, Me.Caption
        Cancel = True
        Exit Sub
    End If
    
    If Exists(txtChr(Index)) Then
        MsgBox "El carácter esta en uso", vbCritical, Me.Caption
        Cancel = True
        Exit Sub
    End If
        
End Sub

Private Function Exists(ByVal sChar As String) As Boolean
    On Error GoTo Err_Exists
    cChars.Add sChar, sChar
    Exit Function
Err_Exists:
    Exists = True
End Function


Este es para verificar si se produjo un error durante la validacion.....
Código:
For a = 0 To 75
  If txtChr(a).BackColor = &H8080FF Then Exit Sub
 Next a

totalmente innecesario, se puede tener un flag en la validacion y evitar esto, no hay necesidad de utilizar un loop en lo absoluto.


Código:
With CD
    .DialogTitle = "Guardar modulo .bas en..."
    .Filter = "Modulo bas (.bas) | *.bas"
    .ShowSave
 End With

Este...bueno lo podriamos perdonar pero esta mal implementado tambien.

Al principio de la funcion se resetea el filename " CD.FileName = """ luego se abre el dialogo y se valida con esto "If CD.FileName <> "" Then" ... NO, el common dialog tiene una propiedad que se llama CancelError y esta ahi para poder determinar si se cancelo o no.

Bien estamos llegando al cuore de la funcion, el generador de algoritmos...

no lo pego completo poque no me entra ni en 3 paginas.

Código:
 Open CD.FileName For Output As #File
   Print #File, "'Algoritmo de cifrado creado por [Personal Algorythm]"
   Print #File, ""
   Print #File, "Public Function Encrypt(Data As String, Pass As String) As String"
   Print #File, " Dim pPass As String"
   Print #File, "  pPass = " & Chr(34) & Text77.Text & Chr(34)
   Print #File, "  If Pass = pPass Then"
   Print #File, "   If InStr(Data," & Chr(34) & 0 & Chr(34) & ") Then Data = Replace(Data," & Chr(34) & 0 & Chr(34) & "," & Chr(34) & txtChr(0).Text & Chr(34) & ")"  ' Numeros
   Print #File, "   If InStr(Data," & Chr(34) & 1 & Chr(34) & ") Then Data = Replace(Data," & Chr(34) & 1 & Chr(34) & "," & Chr(34) & txtChr(61).Text & Chr(34) & ")"


Que demonios es esto? simplemente un template de la funcion principal que se parcha con los nuevos valores.

Mas alla de que todo esto se podria reducir a unas 5 lineas de codigo... vamos a lo interesante

Esto es simplemente substitucion de caracteres pero hay algo llamativo en como esta implementado. Vamos a sacar un pedazo del algoritmo generado y a ver que pasa.

   If InStr(Data, "0") Then Data = Replace(Data, "0", "1")
   If InStr(Data, "1") Then Data = Replace(Data, "1", "T")

Este es mi texto original: 01
Vamos a "encriptarlo" ..
Primer paso reeemplazamos los 0s con 1s
nos queda algo asi 11
segundo paso reeemplazamos los 1s con Ts
Resultado: TT

Como tarea para el hogar les dejo intentar recobrar el texto original

   If InStr(Data, "1") Then Data = Replace(Data, "1", "0")
   If InStr(Data, "T") Then Data = Replace(Data, "T", "1")

PD: si alguno se esta preguntando que funcion cumple el password en todo esto... simplemente mera decoracion.

139  Programación / Programación Visual Basic / Re: API Comparar Imagenes en: 30 Noviembre 2009, 08:05 am
A ver, considerando que tenes una pantalla comun con una resolucion normal unos 1280 x 667 y estas usando 4 bytes por pixel como en el ejemplo y a todo esto le sumamos que lo estas guardando en memoria como un string que es unicode osea que es el doble de tamano y como para finalizar, esto pasa 2 veces por lo menos como para realizar la comparacion.. nos quedaria asi.

1280 * 667 * 4 * 2 * 2 = 13660160 algo asi como 13.03 megabytes ....

mmm esto en mi 286 no anda seguro. :/ necesito un upgrade urgente.
140  Programación / Programación Visual Basic / Re: [ayuda] Crear una aplicacion que tenga Plugins en: 26 Noviembre 2009, 04:21 am
http://foro.elhacker.net/empty-t223504.0.html
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 75
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines