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


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1]
1  Programación / Programación Visual Basic / [Class] cStack (VB6) en: 25 Junio 2012, 17:46 pm
Buenas,
esta vez traigo algo más sencillo, la simulación de una pila (Stack) como conjunto. Sólo admite dos operaciones, Push, que añade un elemento (Integer en este caso) al final de un Array interno, y Pop, devuelve el último elemento de la pila.

Código
  1. Option Explicit
  2.  
  3. 'cStack by Slek, for Indetectables.net
  4. '25/6/2012
  5.  
  6. 'Nota:  Es una pila de Integer (puede ser modificado)
  7. '       It's an Integer's Stack (can be modified)
  8.  
  9. Dim Arr()   As Integer          'Array of elements
  10. Dim i       As Integer          'Current Index
  11.  
  12. Private Sub Class_Initialize()
  13. 'Initialize with Index 0
  14.  
  15.    i = 0
  16.  
  17.    Call Init(i)
  18.  
  19. End Sub
  20.  
  21. Public Sub Init(ByVal n As Integer)
  22. 'Initialize Arr() with n elements
  23.  
  24.    ReDim Arr(n)
  25.  
  26. End Sub
  27.  
  28.  
  29. Public Sub Push(ByVal n As Integer)
  30. 'Add n at the end
  31.  
  32.    Arr(i) = n
  33.  
  34.    i = i + 1
  35.  
  36.    If i > UBound(Arr) Then ReDim Preserve Arr(i * 2)
  37.  
  38. End Sub
  39.  
  40. Public Function Pop() As Integer
  41. 'Return last n
  42.  
  43.        i = i - 1
  44.  
  45.        Pop = Arr(i)
  46.  
  47. End Function

Saludos!
2  Programación / Programación Visual Basic / [VB6] cSet (Orientación a objetos) en: 31 Mayo 2012, 21:41 pm
Se trata simplemente de una clase que permite usar un array como un conjunto, es decir, él mismo se encarga de redimensionar al añadir o eliminar un elemento, y si un elemento ya se encuentra en el array, no lo vuelve a incluir. El conjunto lo he hecho de Integer, pero se puede hacer de cualquier objeto comparable.

Código
  1. Option Explicit
  2.  
  3. 'cSet by Slek, for Indetectables.net
  4. '31/5/2012
  5.  
  6. 'Nota:  Es un conjunto de Integer (puede ser modificado)
  7. '       It's an Integer's Set (can be modified)
  8.  
  9. Dim Arr()   As Integer          'Array of elements
  10. Dim s       As Integer          'Number of elements included
  11.  
  12. Private Sub Class_Initialize()
  13. 'Initialize with 0 elements
  14.  
  15.    s = 0
  16.  
  17. End Sub
  18.  
  19. Public Sub add(ByVal n As Integer)
  20. 'Include n
  21.  
  22.    If Not contains(n) Then
  23.        ReDim Preserve Arr(s)
  24.        Arr(s) = n
  25.        s = s + 1
  26.    End If
  27.  
  28. End Sub
  29.  
  30. Public Sub remove(ByVal n As Integer)
  31. 'Exclude n
  32.  
  33.    Dim i   As Integer
  34.    Dim b   As Boolean
  35.  
  36.    For i = 0 To (s - 2)
  37.  
  38.        If Arr(i) = n Then b = True
  39.  
  40.        If b Then Arr(i) = Arr(i + 1)
  41.  
  42.    Next i
  43.  
  44.    s = s - 1
  45.    ReDim Preserve Arr(s - 1)
  46.  
  47. End Sub
  48.  
  49. Public Function size() As Integer
  50. 'Return number of elements
  51.  
  52.    size = s
  53.  
  54. End Function
  55.  
  56. Public Function contains(ByVal n As Integer) As Boolean
  57. 'Returns if n has already been included
  58.  
  59.    Dim i   As Integer
  60.  
  61.    For i = 0 To (s - 1)
  62.  
  63.        If Arr(i) = n Then
  64.            contains = True
  65.            Exit Function
  66.        End If
  67.  
  68.    Next i
  69.  
  70.    contains = False
  71.  
  72. End Function
  73.  
  74. Public Function toArray() As Integer()
  75. 'Return Array
  76.  
  77.    toArray = Arr
  78.  
  79. End Function

Ejemplo de uso:

Código
  1. Dim c As New cSet
  2. Dim a() As Integer
  3.  
  4. Call c.add(1)
  5.  
  6. MsgBox c.Contains(1)
  7.  
  8. Call c.add(1)
  9. Call c.add(30)
  10.  
  11. MsgBox c.size
  12.  
  13. Call c.remove(1)
  14.  
  15. a = c.toArray

Saludos!!
3  Programación / Programación Visual Basic / cifrado IDEA en VB en: 9 Octubre 2010, 21:34 pm
He estado buscando el Cifrado IDEA (International Data Encryption Algorithm) para VB, pero no encuentro nada.
Si me pueden ayudar...

Gracias de antemano!!
4  Programación / Programación Visual Basic / Inyección en proceso externo en: 27 Septiembre 2010, 20:14 pm
Bueno, pues ya he terminado la inyección, basándome en un código en C para la misma función, pero me crashea el proceso al que me inyecto. Al parecer todo va bien, pero no se qué pasa.  :huh:

Os dejo el código para que le hecheis un ojo.

http://www.multiupload.com/34PD1WS3EJ

Saludos y gracias de antemano.
5  Programación / Programación Visual Basic / Problema con AddressOf [Solucionado] en: 26 Septiembre 2010, 15:03 pm
Buenas,
Necesito hallar la dirección en memoria de una función, y pasarla a otra función. Tenía entendido que con AddressOf esto era posible de la siguiente manera:

Código
  1. Public Function Principal ()
  2. Msgbox "Función principal"
  3. End Function
  4.  
  5. ....
  6.  
  7. OtraFuncion Parametro1, AddressOf Principal

Pero me tira el siguiente error:
Error de compilación:

Uso no válido del operado AddressOf

Gracias de antemano.
6  Programación / Programación Visual Basic / Función sSplit by Slek en: 13 Febrero 2010, 20:11 pm
Función que simula Split con Instr y Mid  ;D

Código
  1. Function sSplit(Str As String, Del As String) As String()
  2. 'Autor: Slek
  3. 'Fecha: 14/02/10
  4. 'Versión: 0.3
  5. 'Descripción: esta función simula Split de VB6
  6. 'Para Indetectables.net
  7. Dim lRet As Long, nRet As Long, i As Integer
  8. Dim lCont As Long, Cst As Long
  9. Dim Splitted() As String
  10.  
  11. If Del = "" Or Str = "" Then Exit Function
  12. If InStr(1, Str, Del) = 0 Then Exit Function
  13.  
  14. Str = Str & Del
  15. Cst = Len(Del)
  16.  
  17. lRet = InStr(1, Str, Del)
  18.  
  19. Do While lRet <> 0
  20.    lRet = InStr(lRet + Cst, Str, Del)
  21.    lCont = lCont + 1
  22. Loop
  23.  
  24. ReDim Splitted(lCont - 1)
  25.  
  26. lRet = 1 - Cst
  27.  
  28. For i = 0 To UBound(Splitted)
  29.    nRet = InStr(lRet + Cst, Str, Del)
  30.    Splitted(i) = Mid(Str, lRet + Cst, nRet - lRet - Cst)
  31.    lRet = nRet
  32. Next i
  33.  
  34. sSplit = Splitted
  35. End Function


Ejemplo de su uso:

Código
  1. Dim Tmp() As String
  2. Dim i as integer
  3.  
  4. Tmp = sSplit(Text1.Text, " ")
  5. For i = 0 to Ubound(Tmp)
  6. msgbox tmp(i)
  7. next i
7  Programación / Programación Visual Basic / CSoketMaster sin OCX de WinSock en System 32 en: 7 Enero 2008, 01:35 am
Una pregunta
¿Si usas el CSocketMaster el programa funciona sin tener ningun OCX ni el Visual Basic instalado? :huh:
Es que con el WinSock si necesita una DLL en System32 si no da error.
Un Saludo :)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines