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 - W0lFy

#11
Perdon por retrasarme. Siento revivir temas antiguos no he tenido mucho tiempo de pasarme por el foro. Os pongo la función y os digo que hace:


Código (VB) [Seleccionar]

Function SumaNumSucesion(num1 As Integer, num2 As Integer, min As Integer, max As Integer) As Integer
    Dim condicion As Integer
    Dim condicion2 As Integer
    Dim condicion3 As Integer
    Dim condicion4 As Integer
    Dim condicion5 As Integer
    Dim calculo As Integer
    Dim calculo2 As Integer
    Dim calculo3 As Integer
    Dim calculo4 As Integer
    condicion = Int(num1 / (max - min + 1)) ' 0 si num1 es mayor de 224
    condicion2 = Int(num2 / (max - min + 1)) ' 0 si num2 es mayor de 224
    condicion3 = Int((num1 + num2) / (max + 1)) '0 si num2+num1 es mayor de 255
    condicion4 = Int((num1 + (num2 Mod (max - min + 1))) / (max + 1)) '
    condicion5 = ((1 - Int(num1 / (max - min + 1))) * (Int(num2 / (max - min + 1))) + (Int(num1 / (max - min + 1))) * (1 - Int(num2 / (max - min + 1))))
    calculo = num1 + num2
    calculo2 = num1 - (max - min + 1 - num2)
    calculo3 = (num1 + (num2 Mod (max - min + 1))) Mod (max - min + 1)
    calculo4 = num1 + (num2 Mod (max - min + 1))
    SumaNumSucesion = (calculo) * (1 - condicion3) + ((calculo2) * (condicion5) + ((calculo3) * (condicion4) + (calculo4) * (1 - condicion4)) * (1 - condicion5)) * (condicion3)
End Function




Function restaNumSucesion(num1 As Integer, num2 As Integer, min As Integer, max As Integer) As Integer
    Dim condicion As Integer
    Dim condicion2 As Integer
    Dim condicion3 As Integer
    Dim condicion4 As Integer
    Dim calculo As Integer
    Dim calculo2 As Integer
    Dim calculo3 As Integer
    Dim calculo4 As Integer
    condicion = Int((num1 - num2 + (max - min + 1)) / (max + 1)) 'num 1 - num2 >31 = 1 si cierto
    condicion2 = Int(num2 / (max - min + 1)) ' 0 si es menor de 224
    condicion3 = Int(((num1 - (num2 Mod (max - min + 1)) + (max - min + 1))) / (max + 1))
    calculo = num1 - num2
    calculo2 = max + 1 - (num2 - (num1 - min))
    calculo3 = num1 - (num2 Mod (max - min + 1))
    calculo4 = max + 1 - (num2 Mod (max - min + 1) - (num1 - min))
    restaNumSucesion = (1 - condicion2) * ((calculo) * (condicion) + (calculo2) * (1 - condicion)) + (condicion2) * ((condicion3) * (calculo3) + (1 - condicion3) * (calculo4))
End Function



Bueno Decidí meterlo en variables para que el código fuera mas legible.
Estuve realizando un algoritmo de cifrado de cadenas de texto y se me ocurrio la idea de realizar los siguiente( no se si ya existirá en la actualidad, supongo que si...)


Código (vb) [Seleccionar]

Public Function jrgStringToString(cadena As String) As String
    Dim i As Integer
    cadenaAux = ""
    Dim num1 As Integer
    Dim num2 As Integer
    Dim min As Integer
    Dim max As Integer
    min = 31
    max = 254
    Dim caracter1, caracter2 As String
    Dim mitad As Long
    mitad = Len(cadena) / 2
    For i = 1 To mitad Step 1
        caracter1 = Mid(cadena, i, 1)
        caracter2 = Mid(cadena, i + Len(cadena) / 2, 1)
        num1 = Asc(caracter1)
        num2 = Asc(caracter2)
        cadenaAux = cadenaAux & Chr(restaNumSucesion(num1, num2, min, max))
    Next
    jrgStringToString = cadenaAux
End Function


Código (vb) [Seleccionar]


Public Function stringToJrgString(cadena As String) As String
Dim i As Long
Dim max As Integer
Dim min As Integer
Dim num1 As Integer
Dim num2 As Integer
Dim cadenaAux As String
Dim cadenaAux2 As String
Dim NumAleatorio As Integer
min = 31
max = 254
cadenaAux = ""
cadenaAux2 = ""
For i = 1 To Len(cadena)
     NumAleatorio = aleatorio(Mid(cadena, i, 1))
     num1 = Asc(Mid(cadena, i, 1))
     cadenaAux = cadenaAux & Chr(SumaNumSucesion(num1, NumAleatorio, min, max))
     cadenaAux2 = cadenaAux2 & Chr(NumAleatorio)
Next
stringToJrgString = cadenaAux & cadenaAux2
End Function




Public Function aleatorio(caracter As String) As Integer
    Call Randomize
    Dim NumAleatorio As Integer
    NumAleatorio = Int((254 - 31) * Rnd() + 31)
    aleatorio = NumAleatorio
End Function


El código es simple lo que hace es que una cadena ya sea "hola que tal".
Recorre la cadena por caracter y va haciendo lo siguiente:

stringtoJRGstring():
cadena1resultado=asc(h) & asc(o) & asc(l) &....asc(l)
cadena2resultado=chr(asc(h)+ numAleatorio)
stringtoJRGstring=cadena1resultado & cadena2resultado


jrgstringtoString():  divide la cadena en 2 cadenas ya que será par. la primera cadena son los caracteres y la segunda cadena  pasada a ascci son los numeros que le tenemos que restar a su caracter, para que nos devuelva su verdadero valor en caracter.

PD. No se si ya existiría por algún lado, se me ocurrio y lo programe. Si teneis alguna duda preguntarme no se si me habré explicado bien. Un saludo



#12
Programación Visual Basic / Re: Hotkeys
3 Febrero 2012, 10:06 AM
Revivo, encontre la siguiente manera, pero con el tiempo la memoria RAM se dispara :S!!! Existe otra manera mas eficiente? Un saludo

Código (vb) [Seleccionar]

Public Const MOD_CONTROL As Long = &H2
Public Const MOD_SHIFT As Long = &H4
Public Const MOD_ALT = &H1

Código (vb) [Seleccionar]
Public Function NewWindowProc( _
                ByVal hwnd As Long, _
                ByVal Msg As Long, _
                ByVal wParam As Long, _
                ByVal lParam As Long) As Long
 
    If Msg = &H82 Then
         
       Call SetWindowLong(hwnd, GWL_WNDPROC, WinProc)
       Call UnregisterHotKey(hwnd, 1)
     
    End If
 
     
    If Msg = &H312 Then
          MSgbox "Combinación presionada"
    End If
    NewWindowProc = CallWindowProc(WinProc, hwnd, Msg, wParam, lParam)
 
End Function


Código (vb) [Seleccionar]

Call RegisterHotKey(hwnd, 1, teclaWparamEnCadena("[SHIFT] + [CONTROL] + [D]"), teclaLparamEnCadena("[SHIFT] + [CONTROL] + [D]"))


Código (vb) [Seleccionar]


Public Function teclaWparamEnCadena(cadena As String) As Long
Dim vDatos As Variant
Dim result As Long
Dim i As Integer
vDatos = Split(cadena, "+")
result = 0
For i = 0 To UBound(vDatos)

    Select Case Trim(vDatos(i))
        Case "[SHIFT]":
            result = result + MOD_SHIFT
           
        Case "[ALT]"
            result = result + MOD_ALT
        Case "[CONTROL]"
            result = result + MOD_CONTROL
    End Select
Next
teclaWparamEnCadena = result
End Function
#13
Ace poco hice algo referente a esto, Me baje una Dll que convertía a JPG, existe alguna api que pueda hacerlo? Gracias
#14
Programación Visual Basic / Re: Hotkeys
13 Enero 2012, 09:31 AM
Cita de: Psyke1 en 11 Enero 2012, 20:02 PM
http://foro.elhacker.net/aporte_uchotkey-t315630.0.html
http://foro.elhacker.net/programacion_visual_basic/vb6_creacion_de_un_keylogger_avanzado_hook-t264469.0.html
http://leandroascierto.com/blog/keylogger/

Thank you  ;)

Citar
DoEvents! :P

Me.frefresh!!!

#15
Programación Visual Basic / Hotkeys
11 Enero 2012, 03:32 AM
Cual es la mejor manera de desarrollarlo? He visto algun ejemplo con un timer que realiza la llamada a getAsynkeyState(key). Pero esto es ineficiente
No se me ocurre la manera con hooks de recoger una combinación de teclas pulsadas. Alguien me echa un cable? Gracias!
#16
Bueno para los que os interese.... aunque solo es orgulllo propio aqui dejo la funcion Suma y mas tarde hare la de resta:

Código (vb) [Seleccionar]
Function SumaNumSucesion2(num1 As Integer, num2 As Integer, min As Integer, max As Integer) As Integer
    SumaNumSucesion2 = (num2 + num1) * (1 - Int((num1 + num2) / (max + 1))) + ((num1 - (224 - num2)) * (Int((num1 + (num2 Mod 224)) / (max + 1))) + ((num1 + (num2 Mod (max - min + 1))) Mod (max - min + 1)) * (1 - Int((num1 + (num2 Mod (max - min + 1))) / ((max - min + 1) + 1)))) * Int((num1 + num2) / (max + 1))
End Function
#17
Programación General / Re: Ejercicio Pascal
5 Enero 2012, 10:43 AM
por que no cambias un poquito la funcion, te dejo una que se entiende mejor:
Código (pascal) [Seleccionar]
PROGRAM
VAR
a:integer;

PROCEDURE escrbirImpar(num:integer)
VAR i,j,limite,cont:integer;
BEGIN
cont:=0;
limite= num div 2 + num mod 2;
FOR i := num DOWNTO 1 BEGIN
cont = (i div limite) * (limite - (i Mod limite + 1)) + ((i Mod limite - 1) - (i div limite) * (i Mod limite - 1))
   For j:= 1 To cont
        print(' ');
   println(i);
   END;
END;

BEGIN
read(a);
escrbirImpar(a);

END.





Pd. Habra algún error de compilación no recuerdo si los procedimientos ivan arriba o abajo de las variables... espero que te sirva :D
#18
Hola muy buenas:

me gustaría simplificar estas dos funciones a una linea sola, he estado pensando y tiene que haber algun algoritmo que engoble a todas las condiciones.El ejercicio es sencillo de entender:

Tenemos numeros que estan coprendidos en el rango 31..254

aqui os dejo las funciones:

estan en VB
Código (vb) [Seleccionar]
Function sumaNumSucesion(num1 As Integer, num2 As Integer, min As Integer, max As Integer) As Integer
If num2 + num1 > max Then
   If (num1 + (num2 Mod (max - min))) Mod (max - min) < 31 Then
       sumaNumSucesion = num1 - ((max - min) - num2)
   Else
       sumaNumSucesion = (num1 + (num2 Mod (max - min))) Mod (max - min)
   End If
Else
   sumaNumSucesion = num1 + num2
End If
End Function

Function restaNumSucesion(num1 As Integer, num2 As Integer, min As Integer, max As Integer) As Integer
Dim numAux As Integer
If num1 - (num2 Mod (max - min)) < min Then
   restaNumSucesion = num1 - 31 + max - (num2 Mod (max - min))
   
Else
   restaNumSucesion = num1 - num2 Mod (max - min)
End If
End Function


me gustaria dejarlas asi:

Código (vb) [Seleccionar]
Function restaNumSucesion(num1 As Integer, num2 As Integer, min As Integer,max as integer)
restaNumSucesion=?????????
end function

Function sumaNumSucesion(num1 As Integer, num2 As Integer, min As Integer,max as integer)
sumaNumSucesion=?????????
end function


para mi es mas un reto Matemático, no consigo el algoritmo que engoble a todas las condiciones, he estado jugando con mod y div(entera) y an asi no logro encontrar el algoritmo. Un saludo Espero haberme explicado bien. Gracias!! ::)
#19
es un sistema de cifrado? me ha llamado la atencion por que yo ando haciendo tambien algoritmos de cifrado. Un saludo!
#20
Análisis y Diseño de Malware / Re: Keylogger Hooks
28 Diciembre 2011, 19:58 PM
Cita de: Karcrack en 28 Diciembre 2011, 09:50 AM
Leete este paper, es imprescindible.
y que lo digas....  :rolleyes:
TNKX