UDCLI(1)

πŸ“¦
version 1.7.2+git20221013.5336633 Β· 3 versions
, in ubuntu stonking

πŸ’– UDCLI β€” the udcli manual page, bestie edition πŸ’–

okay so real quick, the vibe: this is UDCLI(1), a User Commands page, and it's literally about udcli, a CLI tool for quick disassembly of x86 and x86-64 instructions. Buckle up, it's giving "tiny tool, huge brain" energy 🧚✨


✨ NAME ✨

udcli β€” a CLI tool for quick disassembly of x86 and x86-64 instructions πŸ¦‹


🌸 SYNOPSIS 🌸

udcli [options] file

πŸ’… DESCRIPTION πŸ’…

So udcli is a command-line front-end to the Udis86 disassembler library, no cap. You feed it machine code and it prints out a disassembled representation of x86 or x86-64 instructions. That's the whole gig and honestly? Iconic. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • -16 β€” sets the disassembly mode to 16 bits ✨
  • -32 β€” sets the disassembly mode to 32 bits. This is the default, the main character if u will πŸ’…
  • -64 β€” sets the disassembly mode to 64 bits πŸ”₯
  • -intel β€” use Intel (NASM-like) syntax for the output. Also the default 🫢
  • -att β€” use AT&T (GAS-like) syntax instead, for the GAS girlies 🌸
  • -v vendor β€” set the CPU vendor. vendor can be intel or amd, pick ur fighter πŸ₯Š
  • -o pc β€” set the program counter to pc. Default is 0 ⭐
  • -s n β€” skip n bytes before starting disassembly, like skipping the intro of a song πŸ™ˆ
  • -c n β€” disassemble only n bytes, a lil snack-sized portion πŸ’œ
  • -x β€” read the input as whitespace-separated hexadecimal byte values, like this:

Example:

0f 01 ae 00
  • -noff β€” do NOT display instruction offsets πŸ™…
  • -nohex β€” do NOT display instruction byte encoding πŸ™…
  • -eflags β€” display info about EFLAGS usage πŸ‘‘
  • -access β€” display operand access information πŸ”
  • -implicit β€” display implicit registers that the instruction uses or modifies 🀫
  • -h β€” display help information 🫢
  • --version β€” display program version 🌈

🌟 EXAMPLE 🌟

Usage example, watch and learn bestie:

echo "65 67 89 87 76 65 54 56 78 89 09 00 90" | udcli -32 -x

Example output:

0000000080000800 656789877665     mov [gs:bx+0x6576], eax
0000000080000806 54               push esp
0000000080000807 56               push esi
0000000080000808 7889             js 0x80000793
000000008000080a 0900             or [eax], eax
000000008000080c 90               nop

like??? the bytes go in, the assembly comes out, that's just science πŸ§ͺ✨


πŸ’œ AUTHORS πŸ’œ

This version of Udis86 is based on a fork of the original project by Willem (canihavesomecoffee) β˜•

The original Udis86 project was written by Vivek Thampi πŸ™Œ


okay that's the whole page, mwah πŸ’‹ this udcli page came from the udis86 source, and if ur still here... go run it fr fr. no date on this one, she's timeless πŸ’…πŸŽ€

UDCLI(1) β€” periodt. πŸ’–

πŸ“¦ where this page comes from