<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>reverse engineering on irq5 test</title><link>https://irq5-7854a1fdb9f4.pages.dev/tag/reverse-engineering/</link><description>Recent content in reverse engineering on irq5 test</description><language>en-us</language><lastBuildDate>Mon, 10 Aug 2020 23:53:00 +0000</lastBuildDate><atom:link href="https://irq5-7854a1fdb9f4.pages.dev/tag/reverse-engineering/feed/" rel="self" type="application/rss+xml"/><item><title>Custom Firmware for the Xiaomi AX3600 Wireless Router</title><link>https://irq5-7854a1fdb9f4.pages.dev/2020/08/custom-firmware-for-the-xiaomi-ax3600-wireless-router/</link><pubDate>Mon, 10 Aug 2020 23:53:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2020/08/custom-firmware-for-the-xiaomi-ax3600-wireless-router/</guid><description>&lt;p>As I have &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2020/07/xiaomi-aiot-wireless-router-ax3600-review/ rel=noopener>mentioned in the review&lt;/a>, the stock firmware on the &lt;strong>Xiaomi AX3600 wireless router&lt;/strong> is extremely limiting. On top of that, the firmware is also locked to install only authorized updates from the manufacturer.
If you have been following the blog, you will know that I like &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/tag/asuswrt/ rel=noopener>the flexibility that ASUSWRT provides&lt;/a> for customizing my router.&lt;/p>&lt;p>While there is currently an on-going effort to try and port vanilla OpenWRT for this router,
I suspect that might take some time.
In this post, I describe how to workaround the lousy firmware and configure the router with the advanced features I need.&lt;/p>&lt;h1 id=router-disassembly>Router Disassembly&lt;/h1>&lt;p>It is recommended to have UART access handy, in case something bad happens and you need to recover your router,
or if you want access to U-Boot, the bootloader.
This would require you to crack open your router, so you might only want to do this if necessary.
&lt;strong>Feel free to skip this section if you are not interested in the hardware, or don&amp;rsquo;t need low-level access.&lt;/strong>&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2020/img/50192590117_c462cfd63a_7171.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2020/img/50192590117_c462cfd63a_7171.jpg alt="router top view, with cover opened" width=1023 height=682>&lt;/picture>&lt;/p>&lt;p>You need to unscrew 5 screws, 4 of which are hidden under the rubber feet, and one under the center sticker label.
In the disassembled top view photo here, you can see the screw holes at the corners, as well as a missing chunk in the center of the heatsink for the mating screw post, directly aligned with the AIoT antenna and indicator LEDs.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2020/08/custom-firmware-for-the-xiaomi-ax3600-wireless-router/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Paper Shredder Repair</title><link>https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/</link><pubDate>Mon, 06 Apr 2015 12:50:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/</guid><description>&lt;p>Now is probably a good time to mention that I have a paper shredder.
When I was shopping for a shredder, the basic requirement is that it must be relatively &amp;ldquo;secure&amp;rdquo;.
Straight cut shredders (that produce long straight strips) are definitely &lt;em>not secure&lt;/em>.&lt;/p>&lt;p>Ultimately I settled on the &lt;a href=http://www.amazon.co.jp/dp/B002UKPAEO rel=noopener target=_blank class=external>CARL DS-3000 personal paper shredder&lt;/a>.
The DS-3000 is a cross-cut shredder which produces &amp;ldquo;particles&amp;rdquo; no larger than
2mm x 4.5mm and this meets &lt;a href=//en.wikipedia.org/wiki/Paper_shredder#Types rel=noopener>DIN security level 4&lt;/a>.
These days, the NSA mandates 1mm x 5mm &amp;ldquo;particles&amp;rdquo; for classified documents.&lt;/p>&lt;p>At this point, it&amp;rsquo;s probably helpful to show you what my shredder bin looks like:&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2015/img/shredder-confetti.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2015/img/shredder-confetti.jpg alt="shredder confetti" width=1024 height=683>&lt;/picture>&lt;/p>&lt;p>From the particles, you can make out various truncated words such as &amp;ldquo;A/C&amp;rdquo;,
&amp;ldquo;exp&amp;rdquo; and the number &amp;ldquo;5&amp;rdquo;, but it&amp;rsquo;s almost impossible to reconstruct any bank
balances or personal information from it.&lt;/p>&lt;p>This particular model was the right balance between my budget and the level of security.
Plus, the shredder is compact enough to sit on your desk.
I bought it in 2009 and I use it every couple of months when I have accumulated
enough material that needs to be destroyed.&lt;/p>&lt;p>I was in the middle of shredding papers when it suddenly stopped working.
Now the shredder does not respond when I stick paper into its slot.
The LED indicator looks dimmer than usual when it is turned on.&lt;/p>&lt;p>But I&amp;rsquo;m not ready to give up on it just yet&amp;mldr;&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Interesting 31C3 Talks</title><link>https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/</link><pubDate>Fri, 02 Jan 2015 23:55:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/</guid><description>&lt;p>&lt;picture>&lt;source srcset=/posts/2015/img/31c3-logo.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2015/img/31c3-logo.png alt="31C3 logo 'a new dawn'" width=128 height=151>&lt;/picture>&lt;/p>&lt;p>The 31st Chaos Communication Congress (31C3) ended just 3 days ago, and there were several interesting talks.&lt;/p>&lt;p>They have got live streaming of the event over the web, as well as encourage you to use an external player with RTMP or HLS support. The video streams were very reliable and best of all, it&amp;rsquo;s available in HD.
In comparison, I tried the Apple live event once and it was really crappy. For one, the HLS&lt;sup id=fnref:1>&lt;a href=#fn:1 class=footnote-ref role=doc-noteref>1&lt;/a>&lt;/sup> URL is not publicly available , so someone had to dig that out and post it.
Even after that, the audio stream was (I believe, unintentionally) a mix of both English and Chinese simultaneously.&lt;/p>&lt;p>The 31C3 video recordings were also uploaded very quickly after the event.
This is much quicker than other events such as Black Hat (although as an attendee, you do get a copy of the stuff on a DVD).
A really big kudos to the organizers and the video production team!&lt;/p>&lt;p>If you don&amp;rsquo;t have time to listen to each and every talk, here are a few selected talks that were interesting to me, as well as a short summary to see if it&amp;rsquo;s worth 30 or 60 minutes of your time.&lt;/p>&lt;p>A full list of talks can be found here: &lt;a href=http://media.ccc.de/browse/congress/2014/index.html rel=noopener target=_blank class="external rawurl">http://media.ccc.de/browse/congress/2014/index.html&lt;/a>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Android Internals: Package Verifiers</title><link>https://irq5-7854a1fdb9f4.pages.dev/2014/12/android-internals-package-verifiers/</link><pubDate>Mon, 01 Dec 2014 22:50:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2014/12/android-internals-package-verifiers/</guid><description>&lt;p>Inspired by Nikolay Elenkov&amp;rsquo;s detailed technical posts on &lt;a href=//nelenkov.blogspot.com rel=noopener>Android Explorations&lt;/a>, I decided to dig into the Android source code myself and document the package verification mechanism in Android.&lt;/p>&lt;p>Package verification was introduced in Android 4.2 to allow for apps to be verified or checked &lt;em>before&lt;/em> they are installed.
If you have tried to install a malicious app on a production Android device, you might have seen the following screen, displayed by the verifier:&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2014/img/android-pkgverify.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2014/img/android-pkgverify.png alt="screenshot of malicious app install warning" width=900 height=889 class="half noinvert">&lt;/picture>&lt;/p>&lt;p>Android was built in such a way that it tries to be generic for third-parties to implement stuff.
Package verification is a feature that is currently only used and implemented by Google, but it is abstracted in such a way that any manufacturer can implement their own. Documentation and examples on how to do this is almost non-existent, although anyone determined enough can read the Android source code and figure it out for themselves.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2014/12/android-internals-package-verifiers/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Cloud-Enabling a Bathroom Scale</title><link>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</link><pubDate>Thu, 25 Sep 2014 01:04:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</guid><description>&lt;p>Last week as I was making my rounds at the supermarket, I came across this digital bathroom scale on sale.
With some membership card, the discount was almost 50% and at S$16, I thought that was a pretty good deal.
It is &amp;ldquo;wireless&amp;rdquo; in that it has a separate display unit that could be detached from the scale itself.
This bathroom scale had &amp;ldquo;HACK ME&amp;rdquo; written all over it.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm6.staticflickr.com/5591/15082564568_873cab20b7_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>It turns out that this bathroom scale is the &lt;strong>EB9121&lt;/strong> made by a Chinese (OEM?) company called
&lt;em>Zhongshan Camry Electronic Co. Ltd&lt;/em> (or simply &lt;em>Camry&lt;/em>).
The box specifically mentions that it uses infrared for transmission, and given that I had
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/tag/infrared rel=noopener>some experience looking at IR signals&lt;/a>, I thought it would be rather straightforward.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3906/15082564748_2feb92e812_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Decoding BCARD Conference Badges</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/</link><pubDate>Sat, 13 Apr 2013 01:28:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/</guid><description>&lt;p>Last month, I had the opportunity to fly halfway around the world to attend &lt;em>RSA Conference 2013&lt;/em>. Everyone was given a lanyard and badge which contains your information entered during registration. When you visit booths, they can then scan your badge to collect your information and follow up by sending you spam.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2013/img/rsa-conf-pass.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/rsa-conf-pass.jpg alt="RSA conference pass" width=640 height=427>&lt;/picture>&lt;/p>&lt;p>The scanner varies across different booths, but mostly it&amp;rsquo;s an Android device that ran a custom software. Since it had a large NXP logo, let&amp;rsquo;s try to read it with the &lt;a href="https://play.google.com/store/apps/details?id=com.nxp.taginfolite" rel=noopener target=_blank class=external>NFC TagInfo app&lt;/a>. Looks like the tag identifies itself as a NDEF message but the data is gibberish.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/bcard_taginfo.png alt="Data in the BCARD as decoded by TagInfo" width=720 height=1034 class="half noinvert">&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Infrared Remote Control Protocols: Part 2</title><link>https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/</link><pubDate>Sat, 11 Aug 2012 00:55:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/</guid><description>&lt;p>In the &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2012/07/infrared-remote-control-protocols-part-1/ rel=noopener>previous post&lt;/a>, techniques on how to capture an IR remote signal were presented and the most reliable one was using the Arduino sketch. The captured signal was also analyzed, although we had much of our work already done for us.&lt;/p>&lt;p>In this concluding post, a remote control whose protocol is unknown will be captured and analyzed as a case study. Lastly, we will cover the re-transmission of the IR signal. The remote control in question is for my ceiling fan, &lt;a href="http://kdk.jp/product_detail.aspx?id=235" rel=noopener target=_blank class=external>KDK model M56SR&lt;/a>. The remote also works for two other fan models M56QR and M11SU.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2012/img/kdk-remote.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2012/img/kdk-remote.jpg alt="KDK remote control" width=800 height=534>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Mac Battery Firmware Hacking</title><link>https://irq5-7854a1fdb9f4.pages.dev/2011/11/mac-battery-firmware-hacking/</link><pubDate>Sun, 20 Nov 2011 16:36:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2011/11/mac-battery-firmware-hacking/</guid><description>[youtube=http://www.youtube.com/watch?v=bc1EU5GTbLE]
Charlie Miller reverse engineers the Mac battery firmware updater, sniffs battery communications on the SMBus, writes an IDA processor plugin (in IDAPython) for the CoolRISC 816 processor in the bq20z80, and mucks around with the its firmware.
All the source code and presentation materials are provided.
[via Dangerous Prototypes]</description></item></channel></rss>