domingo, 30 de diciembre de 2012

Fedora non recoñece dispositivo android (Solución para nexus 7) [Android][Fedora]

Boas a todxs,

Este nadal, de autoagasallo, como bo geek tiña que caer algo e caeu, neste caso unha nexus 7. Os primeiros días non fuchiquei moito con ela porque non me chegara a funda, protecto de pantalla e demais e son un tiquismiqui mais, hoxe xa cacharreei todo o que puiden e máis e tiven un problemiña que a base de ler conseguin solucionar. O problema trata, que cando conectaba a tablet ao meu PC con Fedora instalado este non a recoñece. Fedora, é compatíbel con MTP (Media Transfer Protocol) pero non recoñecía o dispositivo en cuestión e conseguin atopar, que, grazas ao ADB (Android Debug Bridge) que é unha ferramenta incluída no kit de desenrolo de Android, que, polo xeral xa vén instalada de serie nas últimas distribucións de GNU/Linux e posteriormente montandoa poderemos conectar sen maior problema. Esta foi a solución.

· Instalamos o necesario

$ sudo yum install -y yum install simple-mtpfs libmtp


· Creamos o udev rules para o nexus 7

martes, 25 de diciembre de 2012

Administración, permisos en GNU/Linux [Básico][Seguridade]

Boas a todxs,

Esta entrada vai adicada a eses autodidactas de GNU/Linux, xente que comeza a empregalo e para repaso de permisos, que é unha parte moi importante na seguridade de GNU/Linux. En windows até o 7 (corríxanme se me equivoco) non era obrigatorio que existise un administrador como tal mais en GNU/Linux sempre foi necesario que existise, especialmente nun SO que tendo permisos podes tocar absolutamente todo. Pois ben, unha das principais cousas que son novidosas ao pasar de windows a gnu/linux moitas veces é o executar un simple script, pois, de xeito default, os arquivos non teñen permiso de execución.

Estou seguro, que quen máis quen menos, en algún tutorial en determinado momento puido ler 'chmod XXX directorio/arquivo' e tirar para adiante ou simplemente entender que con iso se lle dan permisos de algo mais, non se profundizou no tema, como podedes ver, é fundamental que existan por seguridade

Como podemos coñecer que permisos teñen os nosos arquivos ou directorios?

Cifrando/Descifrando con translate [Twitcode XXI][Bash]

Boas a todxs,

Este twitcode é bastante sinxeliño, empregaremos a ferramenta translate para cifrar/descifrar un determinado texto, exemplo, con tor 13:

echo contacto.hackliza@gmail.com | tr 'abcdefghijklmnopqrstuvwxyz' 'nopqrstuvwxyzabcdefghijklm'
O que fai é cambiar cada letra da primeira string pola que ocupa a mesma posición na segunda, así, aplicariamos unha translación de 13 no abecedario como indica o cifrado tor, para descifrar basta con por as strings ao revés.

Poderíanse facer moitos máis exemplos, pero creo que a dinámica é sinxela :P, agardo o atopásedes interesante!

Saúde!

martes, 18 de diciembre de 2012

Parsear os parámetros dunha petición HTTP [Twitcode XX][Python]

Cando facemos unha petición por HTTP temos a opción de mandar parámetros na URL despois dun `?`, separados por `&` e co formato `<chave>=<valor>` entón... como lelo?

def urldecode(opt): return {unquote(k): unquote(v) for k, v in [e.split('=', 1) for e in opt.split("&") if '=' in e]}

(Usa o unquote de urllib)

Por exemplo:
>>> from urllib import unquote
>>> def urldecode(opt): return {unquote(k): unquote(v) for k, v in [e.split('=', 1) for e in opt.split("&") if '=' in e]}
... 
>>> urldecode("continue=https%3A%2F%2Fgroups.google.com%2Fd%2Foverview&service=groups2&passive=true")
{'passive': 'true', 'continue': 'https://groups.google.com/d/overview', 'service': 'groups2'}
>>>

jueves, 13 de diciembre de 2012

Amosando a traza dun programa cando da `Segmentation fault' (2ª parte) [C][Gnu/Linux]

Antes, no post de sacar as trazas cando hai faios de acceso na memoria mencionarades a posibilidade de inxectar a xestión dos faios dende fora do programa, isto sería moi útil cando non é posible recompila-lo código, é unha idea que compre explorar.

Vexamos entón como cazar as funcións que crexamos susceptibles... digamos `strcpy` para proba-lo usaremos este programa:
#include <string.h>
#include <stdlib.h>

// Produce segfault
void fail(){
    char buff[40];
    strcpy(NULL, buff);
}


int main(int argc, char **argv){
    fail();

    return 0;
}


Ben, o seguinte é cazar a chamada a `strcpy`, para isto temos que preparar unha libraría compartida coa función, este sería o código:

miércoles, 12 de diciembre de 2012

"Ubuntu ten software espía" Richard Stallman dixit

Boas a todxs,

Esta semana traio esta breve nova traducida que está causando bastante rebumbio xa que é o creador do Proxecto GNU e o lider da Fundación do Software Libre (FSF), Richard Stallman quen chamou "spyware" a Ubuntu.

Por que? Debido a que o sistema operativo envía datos ao seu fabricante Canonical, cando un usuario realiza unha procura no escritorio.

Como?

domingo, 9 de diciembre de 2012

Primeiro cuatrimestre de Hackliza! en números

Boas a todxs!

Fai pouco máis de 10 días que vimos de cumplir os 4 meses desde a posta en marcha deste proxecto. O único que podemos dicer desde Hackliza! é obrigado, obrigado a todas e todos os que nos seguides pois ver as centos de visitas mensuais fannos traballar e cumplir coas entregas semanais, obrigados a todas e todos os que comentastedes, as e os que estades no grupo de correo, en definitiva a todos os hacklegos e hacklegas que nos seguides!

Agardamos que sigades aí con nós, por moito tempo e que siga crecendo a comunidade. Uns poucos datos curiosos sobre as e os nosos visitantes :P

De donde son as nosas e os nosos visitantes?

Monitorizar os logs en GNU/Linux [Twitcode XIX][Bash]

Boas a todxs,

Esta semana un ben simple, fai uns días falábamos da detección de erros grazas aos logs de GNU/Linux e como ben apuntou Manel Villar nun comentario tamén se poden ver as últimas liñas do arquivo dos logs grazas a tail, concretamente, pódense monitorizar do seguinte xeito:

$ sudo tail -f /var/log/messages


Breve explicación:

viernes, 7 de diciembre de 2012

Amosando a traza dun programa cando da `Segmentation fault' [C][Gnu/Linux]

Uns días atras falaramos das sinais de Unix, unha de elas era SIGSEGV, que aparecía cando se producía un faio de segmento (é dicir, que o programa rompeu bastante), hoxe ímos ver como aproveita-la sinal para poder busca-lo erro.

O primeiro que precisamos é unha aplicación base cun faio de segmentación:
#include <stdio.h>
#include <stdlib.h>

// Produce segfault
void fail(){
    int *asd = NULL;
    *asd = 7;
}


int main(int argc, char **argv){
    fail();

    return 0;
}

E, claramente, faia...

lunes, 3 de diciembre de 2012

Amosar os servizos activos [Twitcode XVIII][Bash]

Nas distros de Gnu/Linux soe haber un directorio no que se especifican os servizos a executar o inicio, /etc/init.d/ (coma no caso das derivadas de Debian) ou /etc/rc.d/ (coma, por exemplo, en Slackware), ademáis en distros coma Ubuntu e derivadas é posible utilizar eses scripts para xestionar o arranque e detección de servizos usando o comando `service`, este comando permite ademais listar os servizos e o seu estado, podendo por exemplo determinar cales están activos así:
service --status-all 2>/dev/null|grep '\[ + \]'


domingo, 2 de diciembre de 2012

Coñecendo as sinais de Unix [GNU/Linux]

Os procesos Unix reciben sinais cando un evento "excepcional" acontece, isto pode ser por que o usuario interrumpe o proceso automáticamente ou de forma manual (sóabos o de deter procesos con Control-C, pois envía unha sinal), por que intentou acceder a unha posición de memoria que non lle corresponde (o infame "Segmentation fault") ou quizais por que intenta executar unha intrucción inválida (ben, isto é menos habitual, pero pode acontecer)... enfin que hai unha boa manchea delas pero normalmente quedamos nas máis coñecidas, hoxe ímos ver as que utiliza Linux (poden variar sutilmente entre os distintos sistemas operativos).