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 - MCKSys Argentina

#3781
Ingeniería Inversa / Re: Buscar valor de variable
26 Septiembre 2013, 17:13 PM
Cita de: ratamesi en 26 Septiembre 2013, 02:50 AM
como puedo hacer para obtener el valor de unas constantes de un programa echo en vb

En VB .NET? O en VB6?
#3782
Ingeniería Inversa / Re: Sistema de login muy seguro
26 Septiembre 2013, 17:11 PM
Cita de: TomaSs en 26 Septiembre 2013, 14:21 PM
Sabrían decirme los métodos que podría utilizar para hacer un login altamente seguro?
La cuestión sería que se envíen los datos de logeo a una base de datos remota y que esta devuelva si son correctos o no.
No pido como hacer la petición remota ni nada de eso, sino como debería cifrar la respuesta y comprobarla posteriormente (no con un simple if) de tal manera que no sea fácil de crakear.

Si te logeas contra un server, podrias hacer que el proggie use una DLL que este solo en el server y que se envie al user al loguearse. La DLL no deberia escribirse en disco, sino cargarse dinamicamente. Con ya te sacas de encima a varios...  :P

Para el login podrias usar un hashing tipo sha256, haciendo que el sistema sea mas seguro.

Cita de: TomaSs en 26 Septiembre 2013, 14:21 PM
Y ya aprovecho también, para preguntar sobre que "identificador" o algún número de serie o algo que me permita identificar un ordenador para así hacer que mi programa únicamente funcione en un pc concreto.
De esta manera podría basar también la respuesta de la base de datos en base a ese identificador también, para así cerciorarme de que se ejecuta únicamente en ese pc, y así hacer más difícil aún el crakeado.

Puedes usar la MAC address, serial del disco, CPUID, etc, etc.

Por supuesto, en .NET deberas usar algo mas que ofuscacion y ademas, para hacer la proteccion "bien jodida" deberías implementar checkeos aleatorios y aislados dentro del codigo, para verificar la autenticidad de user.

El nivel de protección aumentará proporcionalmente al tiempo que le dediques a la misma.

Saludos!
#3783
Eso oculta el form, pero no lo descarga de la memoria.

Lo que podrias hacer es algo así:

Código (vb) [Seleccionar]

Dim Logged As Boolean

Private Sub Command1_Click()
If Text1.Text = "jose123" Then
    Logged = True
    Unload Me
End If
End Sub

Private Sub Form_Load()
Logged = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
If Logged Then
    Load Form2
    Form2.Show
End If
End Sub


Ese código está en VB6 (este subforo es de VB6, no .NET :) )

Saludos!
#3784
En python:

Código (python) [Seleccionar]

def main():
    cuenta=0
    for i in range(1,36):
      for j in range(i+1,37):
        for k in range(j+1 , 38):
          for l in range(k+1 , 39):
            for m in range(l+1 , 40):
              for n in range(m+1 , 41):
                if i+j+k+l+m+n == 125:
                  print str(i) + " + " + str(j) + " + " + str(k) + " + " + str(l) + " + " + str(m) + " + " + str(n) + " = 125"
                  cuenta += 1
    print 'Total: %s' %cuenta

if __name__ == '__main__':
    main()


Imprime un total de 56363 combinaciones posibles.

Saludos!

PD: Segun el enunciado, los que no deben repetirse son los 6 números de la suma.
Las combinaciones posibles pueden repetir los números en diferentes posiciones, siempre y cuando no repitan números en la misma suma.
#3785
Al hacer and esp,0xfffffff0 lo que logra es poner el byte de menor peso de ESP en 0.
#3786
El jne de 0x08048406 es quien decide el flujo de ejecucion del programa.

El valor del flag que determina el salto se establece en la instruccion anterior: 0x08048402 (el cmp)

Y con eso ya sabes como hacer para que salga el win!

Saludos!
#3787
Cita de: yolanda10 en 24 Septiembre 2013, 21:24 PM
No se me ocurre como hacer el código para que cumpla con lo solicitado en el algoritmo, me pueden ayudar con el código

Bueno, yo sigo la regla del foro: no se hacen tareas. Por esto no te daré el codigo para que copies y pegues.

Necesitas hacerlo por ti mismo/a, sino NUNCA aprenderas.

Algunos tips:

Debes declarar las variables usadas y cerrar los for's.

Los resultados correctos (lo que cumplen el requisito) saldran en la ventana de debug (inmediato) si reemplazas el print por debug.print.

Podrias colocar todo el codigo en el evento click de un boton (por dar un ejemplo).

Saludos!
#3788
Cita de: yolanda10 en 24 Septiembre 2013, 02:26 AM
El código me genera error.

Claro que te generará error. Como puse, está en PSEUDO-CODIGO-VB (no se enojen, es lo único que se me ocurre para bautizar el algoritmo expuesto de esa forma).

Es la idea de lo que puedes hacer. Ahora debes armarte un código que haga lo que dice el algoritmo...  :P

Saludos!

Cita de: Danyfirex en 24 Septiembre 2013, 02:44 AM
Pasado a vb6 funciona bien

@MCKSys Argentina 56363 coincidencias  ;-)

:o No pensaba que iban a ser tantas!
#3789
Lo primero que se me ocurre es elgo como:

Código (vb) [Seleccionar]

for i = 1 to 35
  for j = i+1 to 36
    for k = j+1 to 37
      for l = k+1 to 38
        for m = l+1 to 39
          for n = m+1 to 40
            if i+j+k+l+m+n = 125 then
              print i & " + " & j & " + " & k & " + " & l & " + " & m & " + " & n & " = 125"
             
             
PD: En pseudo-vb-codigo (:))
#3790
Seguridad / Re: Programa de control parental.
23 Septiembre 2013, 23:46 PM
Creo que lo mejor seria que le pongas una maquina virtual y listo.

Haga lo que haga, no podra romper el PC exterior. (No, a menos que usen lagun exploit para la VM que estes usando...)

Si bien VirtualBox es gratis, te recomiendo VMWare Workstation (hay versiones "libres" por ahi  ;))

Saludos!