weggli
weggli copied to clipboard
weggli is a fast and robust semantic search tool for C and C++ codebases. It is designed to help security researchers identify interesting functionality in large codebases.
Is it possible that when we match ``` void foo(const int & $p) ``` it also matches ``` void foo(int const & $p) ``` The AST sees these as different...
Query is ``` ./target/release/weggli -f -A1 -B1 -X 'class Foo { Foo(const Foo &$x); }' ``` This matches ``` class Foo { void save(int& archive); #if false typedef __declspec(deprecated(".")) int...
Conflicts with #37. Based on #38. Decompiles all the binaries initially, then provides a REPL to query them. 
Implement a small REPL shell using rustyline. It parses all the sources into a tree once, displaying a status bar as it goes along:  Then you can query from...
Is it possible to only report when the last else {} contains a single statement only (either throw or return) ? So, I want to find these: if (condition) {...
Rebased @mmaekr's script from #1 on current `main`, used the decompile to C API, and added some utility and interaction, demangling. Works rudimentally as both a plugin and a snippet...
file content as following ``` namespace content { class CONTENT_EXPORT StoragePartitionImpl : public StoragePartition, public blink::mojom::DomStorage, public network::mojom::NetworkContextClient, public network::mojom::URLLoaderNetworkServiceObserver { public: private: }; } // namespace content ``` following...
It would be nice to be able to write something like `printf(_, ... $a ...)` with `...` matching zero or more tokens.
# Current ``` main.c:123 void main(int argc, char **argv) { char buf[256] ... strcpy(buf, argv[0]); ... } ``` # Wanted ``` main.c:123 123: void main(int argc, char **argv) { 124:...
It would be nice to know if a particular token is a type, a local variable, a global variable, a function parameter, …