Giter Site home page Giter Site logo

dadido3 / d3hex Goto Github PK

View Code? Open in Web Editor NEW
50.0 8.0 7.0 12.36 MB

The first dataflow based Hex-Editor!

Home Page: http://D3nexus.de/projects/d3hex

License: GNU General Public License v3.0

PureBasic 99.56% Julia 0.44%
hex-editor purebasic memory-searching memory-hacking data-visualization checksum flow-based-programming viewer

d3hex's People

Contributors

dadido3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

d3hex's Issues

Create help

HTML based help for D3hex and all its nodes

Smarter write algorithm for the history node

All history operations are written one after another, even if they are overwritten by another operation later on. Simplifying the history list, or using a different algorithm should fix some speed problems. Right now shift operations shift all bytes. This can be a big slowdown factor if there are several of those operations on very big files.

Add signal generator node

Outputs signals (sine, sawwave, rectangular, ...) as array of different types (signed/unsigned int, float)

Improve data and number input fields

Create new gadget with option to choose between several input formats:
Formats:

  • Hexadecimal: 1A B2 55 FF or 1ABCDEF
  • Decimal: 26 178 85 255 or 28036591
  • Octal: 32 262 205 377 or 152746757
  • Binary: 0011010 10110010 10000101 11111111 or 1101010111100110111101111

Perhaps use prefixes to define the number system. Like $ or 0x for hexadecimal and % or 0b for binary numbers.

For numbers, accept SI prefixes (Also the binary IEC version: ki, Mi, Gi, Ti, ...) after the number.

Add Julia scripting node

Node, which can be completely defined by a script written in Julialang.
But this needs the user to have Julia installed on their PCs.

Finish data descriptors

Ideas:

  • 1D, 2D, 3D Array or single element
    • Element type ((Un)signed Int, Float, String)
    • Byteorder
  • Filetype
    • File extension
    • Mime, Some sort of identifier

Add audio playback node

Playback any kind of data, array.
Example: Audio data retrieved from the audio converter node.

Add text editor node

Will work with tremendously huge texts, believe me. It will be great, it will be the best node you have ever seen, and we will make the mexicans pay for it. 100%

Create module for software settings

Hierarchical settings with standard values and stuff. With a GUI to modify settings nicely. Should also contain settings for each node type. Additionally this system can be used to provide a simple GUI for Julia scripts.

Make history node more efficient

Precalculate some sort of tree or list. Anything should be better than iterating through all changes, even though it works fast enough below 20000 history operations.

Add network bridge node

A node which you can connect to another network bridge node over the network. This allows you to share an output over several instances of D3hex, even on different computers over the internet. (Given that the needed ports are forwarded and firewalls are not blocking anything)

Add image format converter

Converts an image to an array of colors (To be displayed via View2D).
May work for encoding and decoding.

Add split node

Node to split data into several outputs.
Should also give you the possibility to get subarrays out of arrays

Add statistics, math nodes

Statistics:

  • Entropy (Chunk based and over all)
  • Mean, mode (Chunk based and over all)
  • Max, Min (Chunk based and over all)
  • Histogram (1D, 2D, 3D, shifted)

Signal processing:

  • Crosscorrelation, Autocorrelation
  • Discrete fourier transformation
  • Convolution

Math:

  • Basic math operations

Support more pixel formats in View2D

Examples:

  • 1 bpp Black and white
  • 2 bpp Gray
  • 4 bpp Gray
  • 16 bpp ARGB4444
  • 16 bpp RGBA4444
  • 16 bpp RGBA5551
  • 32 bpp Gray
  • Allow any other color palette via additional input

Rewrite the node editor

  • Use vector drawing library
    • Draw links with splines or bezier curves
    • Simplify l,ook
    • Visualize data transfer as moving dots or something
  • Fix the position cleanup algorithm
  • Make it possible for nodes to draw onto the node objects
  • Show nodes while dragging them into the workspace, even if it is just the outline
  • Use something better than the tree list. It uses too much space. Create a new popup window with search bar and symbols for nodes.

Add cheat engine like node

Node to search for numbers, strings or any other data. It will display occurrences and their offsets in a list. These entries can then be filtered with other/newer values, until only the desired entries are left.

Redo drawing of the View2D node

The single images/chunks should always be of the same size in the screenspace, and therefore contain more data the more you zoom out. Furthermore, the node should get data in fewer big request, and not a request per line.

Add verifier node

Node containing methods to verify other nodes. For example:

  • Behaviour of a node if a data request exceeds its given size or goes below 0
  • Write and verify written data
  • Verify shift operations
  • Performance measurement of read, write and shift operations

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.