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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [52] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 ... 75
511  Programación / Programación Visual Basic / Re: Número aleatorio en: 7 Junio 2008, 07:48 am
A nada, dejemoslo ahi por que ultimamente lo unico que se hace es discutir en este sub foro.

Tema solucionado.

Edit: solo por curiosidad arme esto, posiblemente a alguien le interese

Código
  1. Option Explicit
  2.  
  3. 'Reference
  4. 'http://world.std.com/~franl/crypto/random-numbers.html
  5.  
  6. 'ANSI C (rand())
  7. Public Function ANSI_C_Rand(Optional lSeed As Long) As Long
  8.    Static SEED As Double
  9.    If Not lSeed = 0 Then SEED = lSeed
  10.    SEED = CustomMod((1103515245 * SEED + 12345), 2 ^ 31)
  11.    ANSI_C_Rand = SEED
  12. End Function
  13.  
  14. 'Microsoft C v4.0 rand()
  15. Public Function Microsoft_C_Rand(Optional lSeed As Long) As Long
  16.    Static SEED As Double
  17.    If Not lSeed = 0 Then SEED = lSeed
  18.    SEED = CustomMod((214013 * SEED + 2531011), 2 ^ 31)
  19.    Microsoft_C_Rand = Int(SEED / 2 ^ 16)
  20. End Function
  21.  
  22. 'Turbo Pascal v6.0 (random)
  23. Public Function Turbo_Pascal_Rand(Optional lSeed As Long) As Long
  24.    Static SEED As Double
  25.    If Not lSeed = 0 Then SEED = lSeed
  26.    SEED = CustomMod((134775813 * SEED + 1), 2 ^ 32)
  27.    Turbo_Pascal_Rand = Int(SEED / 2 ^ 16)
  28. End Function
  29.  
  30. '// Custom mod to prevent overflow
  31. ' This is not mine is from a RSA implentation I found on PSC
  32. Private Function CustomMod(ByVal dVal1 As Double, ByVal dVal2 As Double) As Double
  33.    CustomMod = dVal1 - (Int(dVal1 / dVal2) * dVal2)
  34. End Function
512  Programación / Programación Visual Basic / Re: sockets e interpretacion de instrucciones (mini tuto?) en: 7 Junio 2008, 01:46 am
Sabes algo, yo no voy de sobrado ni nada, estoy haciendo un aporte y punto, en primera instacia no entiendo el fin de tu comentario, si vas a decir algo por lo menos que sea con razon.

Porque no declararias el delimitador como una constante? que veneficios te trae? ninguno al contrario posiblemente cause mas problemas que otra cosa aparte si hablas de optimizacion me imagino que sabes que VB se maneja mucho mas rapido las constantes.

Bueno no voy a discutir mas, al parecer es mas facil criticar que aportar.
513  Programación / Programación Visual Basic / Re: Número aleatorio en: 6 Junio 2008, 22:58 pm
JAJAJAJA mucho chiste pero nadie dijo nada acerca de "aleatorios"
514  Programación / Programación Visual Basic / Re: Número aleatorio en: 6 Junio 2008, 21:49 pm
Te lo contesto antes de que se arme un lio.
No tendrias que preguntar este tipo de cosas sin siquiera buscar!

Randomize Timer
Debug.Print Int((Rnd * 3) + 1)
515  Programación / Programación Visual Basic / Re: Detectar cierre de portátil en: 6 Junio 2008, 19:45 pm
Mira despues de investigar un poco me parece qu encontre la respuesta

http://msdn.microsoft.com/en-us/library/aa373195(VS.85).aspx

mas concretamente GUID_MONITOR_POWER_ON
516  Programación / Programación Visual Basic / Re: sockets e interpretacion de instrucciones (mini tuto?) en: 6 Junio 2008, 16:43 pm
[en este caso los declare como constantes para  evitar errores y facilitar su modificacion]

Este ejemplo es solamente una guia para poder demostrar como es la "tecnica", pero en un programa mas complejo seria muy molesto y se prestaria a errores  tener que modificar absolutamente todos los delimitadores a mano en vez de modificar 1 constante si se diera el caso de necesitarlo.

Call o no Call esa es la cuestion, hace alguna diferencia? NO

No entiendo este tipo de acotaciones... es como hacer un post porque alguien declaro una variable llamandola "i" y a mi me gustaria que se llame "j".
517  Programación / Programación Visual Basic / sockets e interpretacion de instrucciones (mini tuto?) en: 6 Junio 2008, 15:00 pm
Bueno la verdad soy MUY malo explicando asi que voy a tratar de hacer lo mejor posible.

Hay una duda y/o problema recurrente, como enviar e interpretar instrucciones usando winsock, voy a intentar mostrar una tecnica muy simple de hacerlo utilizando CallByName a ver si terminan las preguntas y PMs con respecto a este tema.

En un Form
Código
  1. Option Explicit
  2.  
  3. Private Const DELIMITER As String = "|" ' delimitador para separar instrucciones
  4.  
  5. Private Const inst_MSG  As String = "inst_MENSAJE"  'nombre de nustra instruccion
  6. Private Const inst_BEEP As String = "inst_BEEP"     'nombre de otra instruccion
  7.  
  8. Private Sub Form_Load()
  9.  
  10.    'esto es simplemente para imitar el arrivo de datos
  11.    TestDataArival inst_MSG & DELIMITER & "Hello"
  12.    TestDataArival inst_BEEP
  13.    TestDataArival inst_MSG & DELIMITER & "Bye Bye"
  14.  
  15. End Sub
  16.  
  17. 'sData seria la variable con los datos que llegaron del socket
  18. Private Sub TestDataArival(sData As String)
  19.    Dim cInstInt    As New cInstructionInterpreter
  20.  
  21.    'Vemos si la funcion tiene o no parametros
  22.    If UBound(Split(sData, DELIMITER)) > 0 Then
  23.        'llamamos a la funcion con parametros
  24.        CallByName cInstInt, Split(sData, DELIMITER)(0), VbMethod, sData
  25.    Else
  26.        'llamamos una funcion sin parametros
  27.        CallByName cInstInt, Split(sData, DELIMITER)(0), VbMethod
  28.    End If
  29. End Sub
  30.  

bueno en el primer code lo que vemos es muy simple tenemos 3 llamadas a TestDataArival pasandole unos parametros que en este caso serian nustras instrucciones  o comandos a ejecutar. la estructura del mensaje es simple [instruccion/delimitador/dato/.../delimitador/dato] en este caso los declare como constantes para  evitar errores y facilitar su modificacion (nada misterioso hasta aca)

en la funcion TestDataArival, lo primero que vemos es [ Dim cInstInt    As New cInstructionInterpreter] simplemente creamos una instancia de nuestra clase, luego un simple if que va a llamar a CallByName de 2 maneras diferentes dependiendo de si tenemos o no datos para pasarle a la instruccion

En una clase (yo la llame cInstructionInterpreter)
Código
  1. Option Explicit
  2.  
  3. Private Const DELIMITER As String = "|"
  4.  
  5. Public Sub inst_MENSAJE(ByVal sData As String)
  6.    Dim svData() As String
  7.  
  8.    If SplitData(sData, 1, svData) Then
  9.        MsgBox svData(1)
  10.    End If
  11.  
  12. End Sub
  13.  
  14. Public Sub inst_BEEP()
  15.    Call Beep
  16. End Sub
  17.  
  18. 'funcion generica para dividir y validar los datos
  19. Private Function SplitData( _
  20.    ByVal sData As String, _
  21.    ByVal lExpectedParams As Long, _
  22.    ByRef svData() As String) As Boolean
  23.  
  24.    svData = Split(sData, DELIMITER)
  25.  
  26.    If UBound(svData) >= lExpectedParams Then
  27.        SplitData = True
  28.    End If
  29.  
  30. End Function
  31.  

Bueno la clase en si tampoco tiene mucho, 2 funciones declaradas como publicas que son nustros comandos, los nombres de estas funciones tienen que coincidir con los que utilizamos para llamarlar  y una tercera que es privada simplemente para dividir y validar los datos.

bueno para los que no tienen idea de como usar CallByName aca les dejo unos links

http://msdn.microsoft.com/en-us/library/chsc1tx6(VS.80).aspx

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/153-callbyname.htm
 
Si alguno quiere agregar algo para hacer esto mas claro que lo haga sin problemas se que puede ser un poco confusa mi explicacion.

Espero que sea util.
518  Programación / Programación Visual Basic / Re: Comprobar password de usuario de windows desde VB en: 6 Junio 2008, 01:50 am
http://msdn.microsoft.com/en-us/library/aa370650(VS.85).aspx
519  Programación / Programación Visual Basic / Re: Ejecutar de modo oculto .bats, exes ,etc en: 5 Junio 2008, 23:59 pm
Panda los detecta
520  Programación / Programación Visual Basic / Re: AutoIt !!!----> Solucionado en: 5 Junio 2008, 20:56 pm
Alguno entro a la pagina oficil? hay manuales ejemplos y un foro lleno de cosas.
Páginas: 1 ... 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [52] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 ... 75
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines