All Projects → cseagle → Freedom

cseagle / Freedom

Licence: gpl-2.0
capstone based disassembler for extracting to binnavi

Labels

Projects that are alternatives of or similar to Freedom

Chicago Atlas
View citywide information about health trends and take action near you to improve your own health.
Stars: ✭ 152 (-28.97%)
Mutual labels:  plpgsql
Dox
A Document Database API extension for Postgres
Stars: ✭ 168 (-21.5%)
Mutual labels:  plpgsql
Pgjwt
PostgreSQL implementation of JWT (JSON Web Tokens)
Stars: ✭ 198 (-7.48%)
Mutual labels:  plpgsql
Pghero.sql
Postgres insights made easy
Stars: ✭ 155 (-27.57%)
Mutual labels:  plpgsql
Pg rational
Precise fractional arithmetic for PostgreSQL
Stars: ✭ 168 (-21.5%)
Mutual labels:  plpgsql
Sql Battleships
Play Battleships on PostgreSQL
Stars: ✭ 174 (-18.69%)
Mutual labels:  plpgsql
Opm Core
Central module of the OPM suite
Stars: ✭ 148 (-30.84%)
Mutual labels:  plpgsql
Store
PostgreSQL shopping cart
Stars: ✭ 213 (-0.47%)
Mutual labels:  plpgsql
Learn Sql The Hard Way
http://sql.learncodethehardway.org/book/
Stars: ✭ 168 (-21.5%)
Mutual labels:  plpgsql
Amazon Redshift Udfs
A collection of example UDFs for Amazon Redshift.
Stars: ✭ 194 (-9.35%)
Mutual labels:  plpgsql
Wikipedia Mirror
🌐 Guide and tools to run a full offline mirror of Wikipedia.org with three different approaches: Nginx caching proxy, Kimix + ZIM dump, and MediaWiki/XOWA + XML dump
Stars: ✭ 160 (-25.23%)
Mutual labels:  plpgsql
Docker Compose
一些基础服务的docker-compose配置文件,方便在一台新电脑上快速开始工作
Stars: ✭ 163 (-23.83%)
Mutual labels:  plpgsql
Postgis coordinate transform
一个在postgis中结合中国国情,批量对数据进行加偏到百度坐标,高德谷歌的火星坐标,或者逆向纠偏
Stars: ✭ 182 (-14.95%)
Mutual labels:  plpgsql
Cisl
Columnstore Indexes Scripts Library
Stars: ✭ 155 (-27.57%)
Mutual labels:  plpgsql
Schemaverse
The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database. Compete against other players using raw SQL commands to command your fleet. Or, if your PL/pgSQL-foo is strong, wield it to write AI and have your fleet command itself!
Stars: ✭ 207 (-3.27%)
Mutual labels:  plpgsql
Adventureworks For Postgres
Set up the AdventureWorks sample database for use with Postgres
Stars: ✭ 148 (-30.84%)
Mutual labels:  plpgsql
Colpivot
Dynamic row to column pivotation/transpose in Postgres made simple.
Stars: ✭ 173 (-19.16%)
Mutual labels:  plpgsql
Dbt Utils
Utility functions for dbt projects.
Stars: ✭ 212 (-0.93%)
Mutual labels:  plpgsql
3dcitydb
3D City Database - The Open Source CityGML Database
Stars: ✭ 210 (-1.87%)
Mutual labels:  plpgsql
Pagila
PostgreSQL Sample Database
Stars: ✭ 190 (-11.21%)
Mutual labels:  plpgsql

fREedom is a primitive attempt to provide an IDA Pro independent means of extracting disassembly information from executables for use with binnavi (https://github.com/google/binnavi).

WARNING: This software is in its infancy

Background: binnavi is a graphical "binary navigator" useful for reverse engineering software. binnavi does not contain its own disassembler, instead relying upon the capabilities of the commercial disassembler, IDA Pro. binnavi ships with an IDA plugin that extracts required information from an existing IDA database into a set of binnavi compatible, Postgres tables. The amount of work that IDA does on behalf of binnavi is not trivial. There is a reason there are no open source competitors to IDA. Eliminating binnavi's dependency on IDA is not quite as trivial as slapping some glue code on top of a disassembly framework like Capstone (http://www.capstone-engine.org/) and calling it a day. This project takes some small steps in that direction. it is thrown together, not well thought out, and it has a long way to go.

Basic use:

  • Use the provided postgres script to setup the initial postgres database.
  • Configure your postgres instance appropriately (pg_hba.conf ...)
  • python fREedom.py --database=my_binnavi --user=someone --pass=itsasecret --dbhost=127.0.0.1 --binary=foo.exe
  • Launch binnavi to browse foo.exe

What's here:

  • binnavi's postgres script to build the required Postgres database
  • Python scripts to extract from PE32, PE32+, and ELF binaries containing x86 or x86_64 code.

What's not here:

Limitations:

  • fREedom's disassembly engine is not as thorough as IDA's, lacking many of the heuristics that IDA uses to identify code.
  • There is currently no support for known data types and library function signatures. binnavi's type system is complex and not well documented. Substantial effort will be required to process development header files from many platforms in order to incorporate this information into fREedom generated disassemblies.
  • Parsers (crude at best) are included for only PE32, PE32+, and ELF.
  • Disassembly generators are included for only x86 and x86_64.
  • My python skills are not good.
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].