Sec, blogmal!
03 2011

Categories:

Everything

April '17

SoSoSoSoSoSoSo
272829303112
3456789
10111213141516
17181920212223
24252627282930

Archive:

Tue, 29 Mar 2011

Arte Video download

Fefe bloggt in letzter Zeit lauter Links in die Arte Mediathek. Leider gibt es den Kram dort nur gestreamt, und nicht zum runteladen.

Dafür gibt es zwar das praktische rtmpdump, aber man muss immer noch die URL des Streams rausfummeln.

Zusätzlich dazu gibt es noch eine pseudo-Security in der der Client einen passenden Hash mitschicken muss, sonst bricht der Stream nach kurzer Zeit ab.

Weil mich das schon beim zweiten mal genervt hat, hab' ich ein kleines Script geschrieben, was sich für einen durch die .xmls wuselt, und die passende Kommandozeile für rtmpdump zusammenbastelt.

Die komfortable Version ist ein Greasemonkey-Script arte_rtmpdump.user.js das beim betreten der Mediathek-Seiten einfach in einem kleinen Window den passenden Aufruf von rtmpdump anzeigt.

Wer nicht so auf Browser-Integration steht kann mein kleines perl-script arte_rtmpdump.pl nehmen, das braucht allerdings noch XML::LibXML und mein GET.pm als Module.

Happy downloading…

– Sec

Update: I fixed arte_rtmpdump.pl to now only require the Mediathek URL on the commandline and work from there. So no more checking the source :-)


posted at: 11:14 | Category: /tidbits | permanent link to this entry | 11 comments (trackback)

Thu, 24 Mar 2011

The tale of a TCP bug

The following post is a bit longish, and details my foray into the BSD TCP/IP stack debugging and finding what I think is a 15-year old bug.

Read more ...
posted at: 14:43 | Category: /tidbits | permanent link to this entry | 6 comments (trackback)

Thu, 17 Mar 2011

Why I would never buy a Dell PowerConnect 2724

At work, we acquired the above mentioned 24Port switch from Dell. It supports a so called managed mode (needs to be enabled by poking into a hole on the switch with a paperclip).

Enabling that sets the switch IP to 192.168.2.1/24 – with no way to change that. So far so annoying. Ok, I can configure an alias on my Ethernet to connect to that.

When you do that, don't be impatient, the IP needs ages to come up, but eventually you will be able to ping it.

I was a bit surprised that it actually only supports http on port :80, no https, no ssh, no telnet and no snmp. – But ok, lets log in via http.

The login page is not only a <frameset> (well, it came out 2005, but was that really necessary?), but only works with javascript: – WTF?

Trying to login with the default credentials (user admin, empty password) results in a Error message User name or Password is missing.

Gory details about this bug...

TL;DR: Their TCP/HTTP code is broken, and their support doesn't know it.

Have fun.

– Sec


posted at: 10:07 | Category: /tidbits | permanent link to this entry | 20 comments (trackback)

Mon, 14 Mar 2011

Patching Android Apps

How to patch an Android application:

First off, some basics. Android applications are delivered in a single .apk file. This is simply a differently-named .zip file, so any common zip tool should be able to unpack it. Inside you will usually find all the resources (images, sounds) and (among other things) a file called classes.dex which contains the code for that application. This is bytecode for the dalvik VM. You can disassemble this bytecode into something you could call android assembler. Compared to real assembler code, this is pretty high-level, but still nothing like a high-level language like java. As method and member names are preserved, it is usually fairly easy to understand unless the author used an obfuscator before release (In that case, all your methods will be named a, b, c...).

To follow this example along, you need a few tools:

  • Your favourite editor
  • A simple zip/unzip utility (commandline or 7zip or similar gui tool)
  • An android assembler/disassembler
  • A way to sign your zip file.
    • For a quick&dirty hack, SignApk is easy to use, but you can also use jarsigner if you're already familiar with it.
  • Not to forget a working java installation. Smali/baksmali and signapk/jarsigner both require it.

As a simple example, we'll be removing the focus sound from the android camera. – As we'll be replacing a builtin app, you will need root access to your phone.

  1. First, get a copy of the .apk you intend to change. In our case, we grab it from our phone with:

    adb pull /system/app/Camera.apk
    

  2. Then, we need to get the classes.dex file from it

    unzip Camera.apk classes.dex
    

  3. Now we run the disassembler. The output will be in the out/ subdirectory.

    java -jar baksmali-1.2.6.jar classes.dex
    

    You can peek around the out/ subdir where all the code is. Change whatever you want.

  4. In our case, the file we need to edit is: com/android/camera/Camera$AutoFocusCallback.smali

    To remove the focus sound, look for a line containing invoke-virtual and ->startTone. In my version it looks like this:

    invoke-virtual {v0, v1}, Landroid/media/ToneGenerator;->startTone(I)Z"
    

    Just delete that line.

  5. After you're done, we need to put it all back together into an .apk. First we re-assemble the code into a classes.dex:

    java -jar smali-1.2.6.jar out -o classes.dex
    

  6. Put that file back into the .apk with

    zip Camera.apk classes.dex
    

  7. Because we changed the contents, we now need to re-sign it. If you're using signapk, do this:

    java -jar signapk.jar testkey.x509.pem testkey.pk8 Camera.apk Camera_signed.apk
    

  8. Last but not least, we need to install our new .apk. Because it's a system app, we need to actually replace the file like this:

    adb remount
    adb push Camera_signed.apk /system/app/Camera.apk
    

    If it were a normal app, you would simply uninstall the original, and then install the .apk like any other app. (e.g. with adb install foo.apk)

After you reboot your phone, your Camera should now be less noisy. Yay!

– Sec

P.S.: If you want to remove the shutter sound instead, check this thread on xda-developers.com. Basically it boils down to:

adb remount
adb shell rm /system/media/audio/ui/camera_click.ogg 

posted at: 14:46 | Category: /rev-eng | permanent link to this entry | 5 comments (trackback)

Sat, 12 Mar 2011

Bye bye matrix (oder: Onkel Sec erzählt vom Krieg)

Als alter Jäger und Sammler trenne ich mich eher ungern von Dingen. Kann man vielleicht noch mal brauchen oder Ist ja eigentlich noch gut. – Manchmal spielt auch eine gewisse Sentimentalität mit rein, so wie in diesem Fall:

<inerinnerungschwelg>
Bild: random image
(Matrix)
Matrix war mein zweiter PC überhaupt. Den ersten hatte ich nach nur einem Jahr an meine Mutter weiter"verkauft". Leute die ähnlich alt sind wie ich, werden vielleicht das Colani-Design erkennen – Richtig: Der Rechner stammt von Vobis (Das war deren zweite Generation von Colani-Rechnern, die erste Generation hatte noch nicht dies 'Türchen', sondern tatsächlich runde Slotblenden, sogar fürs CD-Rom) [Colani hab ich sogar Jahre später mal getroffen, aber das ist eine andere Geschichte...]

Es war der erste Rechner auf dem ich ein Unix (FreeBSD 2.0.5, damals) installiert habe. Den ich auch zu diversen LAN-Parties (Yay! DOOM!) geschleppt habe. (Netzwerk: IPX über BNC, was für ein Spaß bei der obligatorischen Fehlersuche shiver). Später hat er mir noch viele Jahre als Mail/Shellserver gute Dienste geleistet, bis er doch irgendwann durch modernere Hardware abgelöst wurde.

Matrix ist ein 486DX2-66. Damals eine sagenhafte Rechenleistung. Konnte sogar mp3 in Echtzeit abspielen. Gekauft ursprünglich mit 8MB RAM. Damit X11 gut lief kamen 16MB dazu (Finanziert durch den 'glücklichen' Verkauf einer der 4MB-Riegel, aber auch das ist eine andere Geschichte...). Später, als das RAM deutlich billiger wurde, wurden es dann insgesamt 52MB. Da ist selbst eine Dockstar besser ausgestattet :)

Achja. Vesa Local Bus. Hab ich damals nur gekauft weil die C't damals lauthals verkündet hatte, PCI sei viel zu kompliziert, das könne sich niemals durchsetzen, VLB sei the way to go. Hab dann seinerzeit sogar einen VLB-SCSI-Controller erstanden (über Usenet, kennt das noch wer? :) Sieht so aus als gäbe es keine spur mehr von dem Artikel in google groups – Aber das war vermutlich auch in einer TU-Internen Newsgroup…

</inerinnerungschwelg>

So oder so bin ich beim rum-räumen wieder über den Rechner gestolpert, und ihn jetzt doch entsorgt.

Farewell matrix.42.org *schnueff*

– Sec


posted at: 16:57 | Category: /misc | permanent link to this entry | 0 comments (trackback)
<< older

powered by blosxom
in 0.00 s