En este grupo En todos

Grupo de Java



Huella Digital... Decompilacion de clases java

Alejandro
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 15/10/2008

Bueno el motivo por el cual inicio este debate es por el hecho de que tengo que desarrollar una aplicacion en java capaz de comunicarse con nuestra base de datos en mysql... Je esto es mas que facil cierto? Bueno ahora la informacion que se enviara a la base de datos es la clave.. Se requiere de autentificacion de huella digital, para esto ya se cuenta con el aparato que es un Fingkey Hamster I, yo he estado analizando algunos programas en la red y me intereso el Fingerprint SDK 2007 que se encuentra en esta pagina https://www. Brothersoft. Com/fingerprint-sdk-68829. Html aqui viene codigo fuente, que se muestra viene en varios lenguajes (carpeta samples), asi que yo tome obviamente el de java.. Aqui se encuentra un jar ejecutable o la version con un applet, yo tome el applet puesto que manejamos un entorno web (basado en php) para la aplicacion principal. Ahora...

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 15/10/2008

A se me olvidaba tiene seguridad que pues habra que romper (yo ya lo hice) esto se hace agregando una linea de codigo al archivo java policy ubicado en C:\Program Files\Java\jre(version)\lib\security

Grant codeBase "file:/C:/-" {

Permission java.security.AllPermission;

};

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 15/10/2008

Changos se corto mi mensaje ja

al decompilar una clase llamada GrFinger me salio algo SUPER interesante jaja

Public

class GrFinger

{

private class GrFingerNativeClassLoader extends ClassLoader

{

public GrFingerNativeClassLoader()

{

/*Aqui*/
super
(GrFinger. class $com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader!= null ? GrFinger. class $com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader : (GrFinger. class $com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader = GrFinger. _mthclass$(" com.griaule.grFinger. GrFinger$GrFingerNativeClassLoader "))). GetClassLoader());

/*Aqui*/
}

}
//codigo
//mas codigo
//y mas codigo
}


Aqui la pregunta es como reducir la expresion del super a terminos compilables?

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 31/10/2008

Ya encontre la respuesta je

Ana Caicedo
Madrid, España
Escrito por Ana Caicedo
el 18/07/2009

Desearia saber sobre applet digital que puedo hacer no me deja descargar el informe telematico de vehiculos, ya que me dice que no se puede instalar el applet digital.

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 20/07/2009

Creo que te refieres a la firma digital del applet (Digital signature).. Seguramente quieres instalar un software con algunas deficiencias estructurales, o bien quieres instalar un software sin la autorizacion del proveedor.. Intenta buscar una version mas actual o mas estable o bien paga los derechos del software antes de utilizarzo para que te den de alta en las bases de datos de la compañia y te activen el permiso de instalacion o la firma digital..

Hector Garcia
Santander, Colombia
Escrito por Hector Garcia
el 20/11/2009

Como terminaste con el proyecto me interesa una parte, si me podrias colaborar, yo lo quiero montar en paginas web jsp. Se te agradece la colaboracion.

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 20/11/2009

Pues una vez compiladas todas las clases solo habia que agregar una linea de codigo para la insercion del objeto imagen de tipo BLOB a la base de datos y presto tu huella digital en la base de datos. Para compararlas se hace una comparativa de objetos pero ese "matcheo" ya viene incluido en la aplicacion me gustaria que fueras mas especifico kon tus preguntas y asi poderte ayudar siendo mas especifico. Otra cosa ya hace ratito de eso y no tengo respaldo alguno de las clases recompiladas (esas quedaron en mi PC de mi antiguo trabajo) por lo que solo podre guiarte en cuestiones de diseño y de implementacion en codigo tendria ke chekar lo ke tienes y en base a eso hacer un analisis saludos.

Cesar Mujica
Miranda, Venezuela
Escrito por Cesar Mujica
el 05/02/2010

:S buenas tardes resulta que en mi empresa estan interesados en aumentar la seguridad de las aplicaciones por medio de capta huellas tambien encontre el griaule sdk muy util pero al intentar decompliar me dio ese codigo


Super(GrFinger. Class$com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader! = null? GrFinger. Class$com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader : (GrFinger. Class$com$griaule$grFinger$GrFinger$GrFingerNativeClassLoader = GrFinger. _mthclass$("com.griaule.grFinger. GrFinger$GrFingerNativeClassLoader"))). GetClassLoader());


El cual no puede ser procesado por el IDE podrias comentarnos que cambios hiciste para hacerlo funcionar?

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 05/02/2010

Jeje aaah que tiempos aquellos... Pues mira no recuerdo la linea exactamente creo que estoy algo oxidado con el java ya que aqui en mi nuevo trabajo utilizamos delphi... Jajaa lo se yo tambien preferiría java... Recuerdo que esto es la fabrica de objetos que utiliza la aplicación para instanciar las interfaces...

Mira yo lo que hice fue calar con varios decompiladores ya que cada uno tiene un algoritmo de decompilación diferente y pues di con uno que me dio el super reducido y que si se podia compilar..

Dj decompiler

Jdec

JODE

Jad

Seguro ya conoces alguno.. Por politicas de la empresa mi código era propiedad de la misma.. Por lo que publicarlo en lugares como este sería ilegal... Según esto.. Ja pero con esa pista creeme que lo resolveras en cuestion de dias o tal vez horas...


Cesar Mujica
Miranda, Venezuela
Escrito por Cesar Mujica
el 08/02/2010

Jejeje bueno antes que nada gracias por la respuesta, y si, en efecto conozco esos decompiladores de hecho el error que se me genera es con el Dj decompiler encontre esta pagina https://wiki.openfi.org/? Title=SimpleCenter_Hacking he hice lo que me sugerian pero nada que me funciona! Agradeceria su apoyo en el tema!

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 08/02/2010

Mira haz esto.. El código que te da el DJ, vas a utilizalo todo, menos la expresión del super... Utilizando otro decompilador busca la linea del super o el class loader y usalo en el código del DJ. Procura que la expresión sea lo mas corta posible y en una de esas daras con el código compilable.

Je ni modo prueba y error... Será lo más factible dado que no se ve mucho este tema en foros, etc.

Saludos

Cesar Mujica
Miranda, Venezuela
Escrito por Cesar Mujica
el 08/02/2010

Jejeje ok muchas gracias

Francisco González
Tecnologo en analisis de sistemas, ing...
Escrito por Francisco González
el 09/02/2010

Te comento q realice mi tesis de huellas digitales, lo ideal es q trabajes con los componentes que te da GRFinger, por q inventar nuevamente el agua tibia; mira que programar las clases ya hechas y luego meter codigo el cual haga referencia a la biometria registrada en tu data es mucho, tienes que ver bien como hacer ya que el componente te ayuda a identificar la biometria pero para q hacer nuevamente un algoritmo el cual ya esta elaborado y los metodos, propiedades, etc... Del componete es lo mejor ya q te tocaria conseguirte un gurpo de programadores lo suficeinetmente grande para eleborar un algoritmo IA, piensalo bastante una vez q lo hayas pensado vuelve a pensarlo antes de meterte en una camisa de 11 varas

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 09/02/2010

Yo se a lo que te refieres... Para que reinventar la rueda no? Pero que crees.. Para usar esta rueda tienes que pagar la licencia (cosa que no paso.. ) y pues en 15 dias me las tuve que ingeniar para sacar el proyecto cuya planeación fue de 3 meses.. Ahora como ingenieros nos topamos con problemas de presupuesto todo el tiempo por que estos "detalles" que cuestan dinero adicional ponen en riesgo el proyecto por hacerlos menos competitivos con otras empresas desarrolladoras, ahora las replaneaciones en la busqueda de soluciones cuestan, yo di varias soluciones pero esta fue la mas barata en términos costo-esfuerzo asi que cobre mi sueldo de 2 semanas contempladas en planeación contra 2 semanas para la implementación de un producto desarrollado por terceros que nos costara la licencia tambien.

Cesar Mujica
Miranda, Venezuela
Escrito por Cesar Mujica
el 09/02/2010

Jejeje es asi! Lo primero es el pago de la licencia! Y o segundo no queremos depender de un applet ni de una pantalla de swing o awt nuestra idea es capturar en el evento en un servlet luego de presionar un boton en un jsp utilizando los metodos de griaule, si se les ocurre algo o saben de algo parecido agradeceria bastante su ayuda!

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 11/02/2010

Yo te recomendaria que instalaras la aplicacion en el servidor y que su acceso sea a manera de repositorios así es mas fácil de actualizar... Solo instancia las clases que necesitas.. Crea la instancia del objeto huella (no me acuerdo de la clase pero existe, yo mismo la utilice para insertarla en la base de datos) teniendo una pantalla dedicada a esto solamente, te recomiendo que el registro de todo dato que haga referencia a esta huella se registre en otra pantalla por que si hay un registro mal tendras que identificar la huella de nuevo lo cual es poco manejable.

Alejandro Morgan
Ingeniería en sistemas computacionales...
Escrito por Alejandro Morgan
el 11/02/2010

El match es igual, una clase que se puede instanciar y obviamente lo puedes manejar en sesiones... Imaginalo asi: para el acceso posicionar el dedo en el escaner dar click en acceder, ahi seria donde entraria la instancia del objeto huella para capturar la "nueva" huella y la instancia del objeto match para saber si existe o no la huella, para esto antes debes hacer una busqueda en la base de datos cuyo resultado sera uno de los parametros de la clase de match (uno será la huella creada reciente y la otra la de la base de datos) las comparativas despues se harán una por una. Creo que ayudar con código sería mejor dado que suena facil lo que te digo pero je no soy tan bueno haciendole el trabajo a los demás si no me pagan por ello...

Juanelo Man
Ingenieria en sistemas instituto tecno...
Escrito por Juanelo Man
el 13/04/2010

Me parece bien el hecho de querer ahorrar $$$$ para un proyecto, y por lo mismo deberian compartir el conocimiento, porque no publican en megaupload o rapidshit un zip con los codigos fuente ya corregidos? Seria un super aporte para la comunidad. Gracias. Saludos.

Julieth Colmenarez
Lara, Venezuela
Escrito por Julieth Colmenarez
el 25/05/2010

Muy interesante su conversacionme interesa mucho por que yo estoy empezando a estudiar informatica ahora estoy en 6to año voy a graduarme de tecnico medio en informatica y espero seguir mi carrera en la universidad. Espero que me ayuden :)