-
Notifications
You must be signed in to change notification settings - Fork 1
a program to help with programming rop exploits
License
endeav0r/Rainbows-And-Pwnies-Tools
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Brought to you by rainbowsandpwnies /*************** * REQUIREMENTS * ***************/ lua5.1 (5.2 untested) http://www.lua.org/ /******** * BUILD * ********/ For lua, you will need the Ubuntu package liblua5.1-0-dev The build system was reworked on 29 JAN 2012. To build rt, from the base directory run ./build/make.lua or lua build/make.lua This should produce rt, an executable, and rt.so, a shared object which can be included in your own lua projects via require("rt") FYI: rt is developed in Arch Linux /************** * DESCRIPTION * **************/ Rainbows-And-Pwnies-Tools started as rop_tools, a tool to aid in quickly identifying rop gadgets. While this functionality remains intact, rop_tools evolved, and has become Rainbows-And-Pwnies-Tools, or rt for short. rt consists of a few pieces. First and foremost, rt is a C library for easily and generically working with 32 and 64-bit binary formats. Currently is supports ELF and a subsect of the PE format. Second, rt breaks much of this functionality out into the lua scripting language. This allows you to write one lua script which work on 32 and 64-bit x86 in a variety of formats. For example, if you wanted to find all of the mov instructions, you could implement that in a lua script (as of this writing) as follows: dofile('stdlib/stdlib.lua') exec = exec_t.new(argv[1]) sections = exec:sections() for ss, s in pairs(sections) do if table.contains(s:types(), 'executable') then print(TERM_COLOR_MAGENTA .. TERM_BOLD .. s:name() .. TERM_NORMAL .. TERM_COLOR_DEFAULT) for ii, ins in pairs(s:disassemble()) do if ins['mnemonic'] == 'mov' then print(ins['address']:strx() .. ' ' .. ins['description']) end end end end You'll notice we make use of a few variables and functions created for our convenience. These can be found in the stdlib/ directory. Finally, rt now has a command line lua interpreter, allowing you to script your disassembly away to your heart's content.
About
a program to help with programming rop exploits
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published