<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/index.php?action=history&amp;feed=atom&amp;title=How_to_reverse</id>
	<title>How to reverse - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/index.php?action=history&amp;feed=atom&amp;title=How_to_reverse"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;action=history"/>
	<updated>2026-04-09T07:53:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=117103&amp;oldid=prev</id>
		<title>IAdam1n at 13:28, 17 September 2021</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=117103&amp;oldid=prev"/>
		<updated>2021-09-17T13:28:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 13:28, 17 September 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read up on exploit types and why they work. Have a working knowledge of the assembly you are reversing, but keep in mind you don't have to write it. Understand how the stack behaves in your system and how parameters are passed to functions ([[ARM]] is registers R0-R3+stack return R0). Learn everything you can about the general system design before you dive into the specifics of what functions do.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read up on exploit types and why they work. Have a working knowledge of the assembly you are reversing, but keep in mind you don't have to write it. Understand how the stack behaves in your system and how parameters are passed to functions ([[ARM]] is registers R0-R3+stack return R0). Learn everything you can about the general system design before you dive into the specifics of what functions do.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also, enjoy it. It's really cool when things come together, and you finally figure out that one function you had no idea about. Or when you apply a patch that works. Or when you see what could be an exploit, try it, and realize you are running unsigned code. Work at it, and you will become good. I had never opened [[IDA]] before &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;June 29, &lt;/del&gt;2007.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also, enjoy it. It's really cool when things come together, and you finally figure out that one function you had no idea about. Or when you apply a patch that works. Or when you see what could be an exploit, try it, and realize you are running unsigned code. Work at it, and you will become good. I had never opened [[IDA]] before &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{date|&lt;/ins&gt;2007&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|06|29}}&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key theiphon_wikidb:diff:wikidiff2:1.12:old-34492:rev-117103:1.7.2:0 --&gt;
&lt;/table&gt;</summary>
		<author><name>IAdam1n</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=34492&amp;oldid=prev</id>
		<title>IAdam1n at 14:00, 27 August 2013</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=34492&amp;oldid=prev"/>
		<updated>2013-08-27T14:00:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:00, 27 August 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Tutorials]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key theiphon_wikidb:diff:wikidiff2:1.12:old-7489:rev-34492:1.7.2:0 --&gt;
&lt;/table&gt;</summary>
		<author><name>IAdam1n</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=7489&amp;oldid=prev</id>
		<title>Http: link, spacing</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=7489&amp;oldid=prev"/>
		<updated>2010-07-24T23:22:46Z</updated>

		<summary type="html">&lt;p&gt;link, spacing&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 23:22, 24 July 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When reversing many things, you are given one huge advantage. Most programs are written to interact, or at least be debugged by, humans. There are strings left all over many programs. Programs are usually huge, and trying to figure out what every function does is not only impossible, but not what you want. Instead narrow it down by seeing what prints a certain string, and making educated guesses at the surrounding functions. Get in the head of the designer; think about what (s)he was thinking about when writing this code.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When reversing many things, you are given one huge advantage. Most programs are written to interact, or at least be debugged by, humans. There are strings left all over many programs. Programs are usually huge, and trying to figure out what every function does is not only impossible, but not what you want. Instead narrow it down by seeing what prints a certain string, and making educated guesses at the surrounding functions. Get in the head of the designer; think about what (s)he was thinking about when writing this code.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read up on exploit types and why they work. Have a working knowledge of the assembly you are reversing, but keep in mind you don't have to write it. Understand how the stack behaves in your system and how parameters are passed to functions(ARM is registers R0-R3+&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Stack&lt;/del&gt; return R0). Learn everything you can about the general system design before you dive into the specifics of what functions do.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read up on exploit types and why they work. Have a working knowledge of the assembly you are reversing, but keep in mind you don't have to write it. Understand how the stack behaves in your system and how parameters are passed to functions&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;ARM&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt; is registers R0-R3+&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;stack&lt;/ins&gt; return R0). Learn everything you can about the general system design before you dive into the specifics of what functions do.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also, enjoy it. It's really cool when things come together, and you finally figure out that one function you had no idea about. Or when you apply a patch that works. Or when you see what could be an exploit, try it, and realize you are running unsigned code. Work at it, and you will become good. I had never opened IDA before June 29, 2007.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Also, enjoy it. It's really cool when things come together, and you finally figure out that one function you had no idea about. Or when you apply a patch that works. Or when you see what could be an exploit, try it, and realize you are running unsigned code. Work at it, and you will become good. I had never opened &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;IDA&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt; before June 29, 2007.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;~geohot&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key theiphon_wikidb:diff:wikidiff2:1.12:old-905:rev-7489:1.7.2:0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Http</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=905&amp;oldid=prev</id>
		<title>Geohot at 00:53, 31 July 2008</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=905&amp;oldid=prev"/>
		<updated>2008-07-31T00:53:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:53, 31 July 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;−&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;---&lt;/del&gt;&quot;Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction&quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;---&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;&quot;Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction&quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Most people, like I did when I first started, view reversing as tracing the exact flow of a program. Nothing could be further from the truth. You are not a computer, and you have a completely different skill set from a computer, so why are you trying to act like one? Sometimes you'll get lucky and the binaries you are reversing haven't been stripped. 90% of reversing low level stuff is coming up with accurate function names. From a function name, a human can deduce what a function does very quickly.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Most people, like I did when I first started, view reversing as tracing the exact flow of a program. Nothing could be further from the truth. You are not a computer, and you have a completely different skill set from a computer, so why are you trying to act like one? Sometimes you'll get lucky and the binaries you are reversing haven't been stripped. 90% of reversing low level stuff is coming up with accurate function names. From a function name, a human can deduce what a function does very quickly.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key theiphon_wikidb:diff:wikidiff2:1.12:old-904:rev-905:1.7.2:0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Geohot</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=904&amp;oldid=prev</id>
		<title>Geohot: New page: ---&quot;Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction&quot;---  Most people, like I did when I first star...</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=How_to_reverse&amp;diff=904&amp;oldid=prev"/>
		<updated>2008-07-31T00:53:30Z</updated>

		<summary type="html">&lt;p&gt;New page: ---&amp;quot;Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction&amp;quot;---  Most people, like I did when I first star...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;---&amp;quot;Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction&amp;quot;---&lt;br /&gt;
&lt;br /&gt;
Most people, like I did when I first started, view reversing as tracing the exact flow of a program. Nothing could be further from the truth. You are not a computer, and you have a completely different skill set from a computer, so why are you trying to act like one? Sometimes you'll get lucky and the binaries you are reversing haven't been stripped. 90% of reversing low level stuff is coming up with accurate function names. From a function name, a human can deduce what a function does very quickly.&lt;br /&gt;
&lt;br /&gt;
When reversing many things, you are given one huge advantage. Most programs are written to interact, or at least be debugged by, humans. There are strings left all over many programs. Programs are usually huge, and trying to figure out what every function does is not only impossible, but not what you want. Instead narrow it down by seeing what prints a certain string, and making educated guesses at the surrounding functions. Get in the head of the designer; think about what (s)he was thinking about when writing this code.&lt;br /&gt;
&lt;br /&gt;
Read up on exploit types and why they work. Have a working knowledge of the assembly you are reversing, but keep in mind you don't have to write it. Understand how the stack behaves in your system and how parameters are passed to functions(ARM is registers R0-R3+Stack return R0). Learn everything you can about the general system design before you dive into the specifics of what functions do.&lt;br /&gt;
&lt;br /&gt;
Also, enjoy it. It's really cool when things come together, and you finally figure out that one function you had no idea about. Or when you apply a patch that works. Or when you see what could be an exploit, try it, and realize you are running unsigned code. Work at it, and you will become good. I had never opened IDA before June 29, 2007.&lt;br /&gt;
&lt;br /&gt;
~geohot&lt;/div&gt;</summary>
		<author><name>Geohot</name></author>
		
	</entry>
</feed>