All Projects → finixbit → ftrace

finixbit / ftrace

Licence: MIT license
Simple Function calls tracer

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to ftrace

Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+4487.69%)
Mutual labels:  debugger, elf
dwex
DWARF Explorer - a GUI utility for navigating the DWARF debug information
Stars: ✭ 58 (-10.77%)
Mutual labels:  elf, elf-parser
goelftools
Library for parsing ELF files written in pure Go.
Stars: ✭ 26 (-60%)
Mutual labels:  elf, elf-parser
The Backdoor Factory
Patch PE, ELF, Mach-O binaries with shellcode new version in development, available only to sponsors
Stars: ✭ 2,904 (+4367.69%)
Mutual labels:  capstone, elf
Unidbg
Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS emulation
Stars: ✭ 1,168 (+1696.92%)
Mutual labels:  debugger, capstone
golang-debugger-book
From a debugger's view, Let's explore the computer world! How does compiler, linker and debugger coordinate with each other around the program written in specific programming language? How does a debugger work? If we develop a debugger for go programming language, we must master go type system, runtime... and some Operating System internals. OK,…
Stars: ✭ 49 (-24.62%)
Mutual labels:  debugger, elf
Android Disassembler
Disassemble ANY files including .so (NDK, JNI), Windows PE(EXE, DLL, SYS, etc), linux binaries, libraries, and any other files such as pictures, audios, etc(for fun)files on Android. Capstone-based disassembler application on android. 안드로이드 NDK 공유 라이브러리, Windows 바이너리, etc,... 리버싱 앱
Stars: ✭ 250 (+284.62%)
Mutual labels:  capstone, elf
Edb Debugger
edb is a cross-platform AArch32/x86/x86-64 debugger.
Stars: ✭ 2,019 (+3006.15%)
Mutual labels:  debugger, capstone
b1m0-dbg
linux debugger
Stars: ✭ 11 (-83.08%)
Mutual labels:  debugger, elf-parser
gdb
Go GDB/MI interface
Stars: ✭ 70 (+7.69%)
Mutual labels:  debugger
openwhisk-runtime-go
Apache OpenWhisk Runtime Go supports Apache OpenWhisk functions written in Go
Stars: ✭ 31 (-52.31%)
Mutual labels:  functions
vscode-android-webview-debug
Debug your JavaScript code running in WebViews on any Android device from VS Code.
Stars: ✭ 18 (-72.31%)
Mutual labels:  debugger
AndroidGotHook
GOT Hook implemented in Android
Stars: ✭ 63 (-3.08%)
Mutual labels:  elf
Love-Debug-Graph
An fps/memory/misc graph utillity for Löve2D
Stars: ✭ 29 (-55.38%)
Mutual labels:  debugger
sequence-as-promise
Executes array of functions as sequence and returns promise
Stars: ✭ 23 (-64.62%)
Mutual labels:  functions
nsec-badge
Software from the NorthSec badge
Stars: ✭ 34 (-47.69%)
Mutual labels:  elf
SynapseOS
SynapseOS - модульная операционная система на языке C.
Stars: ✭ 93 (+43.08%)
Mutual labels:  elf
pointer-sequence-reversal
No description or website provided.
Stars: ✭ 22 (-66.15%)
Mutual labels:  capstone
gopherlua-debugger
a gopherlua debugger based on emmylua and gopher-lua
Stars: ✭ 15 (-76.92%)
Mutual labels:  debugger
talvos
Talvos is a dynamic-analysis framework and debugger for Vulkan/SPIR-V programs.
Stars: ✭ 67 (+3.08%)
Mutual labels:  debugger

ftrace

Simple Function calls tracer

Target source must be compiled with symbols information (see example 1).

And if not not compile with symbols breakpoints are set on call locations (see example 2)

Required libraries

capstone, finixbit/elf-parser

Installation

$ sudo apt-get install libcapstone-dev
$ git clone --recursive https://github.com/finixbit/ftrace.git
$ cd ftrace
$ make

Usage

./ftrace <cmd>

Example 1

./ftrace /src/openssl dsaparam 1024

breakpoint[0x41cc6d]   call: _start 
breakpoint[0x467380]   call: __libc_csu_init 
breakpoint[0x416080]   call: _init 
breakpoint[0x41cd40]   call: frame_dummy 
breakpoint[0x41cce0]   call: register_tm_clones 
breakpoint[0x41c850]   call: main 
breakpoint[0x41f3e0]   call: app_malloc 
breakpoint[0x421440]   call: dup_bio_in 
breakpoint[0x421460]   call: dup_bio_out 
breakpoint[0x421480]   call: dup_bio_err 
breakpoint[0x41e340]   call: setup_ui_method 
breakpoint[0x434c90]   call: SortFnByName 
breakpoint[0x434c90]   call: SortFnByName 
breakpoint[0x434c90]   call: SortFnByName 
...<redacted>
breakpoint[0x434a90]   call: function_hash 
breakpoint[0x434a90]   call: function_hash 
breakpoint[0x434a90]   call: function_hash 
breakpoint[0x435700]   call: opt_progname 
breakpoint[0x434a90]   call: function_hash 
breakpoint[0x434aa0]   call: do_cmd 
breakpoint[0x434a90]   call: function_hash 
breakpoint[0x434a70]   call: function_cmp 
breakpoint[0x42cc10]   call: dsaparam_main 
breakpoint[0x435760]   call: opt_init 
breakpoint[0x436bf0]   call: opt_next 
breakpoint[0x4370d0]   call: opt_num_rest 
breakpoint[0x4370b0]   call: opt_rest 
breakpoint[0x436260]   call: opt_int 
breakpoint[0x4216f0]   call: bio_open_default 
breakpoint[0x4214b0]   call: bio_open_owner 
...<redacted>
breakpoint[0x42cb90]   call: dsa_cb 
breakpoint[0x42cb90]   call: dsa_cb 
breakpoint[0x42cb90]   call: dsa_cb 
breakpoint[0x41fea0]   call: release_engine 
breakpoint[0x41ce00]   call: app_RAND_write 
breakpoint[0x41e3c0]   call: destroy_ui_method 
breakpoint[0x41cd20]   call: __do_global_dtors_aux 
breakpoint[0x41cca0]   call: deregister_tm_clones 
breakpoint[0x4673f4]   call: _fini 

Example 2

./ftrace /bin/ps

breakpoint[0x40b83e] call: fn_4201144
breakpoint[0x4035bb] call: fn_4206656
breakpoint[0x408f9d] call: fn_4227072
breakpoint[0x4090b0] call: fn_4223520
breakpoint[0x4090cf] call: fn_4237168
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].