<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/45982/reverse-engineering-a-toy-based-on-an-nrf52832</link><description>I have some questions that I hope some of you fine engineers can shed some light on. First, some story time is probably in order. Skyrocket Toys developed a line of IR tag toys called Recoil, then some BadThings and they had to abandon the line of toys</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 10 Apr 2019 12:06:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/45982/reverse-engineering-a-toy-based-on-an-nrf52832" /><item><title>RE: Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/thread/181317?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2019 12:06:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4b34fbf-3f6f-4854-908e-7b4176130a34</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;As to Q1:&amp;nbsp;&lt;a href="https://reverseengineering.stackexchange.com/questions/11650/how-can-i-decompile-an-arm-cortex-m0-hex-file-to-c"&gt;https://reverseengineering.stackexchange.com/questions/11650/how-can-i-decompile-an-arm-cortex-m0-hex-file-to-c&lt;/a&gt;. You can get hold of the assembler code, but thats about it I think&lt;/p&gt;
&lt;p&gt;Q2: The application&amp;nbsp;is linked with the SoftDevice headers, so if you update the SoftDevice you need to make sure that it is compatible with the SoftDevice present. Otherwise, the device will probably hardfault when the SD API is called from the application.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/thread/181186?ContentTypeID=1</link><pubDate>Tue, 09 Apr 2019 21:03:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3d4aa4ba-421b-4c70-92a8-1d8ad6f61979</guid><dc:creator>Frank</dc:creator><description>&lt;p&gt;The chips have protection 1 (readout) enabled but not 2 so they are still erasable/writeable, but we do not have a copy of the bootloader. Can the SoftDevice be bundled with the application replaced over BLE DFU, or is that in of itself a function of the soft device&amp;nbsp;and as such be in use?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The primary reason I am curious&amp;nbsp;about replacing the SoftDevice is that there are several&amp;nbsp;models of smartphones that fail to communicate with the toys and I was hoping&amp;nbsp;to increase compatibility.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/thread/181185?ContentTypeID=1</link><pubDate>Tue, 09 Apr 2019 20:57:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7bfb22a8-0b0f-4a38-a198-c7241708aed2</guid><dc:creator>Frank</dc:creator><description>&lt;p&gt;&lt;a href="https://github.com/SkyRocketToys"&gt;https://github.com/SkyRocketToys&lt;/a&gt;&amp;nbsp;Not a lot left there, but the&amp;nbsp;Recoil_Documentation repo is the best information so far.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/thread/181183?ContentTypeID=1</link><pubDate>Tue, 09 Apr 2019 20:50:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5d660e0-bbbc-4c71-a103-b009419548a4</guid><dc:creator>awneil</dc:creator><description>[quote userid="74434" url="~/f/nordic-q-a/45982/reverse-engineering-a-toy-based-on-an-nrf52832"]what is left is available&amp;nbsp;on GitHub[/quote]
&lt;p&gt;Where?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reverse-engineering a toy based on an nRF52832</title><link>https://devzone.nordicsemi.com/thread/181182?ContentTypeID=1</link><pubDate>Tue, 09 Apr 2019 20:46:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ccd362e-607f-4385-b8fc-42b113c250c2</guid><dc:creator>awneil</dc:creator><description>[quote userid="74434" url="~/f/nordic-q-a/45982/reverse-engineering-a-toy-based-on-an-nrf52832"]#1: Is it possible&amp;nbsp;to decompile a program bin back into a semblance of human read/editable code?[/quote]
&lt;p&gt;It is largely possible to disassemble binary code to assembler source, but you will have no meaningful names or labels for anything - variables, functions, etc.&lt;/p&gt;
&lt;p&gt;For any non-trivial program, Getting back to useful, readable code at the &amp;#39;C&amp;#39; level is pretty much a dead end.&lt;/p&gt;
&lt;p&gt;It would probably be easier &amp;amp; more productive to just re-write from scratch.&lt;/p&gt;
[quote userid="74434" url="~/f/nordic-q-a/45982/reverse-engineering-a-toy-based-on-an-nrf52832"]can the underlying SoftDevice be updated without having to modify the application?[/quote]
&lt;p&gt;It should be &lt;em&gt;possible&lt;/em&gt; via SWD - provided the chip is not locked.&lt;/p&gt;
&lt;p&gt;Whether a bootloader would support that is another question.&lt;/p&gt;
&lt;p&gt;Whether the app would work with any other SoftDevice is another question still.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>