Simple GTK Rust Fuzzer which aims to test all available classes and functions in GTK.

Related tags

GUI gtk-rs-fuzzer
Overview

Gtk Rust Fuzzer

Simple GTK Rust Fuzzer which aims to test all available classes and functions in GTK.
It finds bugs inside GTK functions, GTK exported and also GTK-rs

What was fuzzed/done

  • Every function without arguments was tested
  • Tested also parent functions without arguments
  • Fuzz also functions from traits
  • Test arguments(enums, objects, primitive objects)
  • Ability to copy paste code from output file, to reproduce crash
  • Execute functions in random orders
  • Fast compilation(Compilation 1000 functions with 20 lines in Rust is faster than compiling 20000 line function, did you know that?)

TODO

  • Ability to use IsA arguments
  • 100% crash free setting(needs to find and ignore invalid settings)

How to use it

  • Install GTK 4(can be probably easily changed to GTK4 if needed)
  • Override project, to use nightly compiler to be able to use sanitizers rustup override set nightly
  • Run cargo run inside main folder, this will create ziemniak.rs file with
  • Run project with sanitizers(shows crashes and errors a lot of faster and more precise than cargo run) - RUST_BACKTRACE=full RUSTFLAGS=-Zsanitizer=address RUSTDOCFLAGS=-Zsanitizer=address cargo run -Zbuild-std --target x86_64-unknown-linux-gnu
You might also like...
Graphical font editor (GTK + Rust)
Graphical font editor (GTK + Rust)

gerb *gerb ʰ-: reconstructed Proto-Indo-European root, meaning to carve gerb: a WIP font editor in gtk3 and rust Introduction gerb is an experimental,

GTK 4 front-end to ChatGPT completions written in Rust
GTK 4 front-end to ChatGPT completions written in Rust

ChatGPT GUI Building git clone [email protected]:teunissenstefan/chatgpt-gui.git cd chatgpt-gui cargo build --release Todo Connect insert_text to only al

Reactive components in rust, designed to make GTK more manageable

gflux gflux is a tiny experimental reactive component system for rust, designed to make GTK more manageable. gflux: is about 300 lines of code contain

A simple Iced application that I wrote as a learning activity, which allows you to browse the full list of regular Material Icons.
A simple Iced application that I wrote as a learning activity, which allows you to browse the full list of regular Material Icons.

Iced Material Icon Browser Iced Material Icon Browser is a simple Iced application that I wrote as a learning activity, which allows you to browse the

this is an initial working version, ALL code will be replaced and rewritten at SOME point

fracgen-gui this is an initial working version, ALL code will be replaced and rewritten at SOME point z | x less/more der bail alt: - | - adjust col

Termbox is a library that provides minimalistic API which allows the programmer to write text-based user interfaces.

Termbox is a library that provides minimalistic API which allows the programmer to write text-based user interfaces.

This is a demo Library of fltk-rs, which is used to learn various new gadgets of experimental fltk-rs.

fltk-rs Demo This is a demo Library of fltk-rs, which is used to learn various new gadgets of experimental fltk-rs. Demos demo9 Demo9 is an applicatio

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Deno Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. Features Secure by default. No file,

A simple, clean, and beautiful WYSIWYG Markdown editor and content-management system
A simple, clean, and beautiful WYSIWYG Markdown editor and content-management system

ScribeDown Current version: v0.0.1 Feature level: See the roadmap Beautiful, Clean, Writer-Oriented The goal of ScribeDown is to make Markdown the bes

Releases(1.0.0)
  • 1.0.0(Feb 14, 2022)

    60 MB binary contains interface to execute almost 12k functions and also contains address sanitizer, so this binary is not as big as I expected(before stripping it was 300MB)

    Results are available in things.txt file.

    Settings can be created in settings.txt file(example usage is in settings.txt2 file in repository)

    Virustotal - https://www.virustotal.com/gui/file/b678623e2a43286b57ad54ebcb3a15b6598c645c097607a1416ab90f3a38058b?nocache=1

    Built on top of GTK 4.4, so it should work with any 4.4+ version(of course if GTK will not break compatibility)

    Source code(tar.gz)
    Source code(zip)
    crash_thing(57.63 MB)
    windows_crash_simple.zip(83.64 MB)
Owner
Rafał Mikrut
Rafał Mikrut
rsautogui aims to be a cross-platform GUI automation rust crate.

rsautogui rsautogui aims to be a cross-platform GUI automation rust crate. It lets you control the mouse and keyboard to automate interactions with ot

null 5 Sep 18, 2022
Rust bindings and wrappers for GLib, GDK 3, GTK+ 3 and Cairo.

THIS REPOSITORY IS DEPRECATED SEE: https://github.com/rust-gnome rgtk Rust bindings and wrappers for GLib, GDK 3, GTK+ 3 and Cairo. Building rgtk expe

Jeremy Letang 124 Jul 10, 2022
A powerful color picker and formatter, built with GTK and Rust

Eyedropper A powerful color picker and formatter. More screenshots Features Pick a Color Enter a color in Hex-Format Parse RGBA/ARGB Hex-Colors View c

Jonathan 108 Dec 24, 2022
Highly customizable finder with high performance. Written in Rust and uses GTK

Findex Highly customizable finder with high performance. Written in Rust and uses GTK Installation Automatic Binary Clone from https://aur.archlinux.o

MD Gaziur Rahman Noor 442 Jan 1, 2023
A GUI for NordVPN on Linux that maintains feature parity with the official clients, written with Rust and GTK.

Viking for NordVPN This project aims to provide a fully usable and feature-complete graphical interface for NordVPN on Linux. While it attempts to clo

Jacob Birkett 2 Oct 23, 2022
A Rust library to parse Blueprint files and convert them into GTK UI files

?? gtk-ui-builder A Rust library to parse Blueprint files and convert them into GTK UI files Inspired by the Blueprint project Example 1 - blueprints

Observer KRypt0n_ 5 Oct 22, 2022
An example of searching iBeacon using gtk-rs and btleplug.

Beacon Searcher Screenshot Compile & Run Install GTK 3 dev packages: macOS: $ brew install gtk+3 $ brew install gnome-icon-theme Debian / Ubuntu: $ s

Ling, Wei-Cheng 0 Dec 21, 2021
Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

Relm Asynchronous, GTK+-based, GUI library, inspired by Elm, written in Rust. This library is in beta stage: it has not been thoroughly tested and its

null 2.2k Dec 31, 2022
Provides Rust bindings for GTK libraries

The gtk-rs organization aims to provide safe Rust binding over GObject-based libraries

null 431 Dec 30, 2022
Provides Rust bindings for GTK libraries

gtk3-rs The gtk-rs organization aims to provide safe Rust binding over GObject-based libraries. You can find more about it on https://gtk-rs.org. This

null 431 Dec 30, 2022