Page 2

How to style Firefox Developer Edition (42.0a2) with GTK3 themes

Recently Firefox Dev Edition switched to GTK3 from GTK2 and after the update I was very disappointed to realise that my GTK themes were no longer respected. I am running KDE 4.12.2 on Ubuntu 12.04 with QtCurve theme and have all GTK2+ apps configured to use this theme too. It works nicely and I like the looks.

However, this new gtk3 Firefox having no themes configured looks very ugly. There is a GTK icon in "System settings" which is supposed to let me set the theme for GTK3 as well as GTK2. Alas, it doesn't function / switch themes. There might be a mess-up in my KDE configuration after the years. I simply couldn't make it work.

Playing with GTK3 config files, trying to add GTK_RC_FILES in the environment, create ~/.config/gtk-3.0/settings.ini, /etc/gtk-3.0/settings.ini with theme name "gtk-theme-name = oxygen-gtk". Nothing seemed to work.

Then I decided to check which themes I have compatible with GTK-3 at all:

$ find /usr/share/ -name "gtk.css" 
/usr/share/themes/HighContrast/gtk-3.0/gtk.css
/usr/share/themes/oxygen-gtk/gtk-3.0/gtk.css
/usr/share/themes/Clearlooks-Phenix/gtk-3.0/gtk.css
/usr/share/themes/Adwaita/gtk-3.0/gtk.css
/usr/share/themes/LowContrast/gtk-3.0/gtk.css
/usr/share/themes/HighContrastInverse/gtk-3.0/gtk.css

Then, solution appeared to be very simple after running 'gtk3-widget-factory' under strace ;)

Everything in the directory containing all gtk-3.0 files should be copied to ~/.config/gtk-3.0/

No other setting to change - just place files there and it gets loaded perfectly by Firefox or any other GTK3 app!

Firefox looks good again.

Continue reading →

How to force Onkyo to update firmware to older or current version

Today I decided to finally root my current Onkyo firmware, but the system wouldn't update, as it considered this update is not a newer version.

After looking through file headers and disassembly of libupdater.so, I realised that it relies on filenames in header`s file tree to determine firmware version.

I thought this to be a pain in the ass to rewrite and re-calc CRC for every file and googled to see whether there is a way to force usb update. (At first I thought factory reset might be able to help). Fortunately, yes, it's possible just to force it via USB. (Strangely, I remember flashing same firmware numerous times without any issues when I was first experimenting with reversing Onkyo encryption a year ago).

Anyway, firmware files must be extracted to the root of USB drive.

Disconnect Ethernet/Wifi, just in case.

Insert USB drive. Hold 'USB' button and press 'ON/Standby'.

Message "[Enter] USB update" shall appear. Hit 'Enter' to start flashing.. wait and pray there is no electricity cut-off =)

Continue reading →

Update on Spotify Connect Protocol Reversing

I receive many e-mails from people interested in my progress on reversing Spotify Connect and/or those who would like to continue with this task. Since it was taking me a while to reply to all of you, I decided to rather update this post to reflect this project`s status.

As mentioned in the comments of my original post - I stopped working on this soon after Onkyo released support for my music receiver. Sorry! It is an interesting challenge and if I had plenty of time (as I had in my student years;) I would be probably making it happen.. But now I am satisfied with the availability of support for Spotify Connect in my devices and after working for about 36 hours in total on reversing this library, I just abandoned it for good.

(Tip: From what I've learned looking at the code, the library is still using lots of code for authentication, encryption and communication with Spotify servers identical or just slightly different to despotify or https://gitorious.org/libopenspotify/)

I receive e-mails from those interested to obtain the library`s binary.

Well, I got my copy of libspotify_embedded.so from Powernode speakers firmware.

This library is of no help standalone since no function calls are documented and it also need it's parent, called sovi-spotify, which acts as a controlling process between the library and speakers` Perl environment. You need to re-create the whole environment before you'd be able to attempt to analyse it's logic. If you grab that firmware you'll soon find out that all .pl files are encrypted. I'll leave it to you to find out how to decrypt them as this is should be a rather simple task for anyone thinking to attempt reversing Spotify connect.

Alternatively, you can get libspotify_embedded.so from Onkyo firmware using my extractor. I haven't had time to study how it's used there, but I estimate it has an easier deployment than with Powernode.

And finally, I do hope Spotify releases Connect as a part of their SDK. It's just about time!

Continue reading →

← Previous page | Next page →