Algoritmo DEC->HEX

Sería conveniente una lista consecutiva (0, 182, 364, 546...), cuanto más larga mejor.

Saludos Miguel Giménez

Reply to
Miguel Gimenez
Loading thread data ...

"Miguel Gimenez" escribió en el mensaje news: snipped-for-privacy@individual.net...

Sí, convendría que llegase al menos hasta el int(15000/182)+1

José María González Ondina.

Reply to
José María González Ondina

Si, está en el PC. No he metido nunca la nariz, en el debugeo de programas de PC, supongo que es así, como se crackean y parchean.

Reply to
KT88

No, nada de hacking, ni de temas ilegales. Y no es reproducir una llave o mochila por hardware.

No, lo repito, nada de hackear ni crackear NADA.

Pues será fácil, pero no has acertado.

Reply to
KT88

Ya lo se. Pero prefiero, si no es complicado, deducirlo. El assembler de PC, y sobre todo los útiles necesarios, y la práctica necesario, para usarlos, creo que me pueden llevar más tiempo.

Tengo la calculadora de códigos, en PC.

No tengo valores, tengo el software que los calcula, y se trata de implementar el mismo algoritmo en un microcontrolador. No se trata de ningún tema de hacking, cracking, ni todas esas gaitas, osea nada ilegal.

Reply to
KT88

No me he explicado bien.

Tengo una calculadora, por software, en el PC, que genera los códigos en Hexadecimal, a partir de un código decimal. El resultado en hexadecimal, debe grabarse en un dispositivo (esto es lo confidencial), que lo almacena en Eeprom.

Ya se, que teniendo el software, debugeando, se podría sacar el algoritmo, pero buscaba una relación, que entiendo no debe ser muy complicada, antes de meterme en un fregado, en el que no tengo experiencia (debugeo de programas Windows).

Reply to
KT88

La Eeprom, solo tiene un valor. La calculadora por software, genera cualquier valor hexadecimal, dándole un valor decimal.

Reply to
KT88

"KT88" wrote in news: snipped-for-privacy@individual.net:

Depende. Desensamblandolo puede llevar tiempo, pero acabas, deduciendolo por los numeros puede que lo saques en diez minutos o puede que no acabes nunca.

Seria muy conveniente, de cara a no hacer perder el tiempo a la gente, que digas por lo menos que objeto tiene esa generacion de numeros. No es lo mismo que sea para generar una llave de software, que me da en la nariz que es lo que quieres, a que sea para calcular algo o hacer una accion determinada. Una pista sobre el algoritmo es importante.

200.000 valores se pueden almacenar en una memoria, has considerado el metodo de fuerza bruta?

Sacar un algoritmo a partir de una secuencia de datos es ingenieria inversa que no es otra cosa que un nombre fino para precisamente el hacking (mas bien cracking). Si es o no ilegal es otra cuestion que solo te atañe a ti, por mucho que "huela a", pero insisto en que es mucho mas facil encontrar respuesta a tu pregunta en un grupo de eso, si, como sigo pensando, estas intentando reventar un sistema de generacion de llaves, o al menos preguntarlo directamente en lugar de andar con rodeos.

Reply to
Antonio Martos

"KT88" wrote in news: snipped-for-privacy@individual.net:

Son cosas distintas. Tu sabras lo legal que es, a mi no me atañe, pero sin duda estas haciendo cracking. Llamalo ingenieria inversa si te place.

Por definicion lo es, si no sabes el algoritmo.

Yo creo que si, pero no me atañe.

Reply to
Antonio Martos

0 = E000 182 = 6001 364 = A002 546 = 2003 728 = C004 910 = 4005 1092 = 8006 1274 = 0007 1456 = 6008 1638 = E009 1820 = 200A 2002 = A00B 2184 = 400C 2366 = C00D 2548 = 000E 2730 = 800F 2912 = A010 3094 = 2011 3276 = E012 3458 = 6013 3640 = 8014 3822 = 0015
Reply to
KT88

"KT88" wrote in news: snipped-for-privacy@individual.net:

A ver. No tienes que explicar a nadie si eso abre la puerta del garaje, o genera el pin de tu tarjeta de credito o vete a saber. Pero es un sistema de seguridad? Es decir, el codigo esta "intencionadamente" encriptado o es una codificacion util, por ejemplo, es una funcion para generar una respuesta a partir de una señal, por ejemplo la accion de un brazo o algo asi?

Tiene _toda la pinta_ de ser lo primero, no usando una encriptacion basada en sistemas de numeros primos como la DES y similares, sino que tine _toda la pinta_ de ser el codigo de una llave de software/hardware para la generacion de numeros de serie o similares.

_Si es asi_ esos algoritmos son sencillos de desensamblar, pero son intencionadamente cripticos de deducir, en cuyo caso puedes volverte mico y deberias considear seriamente desensamblarlo.

No hay ningun metodo de analisis estadistico que permita analizar un codigo del que no sabes _nada_, pero si hay, por ejemplo, analisis de fourier para analizar _determinadas_ señales, etc.

Insisto, sin ninguna intencion peyorativa, en que lo que estas intentando hacer es de sobra conocido por muchos como "cracking" y que si no quieres contar nada mas del origen de datos, tu mejor opcion esta en mirar eso.

Reply to
Antonio Martos

Ya he dicho, que es para un proyecto que no puedo desvelar (pero no es ilegal). Yo no hago perder el tiempo a nadie, quien no quiera responder o participar, es muy libre de no hacerlo.

Pues no, tus sospechas, andan muy desencaminadas. NADA, que ver con temas ilegales, de reventar programas, generar mochilas, códigos de activación etc.... No me dedico a esos temas, ni ganas.

El algoritmo lo desconozco, esa es la "pregunta". En cuanto al uso o destino, del algoritmo, es intrascendente, para obtener la solución. Pero repito, que no es para temas ilegales. Quien no quiera reponder, por que no quiera, no sepa, o sospeche que es para actividades ilegales, está en su derecho a no responder.

De hecho, para el uso que le voy a dar, desde 1000 a 150.000, en saltos de 1000 me basta, solo quería averiguar el algoritmo, para simplificar el programa. Es más cómodo programar una fórmula, que almacenar X datos en una tabla.

No creo que cracking tenga nada que ver con ingeniería inversa, aunque el resultado de aplicarla, pueda emplearse para crackear programas, que no es mi caso.

Pues tú olfato, te falla, en este caso.

Lo dudo mucho, en esos grupos, lo único que uno encuentra es precisamente, PIRATAS y gente de mal vivir, que se dedican a una actividad, que yo no cultivo ni de lejos.

Lo reitero de nuevo, NO, no estoy tratando de reventar, crackear, hackear, NADA, ni software ni hardware, por mucho que tú olfato, te sugiera lo contrario.

Reply to
KT88

En efecto, no tengo porque explicar el uso, solo que NO es para temas ilegales (quien no lo quiera creer, es muy libre de hacerlo, y de no responder).

No.

No.

No.

Si no consigo el algoritmo, lo implementaré en una tabla, con los valores más habituales (y suficientes), no necesito hilar tan fino. Con saltos de 1000 me basta.

A eso me refería, al plantear mi pregunta. Supongo que los expertos en sistemas de encriptación, le hincarán el diente al melón por algún sitio, cuando parten de un texto, códigost etc... que están encriptados.

Es de suponer, que además, hoy en día, todo eso se realizará, con programas informáticos, que busquen y analizcen, determinados patrones, para hayar la solución.

No he supuesto en ningún momento, que mi problema, sea tan complejo, para no poder dilucidarlo manualmente, aunque no tengo experiencia, en esos temas.

No, no trato de "CRACKEAR" ningún software, solo averiguar el algoritmo, que emplea una calculadora, para implementarlo en un diseño con microcontrolador propio (que no es una mochila, ni nada parecido).

Reply to
KT88

"KT88" wrote in news: snipped-for-privacy@individual.net:

Era una pregunta de A o B, no de "si" o "no".

Insisto: Tiene toda la pinta, a eso no me puedes decir que no tampoco. Otra cosa es que no lo sea, no pretendo adivinarlo.

En ese caso no necesitas dar tantas vueltas. 200.000 numeros en pasos de

1000 son solo unos 200 numeros. Hay infinidad de algoritmos que pueden generar _la misma_ secuencia de 200 numeros, el mas trivial de todos (que no el mas corto) una lista de ellos, pero no tienen porque ser el que tu buscas.

Es decir, que el ajuste a una serie de datos se puede hacer de muchas maneras y todas dar lo mismo. Tienes que establecer mas condiciones, como limitar el juego de operaciones, es decir, solo sumas y productos, por ejemplo, o sumas productos y divisiones, o determinar el mas rapido (el de consulta de la lista) o el que menos ocupe una vez "ensamblado", pero dado lo corto que es supongo que te da igual.

El problema es muy ambiguo.

A eso ya te conteste, pero me temo que no lees todos los grupos en que preguntas.

No, no existe metodo si no sabes algo sobre el origen de los datos. No existe ninguna manera unica e inequivoca de sacar una secuencia de datos que es lo que entenderia que querias preguntar si lo hubieras hecho en el de matematicas, donde te lei la primera vez. Hay un sistema trivial que es memorizar esos 200 numeros o desensamblar el codigo, que es la respuesta que entendi que querias cuando lo vi en el de electronica.

Pero siempre se puede generar un algoritmo que reproduzca cualquier lista de datos, pero eso incluye el algoritmo trivial, memorizar la lista de datos. Pero no hay ninguno que "adivine" el futuro y aunque facilites 1

10 o 1000 datos no puedes decir que el algoritmo es este y no otro que pueden diferir (o no) en el dato 2, 11 o 1001.

Puede interesarte el algoritmo mas "corto" que genera esa secuencia (finita y definida) de numeros, y mas corto quiere decir que requiera menos operaciones, pero tienes que definir el juego de operaciones, y aun asi no te garantiza que el siguiente numero salga lo que esperas.

Es decir, que la unica manera razonable y no trivial de hacer lo que quieres es saber algo sobre el algortimo original.

Antes de analizar un problema para buscar una solucion unica con ordenadores primero hay que saber que tiene solucion y que es unica. No todo se resuelve por fuerza bruta. Si quieres un algoritmo que genere una secuencia determinada pon la secuencia concreta y define el juego de instrucciones y ya tienes un problema bien definido, encontar el algoritmo mas corto. Lo demas es como adivinar que numero estas pensando (de hecho es literalmente adivinar que numero viene despues) y hacer perder tiempo a la gente dandole vueltas a un problema mal definido.

Por eso te refiero a referencias sobre cracking o ingeniera inversa.

Eso es, por definicion, crackear, o ingenieria inversa, averiguar el algoritmo sin que te lo digan, te guste o no el nombre. Si no sabes el algoritmo es porque no es tuyo y/o no dispones de el, te has olvidado de el, no te lo quieren dar o lo que sea, a mi me importa bien poco. Pero que tengas respaldo moral/legal para hacerlo o no, insisto que no me atañe, pero no le cambia el nombre. Y la forma de "crackear" un algoritmo siempre es basandose en lo que puedas saber sobre como esta hecho.

Reply to
Antonio Martos

"KT88" wrote in news: snipped-for-privacy@individual.net:

Que mania, yo no he dicho que sea ilegal, eso es cosa tuya, me trae sin cuidado.

No lo es en absoluto.

Mira, yo sigo sospechando que lo quieres para algo no del todo legal ( pero es la primera vez que lo digo), y aun asi respondo, asi que ya ves que por eso no es. Pero insisto en que el tema de la legalidad no me atañe asi que lo que sospeche es irrelevante.

Eso es completamente diferente de lo que preguntabas. Si lo que quieres es un algoritmo _cualquiera_ que genere una secuencia de 150 numeros, di cuales son esos 150 numeros y pide el algortimo mas simple que pueda generar _esos_ 150 numeros, aclarando el juego de instrucciones que puedes usar. Eso si es un problema de optimizacion bien definido y no trivial que si justificaria preguntarlo en un grupo de matematicas, por ejemplo. Pero claro, no esperes que te de el numero 151 que te da el otro algoritmo ni que sea el mismo algoritmo que usa tu calculadora.

Es la misma cosa.

A mi me huele a que es un sistema de generacion de llaves, no que sea ilegal.

Me temo que tienes una idea muy equivocada de lo que es el hacking y cracking, bastante extendida por cierto, pero bueno. Yo probaria.

Perdona, es exactamente lo que estas pidiendo, sin que eso signifique que sea legal o ilegal.

Reply to
Antonio Martos

Ahí va una hipótesis:

Sea N es el número, y M=int(N/182), y la expresión binaria de M=ABCD, entonces, el número buscado (llamémosle K) es en forma binaria :

K=[A xor D][not C][not B]000000000ABCD (donde los corchetes significan un sólo dígito binario)

O dicho de otra forma:

K=(A xor D)*0x8000+(not C)*0x4000+(not B)*0x2000+M

O aun de otra:

K=(M or ((M and 0xE) shl 12)) xor ((M and 0x1) ror 0x1) (Suponiendo que M es una variable de 16 bits).

Para comprobaciones, esta es tu lista en binario:

4 primeros bits de K, M 1110 00000 0110 00001 1010 00010 0010 00011 1100 00100 0100 00101 1000 00110 0000 00111 0110 01000 1110 01001 0010 01010 1010 01011 0100 01100 1100 01101 0000 01110 1000 01111 1010 10000 0010 10001 1110 10010 0110 10011 1000 10100 0010 10101

José María González Ondina.

"KT88" escribió en el mensaje news: snipped-for-privacy@individual.net...

Reply to
José María González Ondina
4004 = C016 ? 4186 = 4017 ?

Saludos Miguel Giménez

Reply to
Miguel Gimenez

"Miguel Gimenez" escribió en el mensaje news: snipped-for-privacy@individual.net...

Según mi hipótesis serían:

4004 = E016 4186 = 6017

José María González Ondina.

Reply to
José María González Ondina

Fe de erratas

Donde dije:

M

Debería decir:

K=(M or (((not M) and 0xE) shl 12)) xor (((not M) and 0x1) ror 0x1) (Suponiendo que M es una variable de 16 bits).

José María González Ondina.

Reply to
José María González Ondina

Está intencionademente encriptado. No obstante la encriptación es lo de menos, por su, al menos, aparente simplicidad.

Tendrá pinta, pero no es para hackear, ni crackear, programas, ni para crear mochilas, ni nada parecido. La actividad es totalmente legal.

Bueno, eso es solo el principio. Hay muchos modelos de dispositivos (varios cientos), cada uno con algoritmos diferentes, por lo que no resulta tan cómodo meterlos todos en una tabla, si se puede disponer de las fórmulas.

Con que genere los mismos resultados, me sirve.

Bueno, en todo eso ya me pierdo, no conozco ese mundillo. Solo he supuesto, que no debe ser muy complejo. Tampoco he pedido la solución, solo una pista, y ya he leido algunas, que entiendo son bastante acertadas.

Si has modificado el Newsgroups del mensaje original, no.

Ya, entiendo pues, que se prueba por intuición, y a ver si suena la flauta por algún sitio.

Eso es lo que pensaba hacer en un principio, es lo más sencillo, solo que me llevará su tiempo, porque son 200 números, para varios cientos de modelos. Al final buscaré documentación, para debugear programas de Windows, y listo.

No dispongo de más datos. Solo la entrada y la salida, que produce el algoritmo, no tengo más, no lo puedo definir mejor, porque no tengo nada más que aportar. Otra cosa es que esa información sea insuficiente. De todas formas, creo que algunas opiniones, van bien encaminadas, hay algo relacionado con 182.

No me voy a extender en estos temas, pero una cosa es lo que pueda decir el diccionario, y otra la realidad (generalmente, sobre terminología actual, andan bastante dormidos en la RAE). Los términos "hacker", "hackear", "crack", "crackear", "cracking" etc... (se escriban o no exáctamente así), evocan (casi) siempre, actividades ILEGALES, y lo reitero, el uso que me ocupa, no tiene NADA que ver con actividades ilegales.

¿ Que busco por ingeniería inversa obtener un algoritmo ?, si, ¿ que lo voy a aplicar para crackear un software ?, No. Y además el uso, que le voy a dar, no tiene nada que ver con el mundo de la informática.
Reply to
KT88

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.