Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
OCR powered screen-capture tool to capture information instead of images. For Linux, macOS and Windows.
Links: Source Code | Documentation | FAQs | Releases | Changelog
Choose one of the options for a prebuilt release. If you encounter an issue please take a look at the FAQs or report it.
normcap
@ AUR (Arch/Manjaro)Note: You have to allow the unsigned application on first start: "System Preferences" → "Security & Privacy" → "General" → "Open anyway". You also have to allow NormCap to take screenshots. (#135)
As an alternative to a prebuilt package from above you can install the NormCap Python package for Python >=3.9, but it is a bit more complicated:
# Install dependencies (Ubuntu/Debian)
sudo apt install build-essential tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev wl-clipboard
## Install dependencies (Arch)
sudo pacman -S tesseract tesseract-data-eng wl-clipboard
## Install dependencies (Fedora)
sudo dnf install tesseract wl-clipboard
## Install dependencies (openSUSE)
sudo zypper install python3-devel tesseract-ocr tesseract-ocr-devel wl-clipboard
# Install normcap
pip install normcap
# Run
./normcap
# Install dependencies
brew install tesseract tesseract-lang
# Install normcap
pip install normcap
# Run
./normcap
1. Install Tesseract 5
by using the
installer provided by UB Mannheim.
2. Identify the path to Tesseract base folder. It should contain a /tessdata
subfolder
and the tesseract.exe
binary. Depending on if you installed Tesseract system-wide or
in userspace, the base folder should be:
C:\Program Files\Tesseract-OCR
or
C:\Users\<USERNAME>\AppData\Local\Programs\Tesseract-OCR
3. Adjust environment variables:
Create an environment variable TESSDATA_PREFIX
and set it to your Tesseract base
folder, e.g.: "System Properties" → Tab "Advanced" → "Environment Variables..." →
"New..." → Variable: TESSDATA_PREFIX
, Value: "C:\Program Files\Tesseract-OCR"
Append Tesseract's base folder to the environment variable PATH
, e.g.: "System
Properties" → Tab "Advanced" → "Environment Variables..." → Section "User variables"
→ Select PATH
→ "Edit..." → Add a new entry "C:\Program Files\Tesseract-OCR"
To test your setup, open a new cmd
-terminal and run:
tesseract --list-langs
4. Install and run NormCap:
# Install normcap
pip install normcap
# Run
normcap
See XKCD:
Prerequisites for setting up a development environment are: Python >=3.9, uv and Tesseract >=5.0 (incl. language data).
# Clone repository
git clone https://github.com/dynobo/normcap.git
# Change into project directory
cd normcap
# Create virtual env and install dependencies
uv venv
uv sync
# Register pre-commit hook
uv run pre-commit install
# Run NormCap in virtual env
uv run python -m normcap
This project uses the following non-standard libraries:
And it depends on external software:
Packaging is done with:
Thanks to the maintainers of those nice tools!
If NormCap doesn't fit your needs, try those alternatives (no particular order):
Made with contrib.rocks
FAQs
OCR-powered screen-capture tool to capture information instead of images.
We found that normcap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.