Hodžův blog

19 Srp

MySQL – Creating a user with root privilages

CREATE USER 'new_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

26 Kvě

HellSpy Download Manager – dekódování souboru users

Dnes jsem od kolegy – soudního znalce – dostal zajímavý úkol. Potřeboval dekódovat soubor users, do kterého HellSpy Download Manager ukládá informace o přihlášeném uživateli. Byla by to práce na pět minut, kdybych si z dekompilovaných souborů špatně neopsal salt… Pro dekódování uloženého jména a hesla je možné použít níže uvedený PHP skript.


< ?php $salt=-86; $file = fopen('users', 'r'); while (false !== ($char = fgetc($file))) { echo chr((ord($char) ^ $salt)); } ?>

14 Kvě

HowTo: Bind9 – disable IPv6 (couldn’t add command channel ::1#953: address not available)

Disable IPv6 in system
# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
# echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
# echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf
# /sbin/sysctl -p /etc/sysctl.conf
Continue Reading »

23 Led

MySQL – Remove Duplicate Data or Rows

DELETE FROM mytable
USING mytable, mytable as virtualtable
WHERE (NOT mytable.id=virtualtable.id)
AND (mytable.fieldname=virtualtable.fieldname)

Simple isn’t it?

06 Říj

Změna kódování databáze a tabulky u MySQL

ALTER DATABASE `název_databáze` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `název_tabulky` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Hint:
mysql> show character set;

21 Čvc

Autorádio Blaukpunkt VW Alfa a hláška Safe (aneb jak jsem hackoval autorádio)

Moje žena dostala společně s autem originální autorádio VW alpha (=> Blaukpunkt 815, VWZ1Z1Y9174547, 6X0 035 153). Autorádio dlouho a bez problému sloužilo než bylo nahrazeno jiným (s linkovým vstupem, podporou USB,…). Staré rádio jsem ale nechtěl vyhazovat – bylo opravdu bezproblémové a předpokládal jsem, že by ještě někomu mohlo udělat radost (i když již bylo staršího data). Rozhodl jsem se tedy že ho vystavím na Aukru v aukci, ale tady nastal kámen úrazu. Při zapnutí rádia na laboratorní zdroj (kvůli otestování kazetové mechaniky, která se nevyužívala) se mi na místo frekvence oblíbené stanice objevil nápis „Safe“. Ihned mi bylo jasné, že se jedná o PIN kód (ochranu při odcizení), ale lehce mě to zarazilo, neboť v servise u auta pravidelně odpojovali autobaterii a rádio si o PIN nikdy neřeklo. PIN kód jsem samozřejmě neznal.

Pročetl jsem asi milión diskuzních fór a vyzkoušel několik univerzálních kalkulátorů kódů, ale bez úspěchu. Nosit rádio do servisu nebo zasílat někomu peníze abych dostal opět nefunkční kód se mi nechtělo a tak jsem se rozhodl, že si rádio raději prostě hacknu 🙂

Při pohledu na DPS autorádia bylo jasné, kde je kód uložen. Na desce je tož jediná EEPROM a to ST 24C01 (8PIN, SMD provedení). Přemýšlel jsem , kterak čip přečtu a případně naprogramuji. Nejrychlejší varianta by byla použít Arduino a EEPROM vyčíst přes I2C, ale byl jsem líný testovat a kompilovat I2C knihovny. Druhou možností bylo využít šuplíkového MAXe + nějakou drobnou bižuterii ale toto řešení jsem také zavrhl neboť jsem nechtěl stavět vrabčí hnízdo či kreslit plošňák. Nakonec jsem se tedy koukl na eBay a objednal univerzální programátor SP 200S. Z číny by byl sice levnější, ale zase jsem nechtěl čekat tři týdny na balíček a tak jsem ho objednal z UK, odkud mi přišel za 4 dny First Class poštou. Cena byla i tak „lidová“ – cca 10GBP. Vypadá luxusně a kromě kvadriliónu různých EEPROM (ať již od Atmelu, ST či dalších výrobců) zvládá i některé MCU – například oblíbené 8051.

Programátor SP200S

Programátor SP200S

Continue Reading »

09 Čvc

TCPdump and ICMP Echo Reply

# tcpdump 'icmp[icmptype] = icmp-echo'

14 Kvě

HowTo: Debian & Ubuntu – Remove all unused kernels

sudo apt-get remove $(dpkg -l|egrep '^ii linux-(im|he)'|awk '{print $2}'|grep -v `uname -r`)

28 Dub

Ubuntu update && Qutim crashes every time

What console says:
hodza@hodza-desktop:~$ qutim
!!!!!!! 'kde-plasma' '0x7f2c933977c0' 'oxygen'
(qutim:9554): GLib-GObject-WARNING **: cannot register existing type 'GstObject'
(qutim:9554): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(qutim:9554): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
(qutim:9554): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(qutim:9554): GLib-GObject-CRITICAL **: g_object_newv: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
(qutim:9554): GStreamer-CRITICAL **: gst_object_ref_sink: assertion 'object != NULL' failed
(qutim:9554): GStreamer-CRITICAL **: gst_registry_get_feature_list: assertion 'GST_IS_REGISTRY (registry)' failed

Try this workaround:
sudo rm -f /usr/lib/qutim/plugins/libquetzal.so

17 Dub

HowTo: Mounting a image file made with dd or dd_rescue

1. Make a drive image
# pv -tpreb /dev/sdb | dd of=/mnt/backup/disk_image.img bs=1M

2. Detect mount offset (mount offset=sector size*partition start)
# fdisk -l /mnt/backup/disk_image.img
Continue Reading »

Hodžův blog is is proudly powered by Wordpress and the Magellan Theme