Libro gratuito sobre ingeniería inversa de aplicaciones iOS

iOS Apps Reverse Engineering es un libro en formato PDF accesible de forma totalmente gratuita totalmente enfocado a la ingeniería inversa de aplicaciones iOS (iPhone/iPad). El libro está organizado en cuatro apartados: Conceptos Herramientas Teoría Práctica Éste apunta también a cuatro grupos distintos de lectores: Apasionados sobre el sistema operativo iOS. Desarrolladores de iOS ya experimentados, que buscan entender mejor el sistema. Arquitectos de software, que buscan aprender sobre la arquitectura de otras aplicaciones.
Leer más

Destripando una instrucción en lenguaje ensamblador X86

La función más importante en un desensamblador es la conversión o recomposición de las instrucciones en lenguaje ensamblador a partir de los códigos de operacion (OP / operation code). En la arquitectura X86, a diferencia de otras, la longitud en bytes de una instrucción, varía dependiendo de la instrucción en sí y de los operandos sobre las que ésta actúa. Últimamente, gracias en entre otros a proyectos como Capstone hemos visto el lanzamiento de desensambladores de todo tipo, así como la migración o adaptación de desensambladores previamente existentes a este motor.
Leer más

Recursos para el desarrollo de aplicaciones seguras

No importa que tipo de aplicación escribas o que lenguaje uses, la cruda realidad es que tus aplicaciones tendrán vulnerabilidades. Cuantas más líneas de código escribas, más errores cometerás. La importancia de tomarse muy en serio la seguridad de una aplicación es crucial en los tiempos que corren. Ya lo dicen muchos expertos: hay dos tipos de empresas, las han sido comprometidas y las que todavía no lo saben.
Leer más

Material para enseñar a desarrollar aplicaciones iOS con Swift

Apple a través de iTunes facilita una serie de diapositivas organizadas para la enseñanza del desarrollo de aplicaciones para iOS escritas en Swift. El curso está orientado al profesorado y no al estudiante. El programa está organizado en 99 lecciones, a través de las cuales el profesor educará a los estudiantes de forma práctica. A lo largo del curso se crearán varios proyectos, en otras palabras, se crearán aplicaciones escritas en Swift.
Leer más

Colección de libros (retro) sobre programación de juegos

Allá por los 80s hubo una serie de libros de la editorial Usborne enfocados a la programación aplicada a vídeo juegos para ordenadores de 8 bits: ZX Spectrum, ZX81, VIC 20, Apple, Pet, TRS-80, BBC, etc Dichos libros contenían el código fuente completo del juego, más explicación del mismo, como jugar y explicación de las rutinas del código que eran más relevantes. En su mayor parte el código fuente estaba escrito en Basic, pero uno de los libros está totalmente enfocado a aprender ensamblador y código máquina.
Leer más

Crucigramas sobre expresiones regulares

No hace mucho publicamos una entrada sobre un crucigrama cuyas palabras eran comandos comunes que podemos encontrar en casi cualquier shell de un sistema UNIX o derivados. En esta ocasión la entrada está relacionada con crucigramas, pero el tema en esta ocasión son las famosas expresiones regulares. Regex Crossword nos ofrece no uno sino nueve crucigramas en el momento de escribir estas líneas. La diferencia entre estos es la dificultad de los mismos.
Leer más

Guía de Google para convertirte en un buen Ingeniero de Software

Google a través de su portal dedicado a estudiantes, entre otros muchos recursos, mantienen una guía para mejorar tus habilidades como desarrollador técnico. Dicha guía contiene un conjunto de recomendaciones sobre ciertos temas, así como recursos online dónde puedes introducirte a los mismos: Curso de introducción a Sistemas de Computación Toma alguna clase que provea una introducción a la programación Recursos online: Udacity - intro to CS course, Coursera - Computer Science 101 Programa en al menos un lenguaje orientado a objetos Recursos para principiantes: Coursera - Learn to Program: The Fundamentals, MIT Intro to Programming in Java, Google's Python Class, Coursera - Introduction to Python, Python Open Source E-Book Recursos para nivel intermedio: Udacity's Design of Computer Programs, Coursera - Learn to Program: Crafting Quality Code, Coursera - Programming Languages, Brown University - Introduction to Programming Languages Aprende otros lenguajes de programación w3school.
Leer más

The Beginner’s Guide to IDAPython

The Beginner’s Guide to IDAPython es un libro electrónico que te puedes descargar en formato PDF y de forma totalmente gratuita, aunque se recomienda que dones algo de dinero, al menos si te vas a beneficiar de forma profesional. El libro como bien dice el título, trata sobre IDAPython, un plugin para IDA Pro que nos permite integrar scripts en python dentro del mismo y contiene un gran número de ejemplos.
Leer más

Vídeos PyCon 2015

Entre el 8 y el 16 de abril, se celebró en Montreal la conferencia más distinguida enfocada al lenguaje de programación Python: PyCon 2015. La lista de charlas es bastante amplia y tocan todo tipo de temas alrededor de Python. Si te interesa este lenguaje de programación que tan de moda está, aquí tienes material de sobra para pasar un buen rato: Keynote - Guido van Rossum Keynote - Gabriella Coleman Type Hints - Guido van Rossum Closing Messages Jim Baker - Getting to Jython 2.
Leer más

Microhistorias: "Mi primer día en Atari llevé un porro para no desentonar"

Esta frase con la que abrimos este post la dice literalmente Howard Scott Warshaw, más conocido como el programador de E.T. para Atari (para muchos considerado el peor videojuego de la Historia) en el documental "Atari: Game Over" que podéis ver en YouTube (sobre el minuto 12:30 del primer vídeo le escucharéis decir la frase):   Al principio del documental Howard nos cuenta cómo fue su primer día de trabajo en la compañía Atari el 11 de Enero de 1981.
Leer más