<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lib-des-gnux/templates/shellcode/Makefile, branch master</title>
<subtitle>Library of GNU Exploitation</subtitle>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/lib-des-gnux/'/>
<entry>
<title>shellcode: Update Makefile</title>
<updated>2023-01-15T15:12:48+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-12-24T13:02:29+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/lib-des-gnux/commit/?id=806f9029d160c5f47f0b49db288f469718424f7b'/>
<id>806f9029d160c5f47f0b49db288f469718424f7b</id>
<content type='text'>
This patch brings various improvements to the shellcoding experience:

    - There is no longer a hardcoded assembly sample that gets built

        Although the default was pretty sane, it will be more convenient
        to experiment, or build more complex shellcodes using a new
        untracked filename as the main build target: code.asm

        If code.asm is missing, then as before, it will be created from
        shell64.asm (the old hard default).

        The Makefile targets will compile code.* files.

    - Hex string generation and bad char detection are improved

        grep is used to highlight detected bad chars right in place.
        This entire feature is now implemented directly in the Makefile
        using a couple command lines, making shelltool deprecated.

    - Builtin disassembly

        Just run 'make disas' instead of manually invoking objdump.  The
        output is also filtered through grep for bad char detection.

    - ELF executable is optional

        Rather than linking an executable all the time, just run
        'make elf' when you need it.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch brings various improvements to the shellcoding experience:

    - There is no longer a hardcoded assembly sample that gets built

        Although the default was pretty sane, it will be more convenient
        to experiment, or build more complex shellcodes using a new
        untracked filename as the main build target: code.asm

        If code.asm is missing, then as before, it will be created from
        shell64.asm (the old hard default).

        The Makefile targets will compile code.* files.

    - Hex string generation and bad char detection are improved

        grep is used to highlight detected bad chars right in place.
        This entire feature is now implemented directly in the Makefile
        using a couple command lines, making shelltool deprecated.

    - Builtin disassembly

        Just run 'make disas' instead of manually invoking objdump.  The
        output is also filtered through grep for bad char detection.

    - ELF executable is optional

        Rather than linking an executable all the time, just run
        'make elf' when you need it.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Makefile for shellcode templates</title>
<updated>2021-08-22T13:24:04+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2021-08-22T13:24:04+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/lib-des-gnux/commit/?id=d0e68f51eae112447289f2bcf541c4a4882ec741'/>
<id>d0e68f51eae112447289f2bcf541c4a4882ec741</id>
<content type='text'>
The shell*.asm files are considered the default programs and the
expected use-case for utilizing the templates is to edit these files to
implement the desired shellcode.  I figure that literal shellcode makes
the most sense of what to expect by default.

'make all' will assemble and link the shellcode (so it can actually be
directly executed via the output elf files), and feed the disassembly
into shelltool for use elsewhere.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The shell*.asm files are considered the default programs and the
expected use-case for utilizing the templates is to edit these files to
implement the desired shellcode.  I figure that literal shellcode makes
the most sense of what to expect by default.

'make all' will assemble and link the shellcode (so it can actually be
directly executed via the output elf files), and feed the disassembly
into shelltool for use elsewhere.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
</feed>
