SISTEMAS & DESARROLLO
1 meneos
17 clics

Diseccionando QNX [ENG|PDF|492 KiB]

Este trabajo es una disección de QNX, el sistema operativo propietario en tiempo real dirigido al mercado integrado. QNX se usa en muchos dispositivos sensibles y críticos en diferentes industrias y, aunque alguna investigación previa de seguridad ha descrito QNX como un subproducto de investigación móvil de BlackBerry, no hay trabajo previo sobre mitigación de exploits en QNX y generadores de números aleatorios seguros. En este trabajo se presenta la primera ingeniería inversa y análisis de las mitigaciones de exploits, generadores de […].
1 meneos
6 clics

HHVM 3.30 será la última versión que soporte PHP [ENG]

HHVM v3.30 será la última serie de lanzamientos donde HHVM pretende soportar PHP. En última instancia, recomendamos que los proyectos migren por completo al lenguaje Hack, o completamente a PHP7 y al entorno de ejecución de PHP.
1 meneos
21 clics

Cómo funciona HTTPS [ENG][Comic]  

Serie de cómics que explica diferentes conceptos de HTTPS.
2 meneos
35 clics

Ocho ejemplos de cómo se usa el comando ‘ldd’ [ENG]

‘ldd’ es una utilidad de línea de comandos de Linux que se utiliza para conocer las dependencias de bibliotecas compartidas de un archivo ejecutable o incluso de las propias bibliotecas compartidas. Una biblioteca es una colección de recursos tales como subrutinas/funciones, clases, valores o definiciones de tipos de datos. Hay dos tipos de bibliotecas: estáticas, donde los recursos que contiene se incluyen en el ejecutable final, y dinámicas, donde los programas que las usas sólo llevan una referencia a las mismas. Es mediante el comando ‘ldd’ con lo que se muestran estas librerías dinámicas compartidas usadas por cada aplicación.
3 meneos
34 clics

Implementación de una hoja XSL para la salida de nmap usando Bootstrap

Una manera rápida y eficaz de revisar la información obtenida de un escaneo de nmap cuando tenemos muchos resultados es hacerlo mediante un informe en HTML. Sin embargo, nmap no tiene la opción de guardar directamente los resultados del escaneo en HTML, por lo que para conseguir este informe se puede indicar que la salida sea en XML e indicarle la ruta a una hoja XSL que describe cómo debe transformarse. El alemán Andreas Hontzia ha publicado una hoja XSL para nmap con la que se obtienen unos resultados bastante buenos.
3 meneos
16 clics

Evil FOCA, LiLaS y el arte del engaño  

FOCA comenzó como un proyecto llamado Metaextractor que ampliaba las funcionalidades de una PoC que preparamos para un congreso en la Open Source World Conference llamado OOMetaExtractor. Luego le fuimos añadiendo cosas y se convirtió en la FOCA, y lo derivamos a una versión de protección en forma de MetaShield Protector, ganando incluso premios a la innovación.
3 meneos
3 clics

Planes R1/beta 1 de Haiku OS [ENG]

Por fin, R1/beta1 está por llegar. Como ya expliqué en la lista de correo, solo dos problemas que no son "tareas" permanecen en el hito de la versión beta 1, y tengo prototipos de soluciones para ambos. El buildbot y otros servicios importantes han sido rehabilitados y solo necesitarán ajustes menores para manejar la nueva sucursal, y mmlr ha estado dando masajes al constructor HaikuPorter para que también pueda manejar la nueva rama, aunque ese trabajo aún no está terminado.
4 meneos
28 clics

TinyWM: un pequeño gestor de ventanas [ENG]

TinyWM es un pequeño gestor de ventanas que he creado como ejercicio de minimalismo. También puede ser útil para aprender conceptos básicos sobre cómo crear un administrador de ventanas. Sólo tiene alrededor de 50 líneas de código en C (también hay una versión de Python que usa python-xlib). Este gestor permite hacer cuatro cosas básicas: mover ventanas; cambiar el tamaño de las ventanas; elevar ventanas; y poner el foco en una ventana con el ratón.
3 meneos
40 clics

microctfs: pequeños retos en contenedores docker para practicar

¿Estas de vacaciones y/o tienes tiempo libre y quieres practicar tu pericia con pequeños CTFs (Capture The Flag)? El americano Gabe Marshall tiene un repositorio en Github con una serie de interesantes microrretos en forma de contenedores Docker que pueden levantarse de inmediato para empezar a jugar. Te animo a probarlos y a compartir tu feedback e incluso writeups con nosotros.
2 meneos
25 clics

Sistema Operativo "Étoilé" (Eng)

Étoilé pretende ser un entorno de usuario basado en GNUstep innovador construido a partir de componentes altamente modulares y ligeros con la orientación de proyecto y documento en mente, para permitir a los usuarios crear su propio flujo de trabajo mediante la remodelación o recombinación de los Servicios provistos (también conocidos como Aplicaciones), Componentes, etc. La flexibilidad y la modularidad, tanto en la interfaz de usuario como en el nivel del código, nos deberían permitir escalar desde el PDA al entorno de la computadora.
2 meneos
27 clics

Movimiento y salto 2d en Godot Engine

Si eres nuevo en Godot Engine es probable que quieras aprender a mover cosas dentro de una escena. En esta entrada te mostrare como cumplir ese objetivo y, además, a aplicar gravedad. El proyecto que he realizado y que pueden usar para hacer las pruebas se encuentra aquí: mysGE Voy a tratar de explicar detalladamente lo que hace cada código
3 meneos
40 clics

Fuchsia el sistema operativo creado por Google va soportar aplicaciones de Linux (Inglés)

El sistema operativo de Google que no esta basado en Linux ha agregado un emulador para ejecutar aplicaciones de Debian...
3 meneos
15 clics

Se busca betatesters para los drivers de wifi y ethernet en Haiku OS

Haiku ha actualizado la capa de compatibilidad con freebsd del 9.2 al 11.1 de los drivers de red y agradece testeo para asegurar el correcto funcionamiento de la actualización.
4 meneos
61 clics

Análisis del coste/beneficio de comparar antes de asignar una variable [ENG]

Teniendo los dos siguientes fragmentos de código: 1) x = newValue;, y 2) if (x != newValue) x = newValue;, la pregunta es ¿cuál es más rápido? La respuesta es: depende. El segundo fragmento introduce más trabajo, ya que tiene que comparar y luego asignar, pero evita escribir en memoria innecesariamente. También hay que tener en cuenta que influyen cosas como si existen barreras de memoria (memory barriers), si se usa copy-on-write, cómo funcionan las cachés de los procesadores, etc.
2 meneos
24 clics

Ejecución de scripts en PowerShell evadiendo AMSI, logging y firmas

El uso de scripts y lenguajes interpretados se ha convertido en un medio muy usado para saltarse la detección de malware o actividades maliciosas por parte de las soluciones antimalware tradicionales. Para evitarlo, Microsoft introdujo en Windows 10 otra protección denominada AMSI (Antimalware Scan Interface), sobre todo para inspeccionar los scripts que son invocados en tiempo de ejecución, abarcando no sólo PowerShell, si no también VBScript, Ruby y otros muchos lenguajes. Pero la batalla nunca termina y pronto empezaron a surgir […].
2 meneos
21 clics

Cómo funciona el sistema de archivos de Windows 95 [ENG]

Este libro, publicado en 1997, muestra el funcionamiento interno del sistema de archivos de Windows 95, incluyendo VFAT (el sistema de archivos FAT virtual), VREDIR (cliente de Microsoft Networks) y NWREDIR (cliente de Microsoft Netware). Además se anticipan algunos de los cambios que aparecerían en el sucesor de Windows 95 (con nombre en clave Memphis), como FAT32, volúmenes de hasta 2 terabytes y WDM. [ Enlace directo al libro: Inside the Windows 95 File System PDF 16,8 MB ]
3 meneos
27 clics

Arduino con Haiku OS  

Hoy les mostraré algunas screenshots que obtuve del grupo de Telegram para Haiku donde Gerasim Troeglazov nos muestra cómo trabaja Arduino con Haiku y Fritzing.
3 meneos
71 clics

Colección de ‘trucos’ para sistemas de archivos NTFS en Windows [ENG]

Colección de ‘trucos’ en sistemas de archivos NTFS en Windows, entre los que se incluyen el poder crear un directorio en otro directorio cuyos permisos no lo permitan, o crear archivos cuyos nombres sean sólo puntos.
5 meneos
46 clics

C no es un lenguaje de bajo nivel [ENG]

A raíz de las recientes vulnerabilidades de Meltdown y Spectre, vale la pena pasar algún tiempo mirando su causa principal. Ambas vulnerabilidades involucraban a los procesadores ejecutando instrucciones especulativamente sin ningún tipo de control de acceso permitiendo al atacante observar los resultados a través de un canal lateral. Las características que llevaron a estas vulnerabilidades se añadieron para permitir que los programadores de C continúen creyendo que están programando en un lenguaje de bajo nivel.
3 meneos
44 clics

Validando cadenas UTF-8 usando tan poco como 0,7 ciclos por byte [ENG]

La mayoría de las cadenas que se encuentran en Internet están codificadas usando un formato unicode particular llamado UTF-8. Sin embargo, no todas las cadenas de bytes son UTF-8 válidas. Las reglas sobre lo que constituye una cadena UTF-8 válida son un tanto arcanas. Sin embargo, parece importante validar rápidamente estas cadenas antes de consumirlas.
2 meneos
28 clics

menesteroso ruso invento el whatsapp y regreso a donde le daban de comer gratis a hacer un donativo

Un ruso llega USA a vivir de la asistencia publica y hoy se retira de la presidecia del invento que lo saco de la pobreza Whatsapp
3 meneos
41 clics

Todo lo genial que tiene D se puede ver en ‘std.variant’ [ENG]

Hace poco leí un excelente artículo de Matt Kline sobre todo lo malo de std::visit de C++. Mis habilidades en C++ están oxidadas (hace tiempo que me fui para los pastos más verdes de D), pero tenía curiosidad sobre cómo habían cambiado las cosas en mi ausencia y cómo se podría implementar lo mismo en D. Aunque mi intuición me decía que el artículo exageraba, al final esta estaba completa y absolutamente equivocada.
3 meneos
61 clics

Una nueva era en la arquitectura de gráficos de bajo nivel en Linux (parte 1) [ENG]

Las últimas mejoras en el subsistema DRM han hecho que el la línea principal de desarrollo de Linux sea mucho más atractiva haciendo que los controladores sean más fáciles de escribir, las aplicaciones sean portables, y una comunidad mucho más amigable y colaborativa que nunca.
3 meneos
65 clics

Cómo (y por qué) hemos migrado el solitario Shenzhen a MS-DOS [ENG]  

¿Pueden dos programadores que están acostumbrados a hacer juegos para ordenadores modernos con gigabytes de RAM y pantallas de alta definición migrar uno de sus juegos a MS-DOS? Ninguno de nosotros tenía experiencia en el desarrollo en hardware tan antiguo, pero como trabajar en sistemas con limitaciones artificiales es algo así como una especialidad en el diseño de juegos dentro de Zachtronics, nos sentimos obligados a probar.
3 meneos
24 clics

El gestor de contraseñas bitwarden ya tiene aplicación de escritorio  

Hace algo más de un año que os presentamos el gestor de contraseñas bitwarden, una alternativa de código abierto a servicios como LastPass que no ha dejado de madurar desde entonces. Su última gran novedad es el lanzamiento de una aplicación de escritorio multiplataforma, disponible para Linux, Windows y macOS. Resumiendo: Bitwarden es básicamente un clon de LastPass, un servicio en la nube para gestionar contraseñas con extensiones para los principales navegadores, Android e iOS e, imprescindible, cifrado en el lado del cliente, cuya virtud más destacada es que todos sus componentes son software libre. // Relacionada: Cómo gestionar contraseñas con Bitwarden.
3 meneos
35 clics

Cómo gestionar tus contraseñas con Bitwarden, una alternativa a LastPass [ENG]  

¿No has sentido alguna vez que tienes más contraseñas de las que puedes gestionar? Es probable que sea algo más que un sentimiento y, al igual que muchos, probablemente gastes bastante tiempo recordando contraseñas independientemente de lo difíciles que sean. Es por esto que mucha gente usa servicios como LastPass o 1Password que, aunque son servicios sólidos, no dejan de ser propietarios y con código fuente cerrado. ¿Existe alternativa código abierto? Bitwarden es una alternativa de código abierto para gestionar contraseñas en la web.
3 meneos
33 clics

Google lanza la biblioteca ‘cpu_features’ para identificar las características de la CPU [ENG]

Imagina que estás desarrollando una aplicación donde la velocidad es esencial y donde ciertas instrucciones del procesador la incrementan exponencialmente. Y aparece el problema: no es posible conocer a priori qué instrucciones soporta el procesador (identificar el fabricante no es suficiente). Se pueden crear mapas estáticas con modelos y características, pero es tedioso de mantener. Aquí es donde entra cpu_features, una librería pequeña, rápida y de código abierto para obtener las características de la CPU en tiempo de ejecución.
3 meneos
6 clics

Puedes resucitar cualquier cuenta borrada de GitHub; y ello crea un problema de confianza para la plataforma

La repentina partida de un desarrollador de GitHub, junto con los paquetes que mantuvo, supuso un problema para los desarrolladores que utilizaban su código en sus proyectos. Uno de ellos resucitó la cuenta y repobló los paquetes perdidos; hecho que ha puesto en evidencia un posible problema de seguridad y de confianza en la plataforma… [via] maslinux.es/problema-de-confianza-con-github
3 meneos
21 clics

Manage Remote MySQL Servers with Local phpMyAdmin throug a SSH Tunnel [eng]

Have you ever needed to manage your remote MySQL databases, and ended up settling on the less-than-ideal setup of having an instance of phpMyAdmin on the same server as the MySQL server? Well, I am about to make your day. I am going to show you how to manage any number of remote MySQL databases from your local instance of phpMyAdmin; without compromising on security.
3 meneos
37 clics

Hershell, una shell reversa escrita en Go

Hershell, de Ronan Kervella, es una sencilla shell reversa TCP escrita en Go que utiliza TLS para proteger las comunicaciones y certificate pinning para evitar la interceptación de tráfico. Se presenta como una interesante alternativa a los payloads de meterpreter que muchas veces son detectados por los AV y, al estar escrito en Go, puede compilarse para la arquitectura deseada. Soporta Windows, Linux, Mac OS, FreeBSD y derivados.
2 meneos
16 clics

Terraformando tu infraestructura en el Cloud

Terraform nos permite describir, evaluar y aplicar cambios en nuestra infraestructura mantenida como código (infrastructure as code). Creado por Hashicorp y liberado como open source, Terraform se une a productazos de esta misma compañía como Vagrant, Vault, Nomad o Consul, los cuales destacan historicamente por su calidad y flexibilidad...
3 meneos
7 clics

Swift Package Manager – Paquetes y Dependencias

En esta ocasión aprenderemos sobre Swift Package Manager, el gestor de paquetes de Swift, una herramienta con la cual podremos crear paquetes / proyectos ya sean librerías o ejecutables, gestionar las dependencias de estos y en general administrar de una manera más fácil y consensuada la distribución de nuestro código Swift...
5 meneos
72 clics

VisUAL: un emulador de la arquitectura ARM altamente visual [ENG]  

VisUAL es una herramienta multiplataforma para facilitar el aprendizaje del lenguaje ensamblador de la arquitectura ARM. Además de emular un subconjunto del conjunto de instrucciones ARM UAL, proporciona visualizaciones de conceptos clave exclusivos de la programación del lenguaje ensamblador y, por lo tanto, ayuda a que la programación del ensamblaje ARM sea más accesible. Ha sido diseñado específicamente para usarse como una herramienta de enseñanza para el curso de Introducción a la Arquitectura Computacional en el Imperial College London.
2 meneos
48 clics

Reemplazando el firmware de los procesadores x86 con Linux y Go [ENG]  

El Intel Management Engine (ME), que es un procesador y sistema operativo independiente que se ejecuta fuera del control del usuario en la mayoría de los sistemas x86, ha sido motivo de gran preocupación para los usuarios que son conscientes de la seguridad y la privacidad. Google y otros han estado trabajando en formas de eliminar la mayor parte posible de esa funcionalidad (al mismo tiempo que se puede iniciar y ejecutar el sistema). Ronald Minnich de Google vino a Praga para hablar acerca de esos esfuerzos en 2017 Embedded Linux Conference.
3 meneos
66 clics

La latencia de composición del escritorio es real y me molesta [ENG]

Borré mi instalación de Windows 10 hoy. No fue por la intromisión de la telemetría o los anuncios en el menú de inicio, sino por la composición del escritorio. Agrega una latencia leve pero notable que hace que escribir me resulte incómodo. En Windows 7 al menos puedes apagarlo. En la siguiente figura se puede ver que la latencia mínima que puede alcanzar en Windows 10 es de aproximadamente 8 milisegundos, mientras que en Windows 7 las cosas son algo más rápidas.
2 meneos
23 clics

Cabeceras extra de microcódigo de Intel no documentadas [ENG]

Empezando en 2006, Intel añadió una cabecera extra al microcódigo de sus procesadores que, hasta hoy, está no documentada. Esta página está destinada a aquellos que quieren entender cómo estas cabeceras están estructuradas. Gracias a la base de datos de MCE (MC Extractor, Microcode Extraction Tool), ahora ya sabemos el propósito de casi todas las cabeceras extra. Esta información deriva de las observaciones de los 990 microcódigos que incorporan estas cabeceras desde marzo de 2006 hasta noviembre de 2017.
1 meneos
34 clics

Cli.Fyi, información rápida sobre direcciones IP, correos electrónicos y más  

cli.fyi es una herramienta de consulta de línea de comando para buscar información sobre direcciones IP, correos electrónicos, dominios, criptomonedas, medios, fechas, países, lenguajes de programación, etc. Lo mejor de ella es que solo tendremos que tener curl en nuestro sistema y una conexión a Internet para poder hacer uso de esta herramienta, aunque también es posible obtener la información proporcionada a través de un navegador web.
1 meneos
19 clics

Estructuras de Datos - Lista Enlazada

Hoy abordaremos un nuevo algoritmo, aprenderemos a implementar una Lista Enlazada, una estructura de datos bien importante y de las más usadas. Pudiéramos clasificarla como clásica ya que forma parte de esas estructuras de datos que todo programador debe conocer, de hecho, con esta podemos implementar otras estructuras de datos...
1 meneos
25 clics

Por qué, para qué, cuándo y cómo migrar al Cloud computing

Tanto entre mis alumnos, como en las conversaciones con otros compañeros del sector, percibo siempre la duda de la necesidad o conveniencia de migrar al Cloud. Y, ciertamente, no es algo sencillo de explicar. Muchas veces se generan intensos debates sobre si es una moda, una técnica comercial de las multinacionales para “sacarnos los cuartos” o un camino irresistible al que mejor no presentar una excesiva resistencia...
1 meneos
63 clics

Cómo el motor Unreal dibuja un fotograma [ENG]  

Desde que se tiene acceso al código fuente de Unreal Engine, es posible estudiar cómo este motor gráfico dibuja (render) un fotograma (frame). Aunque las rutas de dibujado son una bestia, es sencillo seguir las llamadas al API de bajo nivel. Para este estudio se ha utilizado una escena simple con varias propiedades, tanto estáticas como dinámicas. Entre ellas están la luz, niebla volumétrica, objetos transparentes y efectos de partículas para cubrir gran variedad de materiales y métodos de dibujado.
1 meneos
16 clics

Raft: consenso hecho simple [ENG]  

El consenso es uno de los problemas fundamentales a la hora de programar sistemas distribuidos. Queremos que los clientes perciban el sistema como una unidad coherente, pero no queremos que haya un sólo punto de fallo, con lo que se necesitan varias máquinas colaborando de un modo en que se pongan de acuerdo en el estado del mundo, aunque fallen cosas. Raft es un algoritmo de consenso creado con para ser entendible. Es una respuesta directa a Paxos, que resuelve el mismo tipo de problemas pero que es un algoritmo bastante complicado.
8 meneos
40 clics

Referendum 1-O: ¿Dónde votar? | Entre Dev Y Ops

No, no nos hemos vuelto locos, en Edyo seguimos hablando de tecnología. Sabemos también que últimamente no publicamos más que podcasts; a pesar de ello, mantenemos el blog para cosas que se cuentan mejor escritas que narradas. Hoy os traemos un análisis técnico que no puede ser más de actualidad: la web de consulta del censo para el referendum del 1-O. Os prometo que vale la pena.
2 meneos
51 clics

Microsoft no crea una sandbox para Windows Defender, así que lo hice yo [ENG]

Microsoft expuso a sus usuarios a muchos riesgos cuando lanzó Windows Defender sin ejecutarse en una sandbox, algo que me sorprendió. Sandboxing es una de las más efectivas formas de tener seguridad en las aplicaciones. ¿Por qué Microsoft usa sandboxes en aplicaciones como Edge pero por qué deja Windows Defender desprotegido?
4 meneos
53 clics

Jugando con co-rutinas en C++ [ENG]

Presentación del uso de co-rutinas (coroutines) en C++ basada en el uso de programación asíncrona (blogs.rti.com/2015/12/08/modern-asynchronous-requestreply-with-dds-rpc).
3 meneos
26 clics

Construir libros electrónicos en formato ePub escritos en Markdown usando Pandoc [ENG]

Construir un libro electrónico en ePub usando Pandoc es muy sencillo. Pandoc se llama a sí mismo el conversor universal de documentos. Y tiene sentido. En este tutorial vamos a convertir documentos escritos en Markdown a formato ePub, aunque si usas Pandoc se puede convertir a muchos otros formatos.
1 meneos
42 clics

mkosi: utilidad para generar imágenes de sistemas operativos [ENG]

mkosi (make operating system image) es una herramienta para generar imágenes de sistemas operativos que pueden ser arrancadas (booted). Hay más herramientas de este tipo, pero mkosi tiene una serie de características que pueden ser interesantes para ciertos casos de uso que no están cubiertos por el resto de herramientas de este tipo.
3 meneos
29 clics

casync: herramienta para distribuir imágenes de sistemas de archivos [ENG]

casync se inspira en rsync, la popular herramienta de sincronización de archivos, y en git, el probablemente todavía más popular sistema de control de versiones, para combinar la sincronización de rsync y la forma de acceso al contenido de git creando un sistema para almacenar y enviar de forma eficiente imágenes de sistemas de archivos con optimización para ciclos de actualizaciones de alta frecuencia a través de Internet.
4 meneos
59 clics

¿Qué hace la palabra reservada ‘new’ en Javascript a bajo nivel? [ENG]

Descripción de cómo funciona la palabra reservada ‘new’ en Javascript junto a la función de construcción de objetos y a la palabra reservada ‘class’, seguido de un ejemplo de reimplementación de la palabra reservada ‘new’ en Javascript.
5 meneos
39 clics

Google-Fuchsia, nuevo sistema operativo

Google lleva tiempo, desde agosto de 2016, trabajando en Fuchsia, un nuevo sistema operativo para sustituir ChromeOS y parece que también Android. El sistema tiene un nuevo interfaz de usuario llamado 'armadillo'. Y no solo funcionará para Fuchsia, sino se podrá añadir como una capa sobre Android e IOS. Además, es un sistema RTOS, un sistema operativo en tiempo en tiempo real. Tiene un entorno de desarrollo llamado "Flutter", aun en alpha, capaz de generar programas para Fuchsia, Android y IOS.
3 meneos
18 clics

How Thou Canst Maketh a Fine Program in Fortran [ENG]

In troth, the Fortran programming language is well suited for those persons who are scientific and who engineer. Named so for the phrase “Formula Translation,” it is a language exquisite for programming machines. Avail thyself of this guide to establish Fortran within your machine and maketh a well-appointed program out of it.
« anterior1234

menéame