Autor
|
Tema: programita (Leído 20,846 veces)
|
yako-_-
Desconectado
Mensajes: 157
Heroes Del Silencio
|
Buenas!! Les cuento.. lo que conseguí hacer hasta ahora fue esto Voy por buen o mar camino?? seria mas correcto entrar directamente a las entradas de registro o ver que tipo de reg pide el programa. Un saludo
|
|
|
En línea
|
Para que vivir, pudiendo trabajar los Domingos
Yako-_-
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
yako, como ves este programa a simple vista no tiene mucha complicacion de conseguir, pero nuestro mayor problema es el no disponer de un dispositivo Bluetooth conectado (el programa lo llama "dongle"), ya que el serial bueno lo obtiene a partir de la mac de la dongle, por lo que por ese camino no tiene interés que sigamos por nuestra parte, por eso te da el error de direcciones de memoria. veo que tienes habilitado el boton para entrar la key, (buen trabajo pues a veces no es facil de conseguir), yo he utilizado un camino a veces más rápido ya que el objetivo no es habilitar el botón, porque si tuviesemos la dongle con la mac el botón estaria habilitado. Lo que yo he hecho es utilizar el otró boton existente en el formulario que si está siempre habilitado, cambiandole la dirección de ejecución al pulsar, a la que le corresponderia al deshabilitado, y con esto obtenemos el resultado que queremos, en este caso seria intercambiar la dirección de ejecucion de la función "acRefreshExecute" que le corresponde al botón de refrescar, por la de la función "acAddExecute" que le correponde al botón de Entrar Key. (funciones que previamente hemos visto aprovechandonos de la información que nos da los editores de recursos): 00657E52 . /44806500 DD TextBlue.00658044 ; Entry address 00657E56 . |10 DB 10 00657E57 . |61 63 52 65 66 72 65 >ASCII "acRefreshExecute" 00657E67 |13 DB 13 00657E68 |00 DB 00 00657E69 . |30836500 DD TextBlue.00658330 ; Entry address 00657E6D . |0C DB 0C 00657E6E . |61 63 41 64 64 45 78 >ASCII "acAddExecute" -------------- cambiado quedaria asi: 00657E52 . /30836500 DD TextBlue.00658330 ; Entry address 00657E56 . |10 DB 10 00657E57 . |61 63 52 65 66 72 65 >ASCII "acRefreshExecute" 00657E67 |13 DB 13 00657E68 |00 DB 00 00657E69 . |30836500 DD TextBlue.00658330 ; Entry address 00657E6D . |0C DB 0C 00657E6E . |61 63 41 64 64 45 78 >ASCII "acAddExecute" como ana6 si tiene dongle, puede mirar las string referenced, que las hay muy intuitivas, por ejemplo estas 005DE500 /$ 53 PUSH EBX 005DE501 |. 8BD8 MOV EBX,EAX 005DE503 |. 53 PUSH EBX 005DE504 |. A1 0C116700 MOV EAX,DWORD PTR DS:[67110C] 005DE509 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 005DE50B |. B9 20E55D00 MOV ECX,TextBlue.005DE520 ; UNICODE "Licenced" 005DE510 |. BA 38E55D00 MOV EDX,TextBlue.005DE538 ; UNICODE "STR_DETECTED_LICENSED" 005DE515 |. E8 962C0800 CALL TextBlue.006611B0 005DE51A |. 5B POP EBX 005DE51B \. C3 RETN 005DE51C 10 DB 10 005DE51D 00 DB 00 005DE51E 00 DB 00 005DE51F 00 DB 00 005DE520 . 4C00 6900 6300 6500 6>UNICODE "Licenced" 005DE530 . 0000 UNICODE 0 005DE532 00 DB 00 005DE533 00 DB 00 005DE534 2A DB 2A ; CHAR '*' 005DE535 00 DB 00 005DE536 00 DB 00 005DE537 00 DB 00 005DE538 . 5300 5400 5200 5F00 4>UNICODE "STR_DETE" 005DE548 . 4300 5400 4500 4400 5>UNICODE "CTED_LIC" 005DE558 . 4500 4E00 5300 4500 4>UNICODE "ENSED",0 005DE564 /$ 53 PUSH EBX 005DE565 |. 8BD8 MOV EBX,EAX 005DE567 |. 53 PUSH EBX 005DE568 |. A1 0C116700 MOV EAX,DWORD PTR DS:[67110C] 005DE56D |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 005DE56F |. B9 84E55D00 MOV ECX,TextBlue.005DE584 ; UNICODE "Not Licenced" 005DE574 |. BA A4E55D00 MOV EDX,TextBlue.005DE5A4 ; UNICODE "STR_DETECTED_NOT_LICENSED" 005DE579 |. E8 322C0800 CALL TextBlue.006611B0 005DE57E |. 5B POP EBX 005DE57F \. C3 RETN
a ver que se guisa por ahí. en el siguiente codigo, tenemos un TEST AL,AL que dependiendo del resultado del flag nos lleva a Licensed o Not Licensed 0065F175 |. 84C0 |TEST AL,AL 0065F177 |. 74 15 |JE SHORT TextBlue.0065F18E 0065F179 |. 8D45 E8 |LEA EAX,[LOCAL.6] 0065F17C |. E8 7FF3F7FF |CALL TextBlue.005DE500 0065F181 |. 8B55 E8 |MOV EDX,[LOCAL.6] 0065F184 |. 8D45 F8 |LEA EAX,[LOCAL.2] 0065F187 |. E8 CC85DAFF |CALL TextBlue.00407758 0065F18C |. EB 13 |JMP SHORT TextBlue.0065F1A1 0065F18E |> 8D45 E4 |LEA EAX,[LOCAL.7] 0065F191 |. E8 CEF3F7FF |CALL TextBlue.005DE564
p.d. seguro que MCKSys, ya lo tiene resuelto, sin dongle ni na.
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
ana6 puedes poner un BP en la dirección 00658389 (que es donde vuelve despues de coger el serail), meter una key de 32 caracteres alfanumericos (en mis pruebas en algun momento comparó el tamaño con 32), pulsar intro y caerá en el BP, a partir de ahí sigue traceando con F7 para entrar en las primeras call y despues sigues con F8 hasta el Ret, luego sigues con F7 para entrar en la siguiente call, y sigues de nuevo con F8 hasta el Ret de nuevo, y asi sucesivamente, a ver si por alguna parte le sale el serial bueno para comparar con el malo introducido.
|
|
« Última modificación: 23 Mayo 2010, 11:04 am por LSL »
|
En línea
|
Saludos.
LSL.
|
|
|
yako-_-
Desconectado
Mensajes: 157
Heroes Del Silencio
|
Bravo LSL !!!
Yo también e cambiado y probado como hiciste tu a poner en el botón "acRefreshExecute" "acAddExecute" pero introduzco la clave y me tira el mismo error.
Por lo que te entiendo es por que no tengo el dispositivo, o por que lo compile con el propio editor de recursos a ti te tira el error?
lo de las strins también me fijé, pero me perdí por los call´s aun estoy muy verde comparado con vosotros.
A la conclusión que no llegue era que hacia falta el Bluetooth para poder ingresar la licencia, Creí que el registro se hacia a través de un web osea que lo de la MAC tenia algo que ver con un tipo de registro on-line (aun estoy muy verde).
LSL solo una pregunta. ¿Como llegaste al TEST AL,AL estuve buscado en los CALL pero no llego ahí podrías decirme como as hecho?
"Editado: ya llegue con Ctrl +R encima del "PUSH 5DE500" me equivoco?"
Gracias por el aporte, buen trabajo!!
|
|
« Última modificación: 23 Mayo 2010, 07:54 am por yako-_- »
|
En línea
|
Para que vivir, pudiendo trabajar los Domingos
Yako-_-
|
|
|
ana6
Desconectado
Mensajes: 21
|
Hola,
bueno cuando le pones un bluetooth como MAC coje 111111111111 eso creo que lo coje para la demo por defecto y dura 7 Minutos.
igual seria mejor el poder realizar como registro como este MAC
ana
|
|
« Última modificación: 23 Mayo 2010, 10:14 am por ana6 »
|
En línea
|
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
ana6, vuelve a leer mi post anterior, que te pongo instrucciones mas detalladas y corregida la dirección del BP para que pares el programa cuando coge el serial introducido, que te puse antes la del inicio del formulario.
el que te coge la MAC 111111111111, seguramente es porque no tienes un bluetooth de la marca y modelos que ellos venden con el programa, pero tracea a partir de la direccion 00658389, entrando en esas call que se ven abajo, en la forma que te he puesto en el post anterior.
00658330 $ 55 PUSH EBP 00658331 . 8BEC MOV EBP,ESP 00658333 . B9 06000000 MOV ECX,6 00658338 > 6A 00 PUSH 0 0065833A . 6A 00 PUSH 0 0065833C . 49 DEC ECX 0065833D .^ 75 F9 JNZ SHORT TextBlue.00658338 0065833F . 51 PUSH ECX 00658340 . 53 PUSH EBX 00658341 . 56 PUSH ESI 00658342 . 57 PUSH EDI 00658343 . 8BD8 MOV EBX,EAX 00658345 . 33C0 XOR EAX,EAX 00658347 . 55 PUSH EBP 00658348 . 68 96846500 PUSH TextBlue.00658496 0065834D . 64:FF30 PUSH DWORD PTR FS:[EAX] 00658350 . 64:8920 MOV DWORD PTR FS:[EAX],ESP 00658353 . 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 00658356 . E8 AD6FF8FF CALL TextBlue.005DF308 0065835B . 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] 0065835E . 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] 00658361 . E8 F2F3DAFF CALL TextBlue.00407758 00658366 . 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 00658369 . 50 PUSH EAX 0065836A . 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14] 0065836D . E8 166FF8FF CALL TextBlue.005DF288 00658372 . 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] 00658375 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 00658378 . E8 DBF3DAFF CALL TextBlue.00407758 0065837D . 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] 00658380 . 8D4D FC LEA ECX,DWORD PTR SS:[EBP-4] 00658383 . 5A POP EDX 00658384 . E8 BBDDE5FF CALL TextBlue.004B6144 ; aqui muestra la ventana de registro y espera al serial 00658389 . 84C0 TEST AL,AL ; aqui ponemos el BP para parar despues de coger el serial 0065838B . 0F84 BF000000 JE TextBlue.00658450 00658391 . 8B83 DC030000 MOV EAX,DWORD PTR DS:[EBX+3DC] 00658397 . BA B0846500 MOV EDX,TextBlue.006584B0 ; UNICODE "DONGLES_MAC" 0065839C . E8 5BE1F4FF CALL TextBlue.005A64FC 006583A1 . 50 PUSH EAX 006583A2 . 8B83 98030000 MOV EAX,DWORD PTR DS:[EBX+398] 006583A8 . E8 0B6CE4FF CALL TextBlue.0049EFB8 006583AD . 8B50 20 MOV EDX,DWORD PTR DS:[EAX+20] 006583B0 . 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24] 006583B3 . E8 D807DDFF CALL TextBlue.00428B90 006583B8 . 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24] 006583BB . 58 POP EAX 006583BC . E8 BF95EDFF CALL TextBlue.00531980 006583C1 . 8B83 DC030000 MOV EAX,DWORD PTR DS:[EBX+3DC] 006583C7 . BA D4846500 MOV EDX,TextBlue.006584D4 ; UNICODE "DONGLES_KEY" 006583CC . E8 2BE1F4FF CALL TextBlue.005A64FC 006583D1 . 50 PUSH EAX 006583D2 . 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34] 006583D5 . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 006583D8 . E8 B307DDFF CALL TextBlue.00428B90 006583DD . 8D55 CC LEA EDX,DWORD PTR SS:[EBP-34] 006583E0 . 58 POP EAX 006583E1 . E8 9A95EDFF CALL TextBlue.00531980 006583E6 . 33D2 XOR EDX,EDX 006583E8 . 55 PUSH EBP 006583E9 . 68 2C846500 PUSH TextBlue.0065842C 006583EE . 64:FF32 PUSH DWORD PTR FS:[EDX] 006583F1 . 64:8922 MOV DWORD PTR FS:[EDX],ESP 006583F4 . 8B83 DC030000 MOV EAX,DWORD PTR DS:[EBX+3DC] 006583FA . E8 09E1F4FF CALL TextBlue.005A6508 006583FF . 8B83 DC030000 MOV EAX,DWORD PTR DS:[EBX+3DC] 00658405 . E8 72A2EDFF CALL TextBlue.0053267C 0065840A . 8B83 98030000 MOV EAX,DWORD PTR DS:[EBX+398] 00658410 . E8 A36BE4FF CALL TextBlue.0049EFB8 00658415 . 8B40 08 MOV EAX,DWORD PTR DS:[EAX+8] 00658418 . 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] 0065841B . 33D2 XOR EDX,EDX 0065841D . 8B18 MOV EBX,DWORD PTR DS:[EAX] 0065841F . FF53 20 CALL NEAR DWORD PTR DS:[EBX+20] 00658422 . 33C0 XOR EAX,EAX 00658424 . 5A POP EDX 00658425 . 59 POP ECX 00658426 . 59 POP ECX 00658427 . 64:8910 MOV DWORD PTR FS:[EAX],EDX 0065842A . EB 24 JMP SHORT TextBlue.00658450 0065842C .^ E9 E3D5DAFF JMP TextBlue.00405A14 00658431 01 DB 01 00658432 00 DB 00 00658433 00 DB 00 00658434 00 DB 00 00658435 . DCF34000 DD TextBlue.0040F3DC 00658439 . 3D846500 DD TextBlue.0065843D 0065843D . 8B15 B8136700 MOV EDX,DWORD PTR DS:[6713B8] ; TextBlue.006772EC 00658443 . 8B12 MOV EDX,DWORD PTR DS:[EDX] 00658445 . 92 XCHG EAX,EDX 00658446 . E8 3981EAFF CALL TextBlue.00500584 0065844B . E8 F0D8DAFF CALL TextBlue.00405D40 00658450 > 33C0 XOR EAX,EAX
---------------------------------------------------------------------------
P.D. para yako, a mi tambien me da el error de memoria, porque cuando llegas a 006583AD . 8B50 20 MOV EDX,DWORD PTR DS:[EAX+20]
en el DS a copiar a EDX no hay una direccion de memoria valida, abajo te sale ??? esto es despues de comprobar la MAC de la dongle.
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
yako-_-
Desconectado
Mensajes: 157
Heroes Del Silencio
|
Hola!!
Ok, bueno creo que el tema ya esta. ana6 con la información que te dio LSL prácticamente tienes el trabajo hecho. Caza el serial o invierte el salto JE por JNE
una saludo!!
PD: Tanks LSL
|
|
|
En línea
|
Para que vivir, pudiendo trabajar los Domingos
Yako-_-
|
|
|
ana6
Desconectado
Mensajes: 21
|
HOLA.
e estado realizando por aca lo que dijo LSL y ahora cuando le doy a liciencias me sale un error de no fundado.
acepto y me sale lo de antes cuando salia la MAC licencia en blanco.
luego e probado con otro bluetooth que me an dejado y aparece otro mac sera que el serial es en relacion al numero segun bluetooth por que vienen cada uno con un numero?.
despues de realizar esto lo pongo en marcha y cuando le doy al play me dice que no esta registrado.
referante al lo que dice yako no se como se cambia de JE a JNE y supongo que es en la linea 0065838B . disculpa yako pero soy nueva en esto.
ahora como tengo dos lo e probado cada uno y sin tocar el programita en la MAC aparecen los dos, pero funcionan los dos durante el tiepo de la demo
no es mejor que se mirara lo del tiempo la limitacion de demo asi cuando cambias un bluetooth funcionaria siempre sin registaar y eliminar lo de los registros.
ana
|
|
« Última modificación: 24 Mayo 2010, 06:29 am por ana6 »
|
En línea
|
|
|
|
yako-_-
Desconectado
Mensajes: 157
Heroes Del Silencio
|
Hola !!
Si la dirección es 0065838B. Solo tienes que ponerte encima hacer doble click y poner JNE. Despues click derecho copy to executable etc. eso deberias saberlo ya!! XD
Te recomienro que te leas los tutoriales de RAtón y despues si te sigue gustando leete a Ricardo Narvaja, asi sabes mas o menos por donde van los tiros.
PD: es un consejo de otro novato
Un saludo
|
|
|
En línea
|
Para que vivir, pudiendo trabajar los Domingos
Yako-_-
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
todavia no esta resuelto el asunto: el salto de la dirección 0065838B no es el salto que hay que parchear, cuando sale del formulario de registro, si pulsamos en el botón OK sale AL con el valor 1, y al comprobarlo con TEST AL,AL, al ser distinto a 0 la flag Zero la deja desactivada con el valor 0, y en el JE no salta para efectuar el proceso de verificación de la key, y si en cambio salimos de formulario pulsando el botón Cancelar, sale AL con el valor 0 y al comprobar su valor con TEST AL,AL si es cero cambia la flag Zero a 1 (activada) y entonces el JE si salta, pero en este caso solo para evitar el codigo de registro al ser innecesario verificar nadada ya que le hemos dicho al programa que cancele los cambios. 00658384 . E8 BBDDE5FF CALL TextBlue.004B6144 ; aqui muestra la ventana de registro y espera al serial 00658389 . 84C0 TEST AL,AL 0065838B . 0F84 BF000000 JE TextBlue.00658450 Total en este sitio es ir traceando con con F7 cuando queremos entrar en las call en varios niveles y F8 cuando no queremos, para no hacer interminable el traceo, y ver si por alguna de las ventanas del olly nos sale el codigo de chico bueno. Si por aqui no consigues el codigo bueno, mira el codigo que te puse en la pagina anterior que si en tu programa pasas por la dirección del offset 0065f177, tienes un salto JE que te lleva a "Licensed" ó a "Not Licensed", que es este 0065F175 |. 84C0 |TEST AL,AL 0065F177 |. 74 15 |JE SHORT TextBlue.0065F18E 0065F179 |. 8D45 E8 |LEA EAX,[LOCAL.6] 0065F17C |. E8 7FF3F7FF |CALL TextBlue.005DE500 ; llamada a "Lincesed" 0065F181 |. 8B55 E8 |MOV EDX,[LOCAL.6] 0065F184 |. 8D45 F8 |LEA EAX,[LOCAL.2] 0065F187 |. E8 CC85DAFF |CALL TextBlue.00407758 0065F18C |. EB 13 |JMP SHORT TextBlue.0065F1A1 0065F18E |> 8D45 E4 |LEA EAX,[LOCAL.7] 0065F191 |. E8 CEF3F7FF |CALL TextBlue.005DE564 ; llamada a "Not Licensed"
reinicia el programa, pon un BP con F2 en la dirección 0065F177, si para el programa en el, pulsas el espaciador, reemplazas el "JE SHORT TextBlue.0065F18E" con NOP (con esto verás que el codigo hexadecimal 74 15 cambiará a 90 90), pulsas intro y despues escape para no modificar la siguiente linea, ahora sigues con run F9 con lo que lo forzamos a entrar en la call de "Licensed", y despues comprueba si en el programa dicho camino ha producido algun efecto beneficioso.
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
|
|