<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ida pro on irq5 test</title><link>https://irq5-7854a1fdb9f4.pages.dev/tag/ida-pro/</link><description>Recent content in ida pro on irq5 test</description><language>en-us</language><lastBuildDate>Fri, 22 May 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://irq5-7854a1fdb9f4.pages.dev/tag/ida-pro/feed/" rel="self" type="application/rss+xml"/><item><title>Batch Binary Analysis with IDA Pro 7.4 Automation</title><link>https://irq5-7854a1fdb9f4.pages.dev/2020/05/batch-binary-analysis-with-ida-pro-7.4-automation/</link><pubDate>Fri, 22 May 2020 00:00:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2020/05/batch-binary-analysis-with-ida-pro-7.4-automation/</guid><description>&lt;p>It is easy to script analysis steps with IDAPython, but now we want to automate
this analysis over, let&amp;rsquo;s say, 10,000 files.
I did a quick Google and I couldn&amp;rsquo;t find a guide on how to perform batch
binary analysis tasks by automating IDA Pro 7.x.&lt;/p>&lt;p>Unfamiliar with this, I was constantly guessing whether it was the command-line arguments,
the script, or a combination of both that was not working.
I&amp;rsquo;m sharing my experince here so you won&amp;rsquo;t have to be fumbling around like I was.&lt;/p>&lt;p>I will be using IDA Pro for Windows here, but it should be applicable to any of
their supported platforms like Mac or Linux.&lt;/p>&lt;h1 id=simple-binary-analysis>Simple Binary Analysis&lt;/h1>&lt;p>Let&amp;rsquo;s write some simple IDAPython analysis script and run it within the IDA Pro console.
This script loops through all functions in the executable and prints out its
address and name:&lt;/p>&lt;div class=highlight role=region aria-label="code block" translate=no>&lt;pre tabindex=0 class=chroma>&lt;code class=language-python data-lang=python>&lt;span class=line>&lt;span class=cl>&lt;span class=kn>import&lt;/span> &lt;span class=nn>idc&lt;/span>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>&lt;span class=kn>import&lt;/span> &lt;span class=nn>idautils&lt;/span>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>&lt;span class=nb>print&lt;/span> &lt;span class=s1>&amp;#39;count &lt;/span>&lt;span class=si>%d&lt;/span>&lt;span class=s1>&amp;#39;&lt;/span> &lt;span class=o>%&lt;/span> &lt;span class=nb>len&lt;/span>&lt;span class=p>(&lt;/span>&lt;span class=nb>list&lt;/span>&lt;span class=p>(&lt;/span>&lt;span class=n>idautils&lt;/span>&lt;span class=o>.&lt;/span>&lt;span class=n>Functions&lt;/span>&lt;span class=p>()))&lt;/span>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>&lt;span class=k>for&lt;/span> &lt;span class=n>ea&lt;/span> &lt;span class=ow>in&lt;/span> &lt;span class=n>idautils&lt;/span>&lt;span class=o>.&lt;/span>&lt;span class=n>Functions&lt;/span>&lt;span class=p>():&lt;/span>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl> &lt;span class=nb>print&lt;/span> &lt;span class=nb>hex&lt;/span>&lt;span class=p>(&lt;/span>&lt;span class=n>ea&lt;/span>&lt;span class=p>),&lt;/span> &lt;span class=n>idc&lt;/span>&lt;span class=o>.&lt;/span>&lt;span class=n>get_func_name&lt;/span>&lt;span class=p>(&lt;/span>&lt;span class=n>ea&lt;/span>&lt;span class=p>)&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The &lt;code>idautils&lt;/code> module contains higher-level functionality like getting a list of
functions, or finding code &amp; data references to addresses.
If you are familiar with IDC scripting, most of the functions by the same name
can be found within the &lt;code>idc&lt;/code> module.
This is not really meant to be an IDAPython or IDC scripting tutorial,
so you will need to look elsewhere for that.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2020/05/batch-binary-analysis-with-ida-pro-7.4-automation/#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>