Este es un código C ofuscado , que se utiliza para dificultar que el lector entienda lo que está escrito en el código.
No existen metodologías estándar que, al recorrerlas, comprenda el código directamente, en cambio, cada uno tiene su propio camino.
Personalmente, para entender cualquier código, paso por estos pasos:
- Vuelva a formatear el código, agregando espacios, tabulaciones e indentaciones, colocando llaves alrededor de las mismas variables de alcance, expanda las expresiones aritméticas / bit a bit si están disponibles (como 1 << 2, que es lo mismo que 4).
- Comience con main (), vaya a cada declaración e intente hacerse una idea sobre su funcionalidad y lo que hace aquí.
- Intente desarmar ámbitos independientes y comprender lo que hacen, como bucles, funciones y ramificaciones condicionales.
Estos pasos son míos, es posible que haya (escuchado) otras formas de ofuscar un fragmento de código.
- ¿Cómo encuentro todos los pares de enteros cuyo producto es menor que igual a un número particular?
- ¿Cuáles son los requisitos matemáticos para comenzar a estudiar el programa Langlands?
- ¿Cuál es el dígito unitario de 3 ^ 460?
- ¿Hay algún orden en el que aprenda sobre las maravillas de la teoría de números?
- ¿Cómo se relacionan la suma de números y la unión de conjuntos?
Aquí hay una pequeña ofuscación que hice para aclarar el código de número primo más grande ofuscado, espero que ahora se vea como un código C normal:
[C] / * t [1 << 25], asigna memoria para una matriz 33554432 * sizeof (int) bytes. 1LL me – Pastebin.com