Skip to content

icedracon/labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Լաբորատոր Աշխատանքներ - Ծրագրային Ապահովման Պաշտպանություն

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

Արագ Սկիզբ

Softlab1 - System Info

cd Softlab1
g++ -o system_info system_info.cpp
./system_info

Softlab2 - RLE

cd Softlab2
g++ -o rle rle.cpp -std=c++11
./rle

Softlab3 - Licensing

cd Softlab3/LicensingSystem
mkdir build && cd build
cmake ..
make
./LicensingSystem

Softlab5 - ProtectUSB

cd Softlab5
mkdir build && cd build
cmake ..
make
./protectusb scan

Ուսումնական Նպատակներ

Այս լաբորատոր աշխատանքները ծածկում են հետևյալ թեմաները:

  1. Համակարգի Նույնականացում - Hardware fingerprinting
  2. Տվյալների Սեղմում - RLE ալգորիթմ
  3. Լիցենզավորում - Software licensing և DRM
  4. Գաղտնագրում - Սիմետրիկ և ասիմետրիկ գաղտնագրում
  5. Բանալիների Փոխանակում - Diffie-Hellman protocol
  6. Ֆայլային Պաշտպանություն - 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

Softlab1

  • Linux OS
  • lscpu, free, lsblk, ip, sha256sum

Softlab5

  • OpenSSL library
  • C++17 support

Տեղադրում

Linux (Ubuntu/Debian)

# Հիմնական գործիքներ
sudo apt update
sudo apt install build-essential cmake git

# OpenSSL (Softlab5 համար)
sudo apt install libssl-dev

Windows

# MinGW կամ Visual Studio
# OpenSSL for Windows

Ներդրում

Եթե ցանկանում եք ներդրում անել:

  1. Fork անել repository-ն
  2. Ստեղծել նոր branch (git checkout -b feature/improvement)
  3. Commit անել փոփոխությունները (git commit -am 'Add feature')
  4. Push անել branch-ը (git push origin feature/improvement)
  5. Ստեղծել Pull Request

Լիցենզիա

Այս նախագիծը ստեղծված է ուսումնական նպատակներով։

Հեղինակ

Zorayr Saroyan
Polytechnic University
2025-2026 ուսումնական տարի

Օգտակար Հղումներ


⭐ Եթե օգտակար է, խնդրում եմ star տալ այս repository-ին!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages