Polytechnic University
Առարկա: ՏՏ355 - Ծրագրային Ապահովման Պաշտպանություն
Ուսումնական տարի: 2025-2026
Այս repository-ն պարունակում է լաբորատոր աշխատանքներ ծրագրային ապահովման պաշտպանության թեմայով։ Յուրաքանչյուր լաբորատոր աշխատանք ուսումնասիրում է տարբեր անվտանգության և պաշտպանության մեթոդներ։
📁 Softlab1 - Համակարգի Տեղեկատվություն և Fingerprint
Համակարգի hardware տեղեկատվության հավաքում և унիկալ fingerprint-ի ստեղծում SHA-256 hash-ի միջոցով։
Տեխնոլոգիաներ: C++, Linux, SHA-256
Հիմնական հնարավորություններ:
- CPU, RAM, Disk տեղեկատվություն
- MAC հասցեների հավաքում
- System fingerprint ստեղծում
📁 Softlab2 - RLE Սեղմում
Run-Length Encoding (RLE) ալգորիթմի իրականացում տեքստերի սեղմման և վերականգնման համար։
Տեխնոլոգիաներ: C++, RLE Algorithm
Հիմնական հնարավորություններ:
- Տեքստի սեղմում RLE-ով
- Սեղմված տեքստի վերականգնում
- Ինտերակտիվ shell
📁 Softlab3 - Լիցենզավորման Համակարգ
Ծրագրային լիցենզավորման համակարգ hardware-based պաշտպանությամբ։ Ներառում է Lab3 և Lab4 առաջադրանքները։
Տեխնոլոգիաներ: C++17, CMake, Hardware ID
Հիմնական հնարավորություններ:
- Hardware ID ստեղծում
- Perpetual և trial լիցենզիաներ
- Լիցենզիայի վավերացում
- Ժամկետի կառավարում
📁 Softlab5 - ProtectUSB (AES-256)
USB կրիչների բովանդակության պաշտպանություն AES-256 գաղտնագրմամբ, Diffie-Hellman բանալիների փոխանակմամբ և DVD հայտնաբերմամբ։
Տեխնոլոգիաներ: C++17, OpenSSL, AES-256, Diffie-Hellman, CMake
Հիմնական հնարավորություններ:
- AES-256-CBC գաղտնագրում
- Diffie-Hellman key exchange
- USB և DVD սարքերի հայտնաբերում
- Ֆայլերի գաղտնագրում/վերծանում
- CMake build system
- Լեզուներ: C++, C++17
- Build Systems: CMake, Make, g++
- Գաղտնագրում: AES-256, SHA-256, XOR, Diffie-Hellman
- Պլատֆորմներ: Linux, Windows
- Գրադարաններ: OpenSSL, Standard C++ Library
cd Softlab1
g++ -o system_info system_info.cpp
./system_infocd Softlab2
g++ -o rle rle.cpp -std=c++11
./rlecd Softlab3/LicensingSystem
mkdir build && cd build
cmake ..
make
./LicensingSystemcd Softlab5
mkdir build && cd build
cmake ..
make
./protectusb scanԱյս լաբորատոր աշխատանքները ծածկում են հետևյալ թեմաները:
- Համակարգի Նույնականացում - Hardware fingerprinting
- Տվյալների Սեղմում - RLE ալգորիթմ
- Լիցենզավորում - Software licensing և DRM
- Գաղտնագրում - Սիմետրիկ և ասիմետրիկ գաղտնագրում
- Բանալիների Փոխանակում - Diffie-Hellman protocol
- Ֆայլային Պաշտպանություն - Encryption at rest
labs/
├── README.md # Այս ֆայլը
├── Softlab1/ # Lab 1: System Info
│ ├── README.md
│ ├── system_info.cpp
│ └── system_info.sh
├── Softlab2/ # Lab 2: RLE
│ ├── README.md
│ └── rle.cpp
├── Softlab3/ # Lab 3+4: Licensing
│ ├── README.md
│ └── LicensingSystem/
│ ├── CMakeLists.txt
│ ├── include/
│ └── src/
└── Softlab5/ # Lab 5: ProtectUSB
├── README.md
├── CMakeLists.txt
└── src/
├── main.cpp
├── aes_cipher.cpp
├── dh_key_exchange.cpp
└── ...
- C++ compiler (GCC 7+, Clang 5+, MSVC 2017+)
- CMake 3.10+ (Softlab3, Softlab5)
- Git
- Linux OS
- lscpu, free, lsblk, ip, sha256sum
- OpenSSL library
- C++17 support
# Հիմնական գործիքներ
sudo apt update
sudo apt install build-essential cmake git
# OpenSSL (Softlab5 համար)
sudo apt install libssl-dev# MinGW կամ Visual Studio
# OpenSSL for WindowsԵթե ցանկանում եք ներդրում անել:
- Fork անել repository-ն
- Ստեղծել նոր branch (
git checkout -b feature/improvement) - Commit անել փոփոխությունները (
git commit -am 'Add feature') - Push անել branch-ը (
git push origin feature/improvement) - Ստեղծել Pull Request
Այս նախագիծը ստեղծված է ուսումնական նպատակներով։
Zorayr Saroyan
Polytechnic University
2025-2026 ուսումնական տարի
⭐ Եթե օգտակար է, խնդրում եմ star տալ այս repository-ին!