Posts

Showing posts with the label reverse engineering

Netool Reverse Engineering

Image
The netool is a network diagnostics device sold by Netool LLC . The hardware itself is a chinese openwrt router + power bank. If you dig through the FCC documents for it you can find references to a 'CLOUD WIFI' / 'TOBY' company that is selling these with OpenWRT on them. The netool company took this hardware and did a lot of software work on it in order to create the Phone Apps and API server that runs on the device itself. The hardware is a Ralink RT5350 SoC with 32M of DRAM and a 128M SPI flash for storage. More info can be found on the DevWiki page. As for getting into the netool its fairly simple. I started out trying to probe the 4 pins on the side of the device hoping they were attached to the serial interface of the SoC. Turns out the 4 pins actually go to the Battery Management Controller. I don't see any other test / probe pads so I went ahead and just dumped the SPI Flash with a buspirate. Digging through the flash dump with binwalk shows a uBo...

Heroes of Hammerwatch asset.bin Structure

Image
I month or so ago I started looking into the Heroes of Hammerwatch file structures trying to see how easy it would be to create custom campaigns or mods. When I first got the game and started playing with it there were very little in-memory protections, but now the game seems to have quite a few protections in place. Both while running and in the assets themselves. Do note though this post is being written because I'm putting this project on hiatus for some other projects and just wanted to dump what little bits and pieces I remember for future me if I pick this up again. Right now all I've succeeded in doing is a basic understanding of the assets.bin, there was plans to figure out the town.bsa and character .savs but didn't have the time. The tools I ended up using to aid in reversing are: Radare2 , Okteta , and Kaitai Struct . So using radare to debug the game and kaitai to template out the assets.bin with ksv I was able to brute force figure out some of the struc...

Disabling Steam Link Auto-Standby

There was a reddit post a week or two ago that was having trouble keeping their Link on while watching youtube. I posted a fix in there but forgot to make it more public for others with the same issue to find. So if your Steam Link is automatically turning off / hibernating / standby / shutdown / suspending whatever you want to call it there is a temporary fix until Valve adds a setting for it. The steam link is set to enter a suspended state after 15 minutes of inactivity by default, the defaults can be changed with two files though. Create two files, name one `suspend_timeout_idle.txt` and the other `suspend_timeout_interactive.txt`. These two files will contain the number of seconds before the Link will ask if you're still using the device, and the other file is the time before the Link will auto-standby without asking. I still haven't entirely figured out why there's two files yet but by default both of them are set to 900 seconds so I just keep them the same value w...

Removing Steam Link Bandwidth Limit

A reddit thread brought to my attention that there is a bandwidth limit on the steam link. I've finally figured out where the stream settings are saved and how to read / write them.You will also have to make one file called streaming_args.txt, I'll explain below. streaming_settings.bin  This config file has its maximum_bitrate_kbps set to 0. Which signifies no limit. streaming_settings_100000.bin  This config file has its maximum_bitrate_kbps set to 100,000 for 100mbps. To use these you can either scp them into your /mnt/config/system/ folder as streaming_settings.bin or you can put the file on a USB pendrive as /steamlink/config/system/streaming_settings.bin and reboot with the pendrive inserted. (Note: You need to hard 'reboot' un-plug and re-plug the power, you should see the steamlink on a blue background icon thing.) To see if it worked goto your Streaming settings and press Y to go into Advanced Settings. If it worked your Bandwidth Limit row wil...

Steam Link Developer Builds

Notice for anyone that hasn't found the dev_build.txt and the two indev builds 'available' to the public right now. I've been neglecting to post the dev_builds.txt just to avoid anyone from grabbing the 337 and 341 and flashing them to their links. The 337 build works fine but I see no notable changes, the 341 build actually fails to run on the steam link. On startup the 341 build gives you an error telling you to contact a internal valve employee. The message is a little more specific but I'm trying to avoid names.  But if you're feeling technical and comfortable in your ability to fix your steam link should something mess up then you can flash the 337 and 341 builds manually with a USB drive, see the S01config script in /etc/init.d/startup in there you can see how to change your update branch to dev and flash the dev images. Once again I'm being ambiguous just to avoid hand-holding anyone into messing something up. All in all though the two dev builds d...

Root and SSH Access on the Steam Link

Alright this was a lot easier than I expected. Thanks Valve! After digging through the full 332 update zip I found that Valve left their developer init scripts in /etc/init.d/startup. Not sure if they did this intentionally or not but I like it. So first and foremost I was wrong about the Android AOSP thing, it looks like its just a custom linux and the android stuff I was seeing earlier was just from them using the android signing utility for their updates. Basically they use signapk on their zip files which leaves some android stuff in META-INF. So sorry about the false alarm there. As for enabling ssh on your Steam Link its very easy. All you need to do is get a pendrive and make this file in these folders: /steamlink/config/system/enable_ssh.txt (Note: the file must have some data in it, if enable_ssh.txt is empty it will not work) Then reboot the Steam Link with the pendrive inserted, after its done connecting to the network you can ssh into the Steam Link as root with the p...

Steam Link Software Update System

Currently looking into the updater system for the Steam Link. As for the update system its fairly simple, the first thing the Link does is send a request to. http://media.steampowered.com/steamlink/06_2015/public_builds.txt That returns a newline delimited list of the 'public' Steam Link builds. If there is a higher version in that list somewhere then it will send a request to http://media.steampowered.com/steamlink/06_2015/SystemUpdate_delta_[current_version]_[latest_version].zip That will download the delta update and the system will reboot. Its actually pretty well thought out how they designed the update system, it uses bsdiff to keep the updates small.  Also after some trial and error I found that http://media.steampowered.com/steamlink/06_2015/SystemUpdate_full_[version].zip is also available for full updates, these zips even contain the recovery/bootloader files.

Rocketfish RF-HV3 (Mobile iPod Dock) Disable Automatic Standby

Image
I have  a rocketfish rf-hv3 mobile ipod dock thing which works quite nicely, runs off 4 AA's or a wall-wart and has quite nice sound quality for 2 little speakers. Issue is if no signal is recieved from the line-in or ipod dock after 5 minutes then the device will automatically shutdown. This is a problem because when I first got it I planned to use my iTouch as an alarm and charge the itouch at night but after 5 minutes it would turn off and when my iTouch started going off it wouldn't play any music to wake me up. Also its an issue when I use the line-in to connect it to my Yaesu HT and after 5 minutes of silence on the repeater it shuts off and then when something does come trough I never hear it... Well after messing around with my little digital osc. ( DSO Nano v2 ) on the dock, I noticed the N79E825 MCU which runs the dock has the (left?) mono signal going to pin 16 which is the P0.5/CMPREF/AD2 pin. Well with some trial and error I've noticed if that pin stays low f...

DSC Keybus Protocol

Well I figured I should make a blogger for any Technical related crap I do and here I am, hopefully I can hack lots of nice things to post about in here. First thing up is DSC Keybus protocol which the propriatary protocol used by DSC in their alarm system keypads. For the time being all I know about the protocol is that the clock line runs at 1kHz with 50% duty and oddly enough only does so for 41.6ms then it stays high for 5.4ms and starts all over again. The data line seems to transistion on either the falling or rising edge of the clock, which led Kortuk of chiphacker.com to belive that it is NRZ encoding which I'm not sure of yet but here are some OLS dumps of the data and clock lines hopefully I can figure this out and implement it with a old computer to keep tabs on door closes and opens ect. Also there are some quite interesting reads out there that I'm using to help out: My OLS Dumps My Chiphacker Post Wikipedia NRZ AVR Freaks - Keybus Thread PC-5401 Developer...