Aquinas: References

Helpful references

Unix Commands

cat:

Concatenate files and print the result (or print a single file)

cd:

Change the working directory

echo:

Display given text

(gdb) ba:

Print a backtrace

(gdb) break:

Set a break point

(gdb) continue:

Continue execution after breaking

(gdb) disassemble:

Disassemble a block of instructions

(gdb) print:

Print a value

(gdb) quit:

Quit

(gdb) run:

Run program you have loaded in GDB

(gdb) stepi:

Step forward one instruction

(gdb) x:

Examine the contents of memory

git add:

Designate one or more files as part of the next commit

git clone:

Make a local copy of a Git repository

git commit:

Perform a commit and record an associated message

git diff:

Display the changes made since the last commit

git log:

Print the history of commits to a project

git push:

Push committed changes back to the original repository

ls:

List directory contents

man:

Display a Unix manual page

nc (netcat):

Concatenate and redirect sockets

objdump:

Display information about object files, including disassembly

pwd:

Print working directory

C Elements

char:

A single-byte type capable of holding a character, e.g., ‘a’, ‘g’, or ‘Z’

float:

A floating-point type that aproximates a real number

for:

Iterates until a condition is no longer met

int:

An integer type from -n to n-1

+:

The addition operator

=:

The assignment operator

/:

The division operator

%:

The modulus (remainder) operator

*:

The multiplication operator

-:

The subtraction operator

Go Elements

char:

A single-byte type capable of holding a character, e.g., ‘a’, ‘g’, or ‘Z’

float:

A floating-point type that aproximates a real number

for:

Iterates until a condition is no longer met

int:

An integer type from -n to n-1

+:

The addition operator

=:

The assignment operator

/:

The division operator

%:

The modulus (remainder) operator

*:

The multiplication operator

-:

The subtraction operator

Python Elements

for:

Iterates over the elements of a sequence

C Functions

connect:

Connect a socket to an address

freeaddrinfo:

Free the address object provided from a getaddrinfo call

gai_strerror:

Print the error string associated with a failed getaddrinfo call

getaddrinfo:

Obtain one or more addresses for a host

printf:

Print to standard output with formatting

recv:

Receive a message from a connected socket

socket:

Return a socket abstraction able to send or receive communication messages

Go Functions

bufio.NewReader:

Create a buffered reader from a non-buffered reader such as a connection

bufio.Reader.ReadString:

Read up to and including the first occurrence of a delimiting string

fmt.Println:

Print to standard output

net.Dial:

Create a connection to the given address

Python Functions

print:

Print to standard output

socket.socket:

Return a socket abstraction able to send or receive communication messages

SocketType.connect:

Connect a SocketType object to an address

SocketType.recv:

Receive a message from a connected SocketType object

References

  • [1] Aleph One (1996) Smashing the stack for fun and profit. Phrack Magazine 7 (49), pp. 14.
  • [2] E. Buchanan, R. Roemer, H. Shacham, and S. Savage (2008) When good instructions go bad: generalizing return-oriented programming to RISC. In Proceedings of the 15th ACM Conference on Computer and Communications Security, CCS ’08, New York, NY, USA, pp. 27–38. External Links: ISBN 978-1-59593-810-7
  • [3] S. Chacon and B. Straub (2014) Pro git. 2nd edition, Apress, Berkely, CA, USA. External Links: ISBN 9781484200773
  • [4] I. Corporation (2016-09) Intel 64 and ia-32 architectures software developer’s manual: volume 2. Intel Corporation.
  • [5] I. Corporation (2016-09) Intel 64 and ia-32 architectures software developer’s manual: volume 3. Intel Corporation.
  • [6] C. Cowan, C. Pu, D. Maier, H. Hintony, J. Walpole, P. Bakke, S. Beattie, A. Grier, P. Wagle, and Q. Zhang (1998) StackGuard: automatic adaptive detection and prevention of buffer-overflow attacks. In Proceedings of the 7th USENIX Security Symposium, Berkeley, CA, USA.
  • [7] A. A. A. Donovan and B. W. Kernighan (2016) The Go programming language. Addison-Wesley. External Links: ISBN 0134190440
  • [8] P. S. Foundation (2019) The Python tutorial. Python Software Foundation.
  • [9] B. Hall (2011) Beej’s guide to network programming using internet sockets. Jorgensen Publishing. External Links: Link
  • [10] B. W. Kernighan and R. Pike (1984) The UNIX programming environment. Prentice Hall, Inc.. External Links: ISBN 013937681X
  • [11] B. W. Kernighan and D. M. Ritchie (1988) The C programming language. 2nd edition, Prentice Hall Professional Technical Reference. External Links: ISBN 0131103709
  • [12] D. M. Ritchie and K. Thompson (1974) The UNIX time-sharing system. Communications of the ACM 17 (7), pp. 365–375. External Links: ISSN 0001-0782
  • [13] scut / team teso (2001-09) Exploiting format string vulnerabilities. Note: Version 1.2
  • [14] H. Shacham (2007) The geometry of innocent flesh on the bone: return-into-libc without function calls (on the x86). In Proceedings of the 14th ACM Conference on Computer and Communications Security, CCS ’07, New York, NY, USA, pp. 552–561. External Links: ISBN 978-1-59593-703-2