Test Foro de elhacker.net SMF 2.1

Programación => Ingeniería Inversa => Mensaje iniciado por: mauriporto en 26 Julio 2005, 19:14 PM

Título: QUE HACE ESTE CODIGO??
Publicado por: mauriporto en 26 Julio 2005, 19:14 PM
Logre abrir un programa en fox y llegue al siguiente algoritmo, necesito que me ayuden a ver que hace este codigo necesito saber el numero de permiso. Gracias

PROCEDURE Click
n = thisform.text2.value
r = ''
j = 15
FOR i = 1 TO 16
     r = r + ALLTRIM(STR(INT(n / (10 ^ j))))
     n = thisform.text2.value - VAL(r) * (10 ^ j)
     j = j - 1
ENDFOR
p = ALLTRIM(thisform.text4.value)
paux = ''
aux = VAL(CHR(ASC(RIGHT(r, 10)))) + VAL(CHR(ASC(RIGHT(r, 9))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 12)))) + VAL(CHR(ASC(RIGHT(r, 8))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 16)))) + VAL(CHR(ASC(RIGHT(r, 11))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 15)))) + VAL(CHR(ASC(RIGHT(r, 13))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 14)))) + VAL(CHR(ASC(RIGHT(r, 6))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 4)))) + VAL(CHR(ASC(RIGHT(r, 1))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 5)))) + VAL(CHR(ASC(RIGHT(r, 7))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
aux = VAL(CHR(ASC(RIGHT(r, 3)))) + VAL(CHR(ASC(RIGHT(r, 2))))
IF aux > 9
     a = aux
     b = INT((a - INT(a / 10) * 10))
     aux = b + INT(aux / 10)
ENDIF
paux = paux + LTRIM(STR(aux))
IF ALLTRIM(paux) = ALLTRIM(p)
     WAIT WINDOW 'Número de Permiso correcto'
     SELECT directoriosistema
     dd = ALLTRIM(ubicacion1) + "kcpwin.dll"
     ddd = ALLTRIM(ubicacion2) + "niwpck.win"
     arch = FOPEN(dd, 1)
     FPUTS(arch, ALLTRIM(thisform.text1.value))
     FPUTS(arch, 'fab')
     FCLOSE(arch)
     arch = FCREATE(ddd)
     FPUTS(arch, 'sd2=)f}´ds{oil]]u43oiA-/pf$#%6430U9Dñá8ÜFB,-sfd')
     FCLOSE(arch)
     registro123 = .T.
     USE permiso_opcion
     IF donde = .T.
          DO FORM clave
          SELECT permiso_opcion
     ENDIF
     RELEASE thisform
ELSE
     IF ALLTRIM(thisform.text4.value) = '2547896245'
          IF donde = .T.
               IF limite() = .F.
                    WAIT WINDOW 'Número de Permiso incorrecto'
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: Tor en 27 Julio 2005, 00:53 AM
creo que deberias postear en ingenieria inversa, meek es el k lleva esto...
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: Real_Nova en 16 Junio 2007, 23:54 PM
Compilalo y tracealo.. T va a ser dificil q alguien t conteste,... Y ademas t va a servir a vos
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: karmany en 17 Junio 2007, 00:14 AM
Hombre si tienes el programa compilado igual podemos echarle un vistazo mejor..

Lo primero de todo ¿has probado? 2547896245

EL código no tiene pinta de ser muy difícil:
n = thisform.text2.value ;n es el valor de un textbox llamado text2
r = r + ALLTRIM (STR(INT(n/(10^j)))) ;ALLTRIM se utiliza para quitar espacios. STR te convierte un número en cadena (pero te suele dejar creo un espacio delante), lo demás es sencillo
IF ALLTRIM(paux) = ALLTRIM(p) ; Creo que esta es la comparación para el número de permiso correcto. Si consigues compilar el programa lo debuggeamos y ponemos un BP aquí, a ver qué resultados nos arroja.

Mira voy a intentar una cosa: Voy a intentar escribirlo en VB6 y ver qué hace la comparación.

PD. Veo que hay dos textbox, me tienes que indicar qué hay que poner en cada uno. En text4 ya veo que hay que poner el serial y en text2?
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: karmany en 17 Junio 2007, 00:27 AM
Ya lo he pasado a VB6. Es necesario conocer el valor de text2, ya que influye en el resultado.
Si lo compilas mejor que mejor.
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: tena en 17 Junio 2007, 04:45 AM
Ey Karmany creo que estas haciendo el trabajo de molestarte al pedo. No se si te habreas dado cuenta pero estas contestando una pregunta de hace 2 años, exactamente desde 26 Julio 2005.
Asi que no creo que te consteste.

Y como es de hace 2 años no le veo sentido de que lo hayan movido a Ingenieria Inverza.

Saludos
Tena
Título: Re: QUE HACE ESTE CODIGO??
Publicado por: karmany en 17 Junio 2007, 10:25 AM
¡Joer! tienes razón tena...
¿Por qué responde la gente a temas de 2 años?

Gracias tena, un saludo.

PD. Real_Nova ¡¡NO respondas a hilos de hace 2 años!!