Ingeniería inversa
Es más fácil acceder al código fuente de un programa, como una aplicación móvil, porque tiene el binario. Si esa cosa es de código abierto, puede encontrar el código fuente en github o donde lo hayan enviado. Si no es de código abierto, debe realizar ingeniería inversa de esas cosas.
Lo curioso es que la ingeniería inversa está prohibida ahora en Alemania, pero como ingeniero es inaceptable que haya una ley que prohíba a un ingeniero abrir el capó de un motor.
- ¿Cuánto tiempo lleva crear un script de clonación de WhatsApp?
- ¿Cuál es la breve descripción sobre el desarrollo de aplicaciones de Windows?
- ¿Vale la pena desarrollarlo en la plataforma Ovi?
- Cómo construir una aplicación de ubicación en tiempo real como Uber
- Estamos planeando crear una aplicación como Venmo & AliPay (P2P). ¿Cuanto costara?
Ignora las estúpidas leyes
Esto es estúpido e ignorante, pero mi país nunca fue bueno en comprender el cambio que trae la nueva tecnología. Siempre intentan aplicar los beneficios de una nueva tecnología sin aceptar el cambio que conlleva. La ingeniería inversa está prohibida aquí, las herramientas para eso están prohibidas, las herramientas de análisis de red están prohibidas y las herramientas de análisis del sistema están prohibidas. Todo esto no lo practican los tribunales en este momento, pero con todo lo que ya estoy con medio pie de prisión aquí. Sin hacer nada más que ser un buen ingeniero. Creo que esto es algo que tiene que cambiar o lo que llamamos “libertad” será una farsa en un futuro próximo. Y con la libertad desaparecida, la democracia se irá y con eso se irá que la gente tenga influencia sobre las cosas que suceden. Y eso será un horrible, horrible futuro. Y no estoy hablando de Trump aquí. Estoy hablando de todo un Zeitgeist. Trump es solo un síntoma, no es el cáncer debajo de la superficie.
Si los ingenieros y los científicos no actuamos, seremos los que nos mantendremos al margen y no haremos nada mientras ocurra el mal.
Entonces, como ingeniero, digo: ignora esa estúpida ley y haz lo que debas. Como ciudadano respetuoso de la ley, por supuesto, le digo que no debe violar la ley. Bien. No dejes que te atrapen. Y cumpliría con esa estúpida ley si me dicen cómo debo luchar contra el malware sin ingeniería inversa. Estúpidos idiotas ignorantes idiotas. Si no entienden nuestro mundo, no están interesados en los hechos, deben mantener sus jodidas leyes estúpidas fuera de él, antes de destruir todo. Las patentes de software son otra cosa sobre la que podría causar un alboroto.
Ignorar las estúpidas leyes es, por cierto, algo que se ha hecho muchas veces en la historia de la humanidad. Gandhi ignoró las leyes del Imperio Británico, The Sea Shepard está ignorando algunas leyes para proteger a las ballenas, etc. Solo tiene que saber dónde está el límite y hasta dónde puede llegar, antes de violar tantas leyes que socava su propio fundamento moral de actuar. Como hacen todos los terroristas, ese asesinato por alguna causa cuestionable y que perdió todo el sentido de la realidad.
Algún tipo de desobediencia civil es una forma antigua y legítima de luchar por los derechos. Tienes que desobedecer las leyes estúpidas si quieres cambiar algo, si las leyes entran en conflicto con el mundo en cambio, la ley tiene que cambiar. Y el mundo cambiante, ese eres tú. La libertad muere si no la usas.
Es una delgada línea roja en la que se equilibra. Yo personalmente pisé esta delgada línea roja cuando era niño, para proteger el mundo, para abrir los archivos SDI en la administración Reagan y lo hicimos, porque intentamos evitar una guerra termonuclear global. Quizás si no hiciéramos eso estaríamos todos muertos ahora, nadie lo sabe. Bueno, no lo hice yo mismo, pero ayudé y apoyé eso y fue una de las mejores cosas que hice en mi vida. Tenía dieciséis años o algo y era lo correcto.
Entonces, defender algo es el derecho de los jóvenes. Pero ten cuidado con esa línea. Es un camino peligroso.
Lucha contra los ignorantes
Estoy muy enojado por eso y dejé de apoyar a cualquier partido o gobierno que ignore los hechos de ingeniería y ciencia. Es lo único que me hace político, de hecho. Si no detenemos a los imbéciles ignorantes, pronto veremos un mundo de mierda. Entonces, hoy, cada ingeniero y científico tiene que ser político si ama su trabajo y quiere hacer un buen trabajo en el futuro también. Los imbéciles se están apoderando de todo el mundo. Comenzando con leyes de derechos de autor superadas, pasando por la censura y terminando con políticas y agendas enajenadas de ciencia e ingeniería. Es muy malo Y desearía poder decir que es mejor en Alemania, pero lamentablemente no lo es. Los imbéciles también se están apoderando de aquí. Es un proceso continuo desde los años 80 y acaba de recibir un impulso. Y depende de nosotros detener eso. Pero basta de política.
Es una cosa ignorante prohibir mirar debajo del capó y está tan lejos de la realidad que realmente tienes que usar gafas negras para este tipo de realidad, no solo rosas. No es así como funciona la ciencia y la ingeniería y cómo enseñamos a la próxima generación. Con motores de código cerrado y encapsulados y ya no ciencia abierta, pero el conocimiento se mantuvo en secreto en los compuestos de I + D mega-corporativos. Esta es la distopía sobre la que nos advirtió el género Cyberpunk de Gibson y Stephenson.
Apoyar el conocimiento abierto
La ciencia abierta y libre nos ha llevado hasta aquí. Si no luchamos por ello, terminará. Y con eso una próspera era de iluminación para toda la humanidad, para todos en este planeta. Entonces, la generación joven tiene, de hecho, algo por lo que luchar. Si no lo hacen, se lo llevarán, ya quitaron muchas de las cosas que una vez tuvimos. Y el punto de no retorno no está en un futuro lejano. El punto de no retorno podría ser mañana.
Entonces, para su código fuente: cada programa que tiene en binario tiene su código fuente en forma de lenguaje ensamblador dentro. Si tienes suerte, no eliminaron los binarios, por lo que incluso el código fuente es parte del binario. Si compila algo con gcc y la bandera -g, el código fuente se convierte en parte de él. Siempre es una buena idea verificar eso primero.
Usa tu poder
Si tiene un * .exe de Mono / C #, siempre tiene el código fuente dentro. Solo tiene que abrirlo con Monodevelop y puede leerlo en texto claro. Esa es una de las pocas razones por las que me gusta C # / Mono, incluso si lo considero un montón hinchado de basura .NET de lo contrario. Pero es un buen paso para que todo se convierta en código abierto.
Así también es un argumento a favor de Java. Quiero decir, Java es un montón de basura aún más grande que Mono, pero hacer ingeniería inversa es algo fácil para principiantes.
La mayoría de las aplicaciones de Android son, de hecho, programas de Java. Por lo tanto, son realmente fáciles de realizar ingeniería inversa. Bueno, incluso no lo llamaré ingeniero inverso, el código fuente está literalmente adentro. Es solo leerlo, no tan fácil como Mono, pero casi.
Si son binarios de ingeniería inversa, necesitará Gdb y Radare2 y algunas herramientas del paquete “binutils”. Si tiene ingeniería inversa, a menudo esos programas usan bibliotecas conocidas. Puede buscar ciertas palabras clave en ese paquete y obtener los símbolos de depuración, que lo ayudarán allí.
Llega al metal, conoce tu máquina
Por supuesto, necesita saber el lenguaje ensamblador de su máquina, por eso siempre digo: ingeniero, conozca su máquina. No hay forma de evitar el lenguaje ensamblador para usted. Mejor acéptelo ahora, apréndalo lo más rápido que pueda, aproveche el resto de su vida de eso. El lenguaje ensamblador es poder. El lenguaje ensamblador es la libertad y es la palanca para abrir presas los cofres del tesoro cerrados del conocimiento corporativo. El lenguaje ensamblador es libertad y no solo una herramienta de optimización que mucha gente ve en él. ¡Dentro de esos binarios está el conocimiento codificado de generaciones! Ignorar, realmente ignorar a todos los que no dicen. Es importante y lo importante que sea, sabrá el momento en que haya terminado con eso. Aprendes mucho más que cualquier otra cosa. Vale la pena el problema.
No puedes acceder al código fuente de un sitio web sin hackearlo y entrar. Esta es la razón por la cual Richard Stallman, como promotor de la idea del software libre, se opone al concepto de “Software como servicio” aún más de lo que se opone al código cerrado.
Y con buen motivo. Quizás Stallman es un poco radical y es mucho más radical que yo, pero tiene un punto allí: el software como servicio es malo. Y todo lo que dije anteriormente es triplemente cierto para el software como servicio.
No eres dueño de tus datos. No es dueño del procesamiento de sus datos. Y sin control sobre todo lo que se trata de ti, perderás el control sobre tu vida y con la pérdida de poder perderás la pequeña influencia que tienes en este mundo y con eso esta es la destrucción de los valores y las cosas. nuestros padres y antepasados luchaban y morían por: libertad, democracia, igualdad, fraternidad. Y con eso, la capacidad y la libertad de libertad de expresión de la reunión libre como una comunidad de intercambio de ideas en un mercado abierto como lo fue Usenet y la ciencia es.
Lucha por las cosas que tienes, por las cosas que ya perdiste
Vamos con eso a un mundo de espacio “privado” de propiedad corporativa como centros comerciales, donde pueden expulsar a todos de la comunidad que quieran, donde pueden silenciar a todos los que no están haciendo lo que los propietarios quieren, es decir qué es inconveniente u opuesto al statu quo. Con eso se nos toma el poder de cambiar las cosas, adaptarnos al futuro o luchar contra la injusticia y la distribución desigual del poder del capital, de los niveles de vida, de la libertad, del derecho a hablar y al derecho de opiniones, el derecho de libertad eligiendo una religión o eligiendo ninguna.
Esta es la distopía: el software como servicio es tan malo como dice Stallman.
Es nuestro enemigo. El enemigo. Es peor que cualquier cosa. Y eso me molesta y debería molestar a todos. No estoy seguro de qué podemos hacer contra él, pero creo que usted solo puede hacer algo contra él como sociedad y con condiciones forzosas para aquellas corporaciones que brindan esos servicios.
El código es poder, el poder es libertad
El código es conocimiento codificado. Es el aire codificado que lleva nuestras palabras.
Tiene que ser gratis.
O pronto tendremos un impuesto sobre el aire y con eso un impuesto sobre la respiración, la vida, sobre todo. Y aquellos que no pueden pagar morirán, tal vez en cuerpo, tal vez en mente, tal vez simplemente expulsados del proceso democrático, sin voz, sin opinión, sin importancia de los objetos que se tratan, pero que ya no pueden actuar.
¿Suena radical? No. De hecho no. Es un hecho que este es uno de los grandes problemas del futuro que tenemos que resolver. Y hasta ahora el software libre y de código abierto es la única solución que personalmente puedo aportar. Tal vez hay mejores, pero es lo mejor que sé.
El siguiente paso lógico es que comiencen a prohibir el lenguaje ensamblador. Pero ellos no necesitan hacerlo. Las universidades dejaron de enseñarlo. Nadie lo está enseñando más que de manera teórica. La gente lo enseña como si fuera cosa del pasado.
Pero es, de hecho, la única arma que nos queda a algunos. No dejes que te quiten eso.