#cryptography #cybersecurity #regex #forensics #identify

bin+lib lemmeknow

Identify any mysterious text or analyze strings from a file

8 releases (breaking)

0.7.0 Oct 19, 2022
0.6.0 Jul 30, 2022
0.5.0 Jul 12, 2022
0.4.1 Mar 31, 2022
0.1.0 Aug 29, 2021

#176 in Text processing

Download history 475/week @ 2022-11-27 386/week @ 2022-12-04 678/week @ 2022-12-11 417/week @ 2022-12-18 246/week @ 2022-12-25 66/week @ 2023-01-01 92/week @ 2023-01-08 213/week @ 2023-01-15 66/week @ 2023-01-22 51/week @ 2023-01-29 315/week @ 2023-02-05 128/week @ 2023-02-12 83/week @ 2023-02-19 138/week @ 2023-02-26 89/week @ 2023-03-05 64/week @ 2023-03-12

383 downloads per month
Used in 6 crates (4 directly)

MIT license

47KB
617 lines

lemmeknow

⚡ 🦀 🔍
Just ask "lemmeknow"!
The fastest way to identify anything

Built with ❤︎ by swanandx and contributors

lemmeknow can be used for identifying mysterious text or to analyze hard-coded strings from captured network packets, malwares, or just about anything.

Try it online here

Watch the video on YouTube

🧰 Usage

lemmeknow [OPTIONS] <TEXT/FILENAME>
demo
JSON Output

If you want output in JSON format, then pass -j / --json flag. e.g.

lemmeknow UC11L3JDgDQMyH8iolKkVZ4w --json
demo

Run lemmeknow --help for all options!


🔭 Installation


Download executable 📈

You can directly download executable and run it. No need for any installation.

Check releases here.


Using cargo 🦀

cargo install lemmeknow

Build it from source 🎯

Clone repository

git clone https://github.com/swanandx/lemmeknow && cd lemmeknow

then build and run

cargo run -- <TEXT/FILENAME> [OPTIONS]

OR

cargo build --release
cd target/release/
./lemmeknow <TEXT/FILENAME> [OPTIONS]


🚀 API

Want to use this as a crate in your project? or make a web api for it? No worries! Just add a entry in your Cargo.toml

[dependencies]
lemmeknow = { version = "0.7", default-features = false }

OR

[dependencies]
lemmeknow = { git = "https://github.com/swanandx/lemmeknow", default-features = false }

Refer to documentation for more info.

lemmeknow supports webassembly, that is, it can be compiled for wasm32-unknown-unknown target! e.g. lemmeknow-frontend


⚔️ Benchmarks

lemmeknow is around 33x faster than pywhat for a file of 8.7MB, and it is 3x faster for a single string!

A file of 8.7MB A single string
Summary: lemmeknow.exe floss.exe ran 33.13 ± 9.74 times faster than pywhat floss.exe Summary: lemmeknow.exe 3FZ..Zc5 ran 3.29 ± 0.77 times faster than pywhat 3FZ..Zc5
File benchmark String benchmark

Thanks to SkeletalDemise for the benchmarks and the whisker plots ✨


🚧 Contributing

You can contribute by adding new regex, improving current regex, improving code performance or fixing minor bugs! Just open a issue or submit a PR.


💖 Acknowledgement

This project is inspired by PyWhat! Thanks to developer of it for the awesome idea <3 .

Dependencies

~2–3.5MB
~90K SLoC