<div dir="ltr"><div><div><div><div><div><div><div><div>I've been promoting weekly workshops at the local hackerspace (Garoa Hacker Clube, in São Paulo, Brazil) during the last year.<br></div>Documentation of our activities is (in brazilian portuguese) at this wiki-page: <a href="https://www.garoa.net.br/wiki/Retroprograma%C3%A7%C3%A3o">https://www.garoa.net.br/wiki/Retroprogramação</a><br>
<br></div>I initially covered retro-computing by analysing vintage computer games source code (whenever they've been publicly released) or actual software reverse engineering by dealing with disassembly techniques.<br>
<br></div>More recently we moved towards hardware reverse engineering. We use multimeters, EEPROM dumper / programmer / uv-light eraser, etc<br></div>We have been studying emulation of digital circuits by working upon the MAME/MESS code base. Emulation has proven to be very useful as a guidemap to understand devices that have already been reverse engineered before. But also useful as a sandbox for making experiments. By writing emulators based on the knowledge we aquired from inspecting PCBs we can refute or confirm certain theories we come up with regarding the functioning of the devices.<br>
<br></div>Also, dumping ROMs we can use an hex-editor to inspect its contents, or even  write small python scripts to extract graphics from character generator ROMs. We can also pass the dumped ROM files through a disassembler, but that results only in a static aproximation of the assembly code. By quickly sketching out a MAME/MESS driver and loading the dumped ROM image, we can actually trace assembly code execution step-by-step in our own hacky emulator, which is quite amazing and certainly a powerful way of grabbing the interest of the students.<br>
</div><br></div><div>I'm happy to see more people promoting reverse engineering workshops. I think that these skills need to be spread out even further. Given the recent events related to espionage and surveillance, it's even more important to stress that we need to form a community of hackers who are able to dig deeper and deeper into these devices because most of them nowadays contain proprietary firmware which can (and in certain cases certainly do) contain backdoors which can undermine our privacy, security and freedom. For those, it's kind of obvious, by I feel I have to say it again, we need free firmware (as in freedom)! We need, for instance, to get rid of non-free firmware from Linux and only these reverse engineering skills can really significantly help us achieve that!<br>
</div><br>happy hacking,<br></div>Felipe Sanches<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 4, 2014 at 11:05 AM, Steve Conklin <span dir="ltr"><<a href="mailto:steve@conklinhouse.com" target="_blank">steve@conklinhouse.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">As requested, here's a summary of the workshop:<div><br></div><div>The workshop was a vert fast introduction to reverse engineering consumer devices in which access is desired to an available (but undocumented) interface.</div>

<div><br></div><div>The workshop covered different motivations for reverse engineering, some applicable US laws, and a quick introduction to serial interfaces.</div><div><br></div><div>(most) Participants were able to use the workshop board set to walk through the process of monitoring a serial data stream between two components of a system, and then to command one of those components independently. There was not enough hardware for everyone to participate with the hands-on hardware.</div>

<div><br></div><div>I enjoyed hosting the workshop, and would be happy to hear any feedback from participants (in private email if you want). This is only the second time I've taught this workshop, and it is an evolving project.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div>Steve Conklin</div><div><br></div></font></span></div>
<br>_______________________________________________<br>
CREATE mailing list<br>
<a href="mailto:CREATE@lists.freedesktop.org">CREATE@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/create" target="_blank">http://lists.freedesktop.org/mailman/listinfo/create</a><br>
<br></blockquote></div><br></div>