Buen día.
Antes que nada espero no poner este tema en un lugar equivocado, suponiendo en fe ciega que no, prosigo.
Tengo algunos "códigos" de cierto "algo". Quisiera saber como generar un código nuevo y valido. Se que mi planteamiento es terriblemente ambiguo pero es por mi alarmante ignorancia sobre el tema. Las preguntas son. ¿Como se llama lo que quiero hacer?, ¿Como lo hago?, ¿Hay referencias para ayudarme a entender esto?, es decir, ¿Como se que tipo de generador de código se está usando?, ¿Como lo descifro?.
Como datos extra, ciertamente se poco de programación, pero lo compenso sabiendo matemáticas (T. Grupos, Anillos, Campos, etc..), en ese aspecto las referencias pueden ser rudas.
Esto lo tomo como un hobby que quiero empezar así que estoy consiente que puedo llevar incluso años :3
Sin más. Gracias por su atención.
todo va en el lenguaje que se hable, te hago una idea simple
en batch esto es un hola
@echo off
@echo "hola"
@pause
ofuscado es
%dyclprc%@%nhbycvw%e%wzdevzv%c%fbnubdo%h%rqcbseq%o%sxjcvqe% %pjafngz%o%lnnfcyl%f%bbtayup%f%yfcudkp%
%qwkcift%@%yccmgkx%e%tpxvice%c%nqihpvr%h%amjvgvd%o%njagzvo% %ugqlvcj%"%kddqezj%h%ktrbulr%o%sdrelrg%l%vpspyas%a%otlvxuq%"%denclsv%
%xpsplld%@%fbjoeqs%p%vcdmfoc%a%eqyzgrp%u%eucnaee%s%ypnjnyh%e
cifrado es
@echo off
set xkilryk=a
set usqvqnv=b
set hyytuoc=c
set fszdmdh=d
set nmymriq=e
set mldksvv=f
set ehkiqqi=g
set hbchobq=h
set rdhrkdy=i
set fvzljdz=j
set ktlurlf=k
set rmsgurp=l
set fvdrhqv=m
set gikiect=n
set yizavxr=o
set jbxbeze=p
set tgkescx=q
set pxibdsd=r
set uaccdbu=s
set jrprsyj=t
set quenifp=u
set afqhqir=v
set rjosaeb=w
set lasvuxt=x
set ozijmhk=y
set azrqwih=z
@%nmymriq%%hyytuoc%%hbchobq%%yizavxr% %yizavxr%%mldksvv%%mldksvv%
@%nmymriq%%hyytuoc%%hbchobq%%yizavxr% "%hbchobq%%yizavxr%%rmsgurp%%xkilryk%"
@%jbxbeze%%xkilryk%%quenifp%%uaccdbu%%nmymriq%
Ilegible es
汣൳䀊捥潨漠晦䀊捥潨∠潨慬ਢ灀畡敳
y el resultado es el mismo
en el caso de un mensaje que diga hola mundo, en un lenguaje cualquiera
https://es.wikipedia.org/wiki/Anexo:Ejemplos_de_implementaci%C3%B3n_del_%C2%ABHola_mundo%C2%BBpodras confirmar que existen una cantidad considerables de implementaciones de código como para pensar que existe una solución unica para analizar algo
muchas veces se usa la ingenieria inversa, pero realmente se usa la curiosidad e intentar entender el codigo está detrás de ello, por otro lado , aunque se tuviera 1millon de códigos pocas veces se llega a conocer el cifrado, porque aveces usan reglas matemáticas indirectas (pgp, comunicacion web, y algunos cifrados asimétricos) entonces es dificil de obtener los datos formales para vencerlos
te hago una idea Winrar v1, 2, 3 usan un cifrado asimétrico, el cual no fue roto, pero un dia alguien hackeó esa pagina y obtuvo el código de fuente, de ahi alguien generó un keygen y desde entonces se usa para generar llaves válidas, con el tiempo agregan mas campos, pero el algoritmo al ser usado muy genérico siguen usando el mismo (algoritmo asimétrico, aun si está crackeado)
entonces el tema siempre de fondo es si un programa te sirve, seguir viendo, pero si no, pierdes tu tiempo en cosas que llevarán a encontrar alguna informacion, me explico
si quieres saber en que lenguaje fue hecho un programas, hay detectores como protection id, rdg packer detector y otros, pero no significa que sea la unica forma de saberlo , aveces hay mucha informacion en el ejecutable que ayuda a conocer el lenguaje usado, y aunque se supiera aveces pueden usar protectores o ofuscadores para cuidar el código.
Saludos cordiales
Apuromafo
pd: el ejemplo batch es para mostrar que no es facil encarar algo desconocido.