<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>x86_64 - Tag - cdpointpoint Hugo Site</title>
        <link>http://example.org/tags/x86_64/</link>
        <description>x86_64 - Tag - cdpointpoint Hugo Site</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>cdpointpoint@gmail.com (cdpointpoint)</managingEditor>
            <webMaster>cdpointpoint@gmail.com (cdpointpoint)</webMaster><lastBuildDate>Thu, 08 Jun 2023 00:00:00 &#43;0000</lastBuildDate><atom:link href="http://example.org/tags/x86_64/" rel="self" type="application/rss+xml" /><item>
    <title>Ropemporium x86_64 ret2csu</title>
    <link>http://example.org/x64_08_ret2csu_readme/</link>
    <pubDate>Thu, 08 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_08_ret2csu_readme/</guid>
    <description><![CDATA[ret2csu Introduction As an introduction we can read we can read the description in the ropemporium site
Same same, but different This challenge is very similar to &ldquo;callme&rdquo;, with the exception of the useful gadgets. Simply call the ret2win() function in the accompanying library with same arguments that you used to beat the &ldquo;callme&rdquo; challenge (ret2win(0xdeadbeef, 0xcafebabe, 0xd00df00d) for the ARM &amp; MIPS binaries, ret2win(0xdeadbeefdeadbeef, 0xcafebabecafebabe, 0xd00df00dd00df00d) for the x86_64 binary.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 pivot</title>
    <link>http://example.org/x64_07_pivot_readme/</link>
    <pubDate>Wed, 07 Jun 2023 20:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_07_pivot_readme/</guid>
    <description><![CDATA[pivot Introduction With this exercice we have a limited space to put our chaine.
We have to use this space as a first stage to prepare a second stage without limit.
The first stage :
use a reading function like gets to write the second staged rop chain a writable memory segment pivot : move the stack in this new segment The second stage : the hacking rop chaine.
The reference challenge page from ropemporium site is here : pivot]]></description>
</item>
<item>
    <title>Ropemporium x86_64 fluff</title>
    <link>http://example.org/x64_06_fluff_readme/</link>
    <pubDate>Tue, 06 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_06_fluff_readme/</guid>
    <description><![CDATA[fluff Consigne Working backwards
Once we&rsquo;ve employed our usual drills of checking protections and searching for interesting symbols &amp; strings, we can think about what we&rsquo;re trying to acheive and plan our chain. A solid approach is to work backwards: we&rsquo;ll need a write gadget - for example mov [reg], reg or something equivalent - to make the actual write, so we can start there. Do it!
There&rsquo;s not much more to this challenge, we just have to think about ways to move data into the registers we want to control.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 bad chars</title>
    <link>http://example.org/x64_05_badchars_readme/</link>
    <pubDate>Mon, 05 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_05_badchars_readme/</guid>
    <description><![CDATA[bad chars Introduction The challenge is described on the ropemporium site : https://ropemporium.com/challenge/badchars.html with some useful indications.
The good, the bad Dealing with bad characters is frequently necessary in exploit development, you&rsquo;ve probably had to deal with them before while encoding shellcode. &ldquo;Badchars&rdquo; are the reason that encoders such as shikata-ga-nai exist. When constructing your ROP chain remember that the badchars apply to every character you use, not just parameters but addresses too.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 write4</title>
    <link>http://example.org/x64_04_write4_readme/</link>
    <pubDate>Sun, 04 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_04_write4_readme/</guid>
    <description><![CDATA[write4 Description Things have been rearranged a little for this challenge; the printing logic has been moved into a separate library in an attempt to mitigate the alternate solution that is possible in the callme challenge. The stack smash also takes place in a function within that library, but don&rsquo;t worry this will have no effect on your ROP chain.
Important! A PLT entry for a function named print_file() exists within the challenge binary, simply call it with the name of a file you wish to read (like &ldquo;flag.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 callme</title>
    <link>http://example.org/x64_03_callme_readme/</link>
    <pubDate>Sat, 03 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_03_callme_readme/</guid>
    <description><![CDATA[callme Introduction Cette fois-ci on doit appeler trois fonctions successivement avec des paramètres attendus.
Découverte gef➤ disas usefulFunction Dump of assembler code for function usefulFunction: 0x00000000004008f2 &lt;+0&gt;:	push rbp 0x00000000004008f3 &lt;+1&gt;:	mov rbp,rsp 0x00000000004008f6 &lt;+4&gt;:	mov edx,0x6 0x00000000004008fb &lt;+9&gt;:	mov esi,0x5 0x0000000000400900 &lt;+14&gt;:	mov edi,0x4 0x0000000000400905 &lt;+19&gt;:	call 0x4006f0 &lt;callme_three:@plt&gt; 0x000000000040090a &lt;+24&gt;:	mov edx,0x6 0x000000000040090f &lt;+29&gt;:	mov esi,0x5 0x0000000000400914 &lt;+34&gt;:	mov edi,0x4 0x0000000000400919 &lt;+39&gt;:	call 0x400740 &lt;callme_two@plt&gt; 0x000000000040091e &lt;+44&gt;:	mov edx,0x6 0x0000000000400923 &lt;+49&gt;:	mov esi,0x5 0x0000000000400928 &lt;+54&gt;:	mov edi,0x4 0x000000000040092d &lt;+59&gt;:	call 0x400720 &lt;callme_one@plt&gt; 0x0000000000400932 &lt;+64&gt;:	mov edi,0x1 0x0000000000400937 &lt;+69&gt;:	call 0x400750 &lt;exit@plt&gt; End of assembler dump.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 split</title>
    <link>http://example.org/x64_02_split_readme/</link>
    <pubDate>Fri, 02 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_02_split_readme/</guid>
    <description><![CDATA[Introduction Dans ce second exercice on doit passer un argument à la fonction appelée. L&rsquo;argument est présent dans le programme.
Découverte Exécution $ ./split split by ROP Emporium x86_64 Contriving a reason to ask user for data... &gt; AAAAAAA Thank you! Exiting Exploration du code La fonction main : gef➤ disas main Dump of assembler code for function main: 0x0000000000400697 &lt;+0&gt;:	push rbp 0x0000000000400698 &lt;+1&gt;:	mov rbp,rsp 0x000000000040069b &lt;+4&gt;:	mov rax,QWORD PTR [rip+0x2009d6] # 0x601078 &lt;stdout@@GLIBC_2.]]></description>
</item>
<item>
    <title>Ropemporium x86_64 ret2win</title>
    <link>http://example.org/x64_01_ret2win_readme/</link>
    <pubDate>Thu, 01 Jun 2023 00:00:00 &#43;0000</pubDate>
    <author>cdpointpoint</author>
    <guid>http://example.org/x64_01_ret2win_readme/</guid>
    <description><![CDATA[ret2win Introduction Ce premier exercice jette les bases de l&rsquo;exploitation d&rsquo;un débordement de pile avec une pile non exécutable. L&rsquo;exploitation la plus simple consiste à appeler une fonction existante.
Dans ce premier exercice la fonction présente dans le code et ne demande pas de paramètre.
On va décrire la démarche d&rsquo;évaluation de la taille du débordement qui sera considérée comme acquise dans les autres exercices.
Découverte Lancement du programme :]]></description>
</item>
</channel>
</rss>
