Inspiration
We wanted to work on something small that we could understand, test, and use. Since we’re studying cybersecurity, checking whether important files have changed seemed like a good place to start.
Our idea was simple: save a reference of a folder, then compare it later to see what changed. We also wanted the interface to be straightforward, even for someone trying this kind of tool for the first time.
What it does
File Change Detector lets users choose a folder and create a baseline of its files. When they check the folder again, it shows which files were added, changed, deleted, or left unchanged.
Users can load a saved baseline after reopening the app and export the results as a CSV report. Everything runs locally on their computer.
How it was built
The application uses Python with Tkinter for the interface. It calculates a SHA-256 fingerprint for each file and saves the filenames and fingerprints in a JSON baseline.
When users run another check, the application compares the current files with that baseline. We kept the interface plain, with a few buttons and a results table, and tested the workflow on Windows.
Challenges
Keeping the tool simple also meant thinking carefully about what its results should mean. If a file cannot be read, the application should report an error instead of treating it as deleted or unchanged.
We also needed to keep the baseline and exported reports outside the checked folder so they wouldn’t become part of the changes being detected.
Accomplishments
We now have a working tool that makes file integrity easier to understand through practice. Seeing a change appear in the results makes the concept much clearer than reading a definition alone.
The app can save and reload baselines, compare files, and export reports through a simple interface.
What we learned
We learned how file hashes can help detect changes and why the original baseline needs to be kept as a trusted reference.
We also understood the tool’s limits better. A changed file is not automatically suspicious, and a baseline is not a backup—it tells us what changed but cannot bring a deleted file back.
What is next
We want to understand the Python code more deeply and keep improving the tool in small steps. One useful addition would be a filter that hides unchanged files.
We also plan to try more file types and folder structures while keeping the application easy to use.
Built With
- inegrity
- python
- scripting
- sha256
Log in or sign up for Devpost to join the conversation.