Кафедра "Комп'ютерна інженерія та програмування"
Постійне посилання колекціїhttps://repository.kpi.kharkov.ua/handle/KhPI-Press/1095
Офіційний сайт кафедри https://web.kpi.kharkov.ua/cep
Від 26 листопада 2021 року кафедра має назву – "Комп’ютерна інженерія та програмування"; попередні назви – “Обчислювальна техніка та програмування”, “Електронні обчислювальні машини”, первісна назва – кафедра “Математичні та лічильно-вирішальні прилади та пристрої”.
Кафедра “Математичні та лічильно-вирішальні прилади та пристрої” заснована 1 вересня 1961 року. Організатором та її першим завідувачем був професор Віктор Георгійович Васильєв.
Кафедра входить до складу Навчально-наукового інституту комп'ютерних наук та інформаційних технологій Національного технічного університету "Харківський політехнічний інститут". Перший випуск – 24 інженери, підготовлених кафедрою, відбувся в 1964 році. З тих пір кафедрою підготовлено понад 4 тисячі фахівців, зокрема близько 500 для 50 країн світу.
У складі науково-педагогічного колективу кафедри працюють: 11 докторів технічних наук, 21 кандидат технічних наук, 1 – економічних, 1 – фізико-математичних, 1 – педагогічних, 1 доктор філософії; 9 співробітників мають звання професора, 14 – доцента, 2 – старшого наукового співробітника.
Переглянути
Результати пошуку
Документ Методичні вказівки до самостійної роботи студентів з навчальної дисципліни "Системне програмування"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичДисципліна спрямована на розгляд широкого кола питань, починаючи з основ програмування на асемблері з використанням базової системи команд та закінчуючи використанням сучасних технологій обробки даних, таких, як ММХ, SSE та AVX512. Крім того, розглянуто питання керування апаратними пристроями з використанням віконного програмування. Теоретичний матеріал підкріплюється прикладами програмного коду – від простих програм до програм середньої складності, виконаних в макроасемблері.Документ Методичні вказівки до самостійної роботи студентів з навчальної дисципліни "Реверсне програмування"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичДисципліна спрямована на розгляд широкого кола питань, починаючи з антиналагоджувальних прийомів, дослідження формату РЕ-файлів, втручання в різні секції коду та даних, в тому числі з використанням нової точки входу в програму, збільшення розміру секцій, дослідження динамічних бібліотек та закінчуючи реверсом програм з запитом паролю, шифруванням програми. Крім того, розглядаються питання перекриття коду, самомодифікації коду при виконанні та реверсингом програм з використанням перевірки дати та часу, з розміщенням даних в різних типах секцій, з перетворенням логічних операцій та різних варіантів виклику функцій. Використовується віконний інтерфейс в операційній системі х64. Теоретичний матеріал підкріплюється прикладами програмного коду – від простих програм до програм професійного рівня, таких як пакувальники та протектори, виконаних в макроасемблері.Документ Методичні вказівки до самостійної роботи студентів з навчальної дисципліни "Низькорівневе програмування апаратних засобів"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичДисципліна спрямована на розгляд широкого кола питань, починаючи з визначення конфігурації системи, роботи з пристроями в Windows (з мишею, клавіатурою, відеоадаптором, системним динаміком, таймером), обробка файлової системи та закінчуючи роботою з інтернетом. Метою дисципліни є отримання студентами теоретичних відомостей про сучасні методи низькорівневого програмування апаратними засобами; знань та навичок практичного застосування прийомів побудови апаратних засобів для мов програмування при створенні системних програмних продуктів.Документ Методичні вказівки до виконання курсового проєкту з навчальної дисципліни "Системне програмування"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичМета проекту: закріпити теоретичні знання при проектуванні програм мовою асемблер, утиліт, програмування драйверів, дослідження показників продуктивності ОС, аналізу процесів, що виникають у її ядрі та між різними менеджерами та диспетчерами, навчитися самостійно застосовувати отримані знання для постановки та вирішення завдань проектування системних програм різного призначення. При загальному характері питань пояснювальної записки конкретний вид коштів залежить від варіанта завдання. Тому при оформленні пояснювальної записки формулювання розроблених питань може бути конкретизовано. В інтересах кафедри та організацій, які співпрацюють з нею, допускається виконання проекту на ініціативну чи замовну теми. Тема і змістом курсового проекту у разі узгоджується з лектором, як відповідальним за навчальну дисципліну. Завершена курсова робота (проект) подається виконавцем спочатку лектору для перевірки виконання основних питань, а потім керівнику не пізніше як за п'ять днів до захисту та містить текстуальну частину та графічний матеріал, що її ілюструє. На титульному листі має бути два прізвища керівників: лектора та безпосереднього керівника. Курсовий проект із висновками керівника повертається виконавцю не пізніше ніж за день до захисту. У тих випадках, коли курсовий проект не відповідає завданню або містить важливі помилки, він повертається виконавцю на доопрацювання. Обсяг курсового проекту, що орієнтовно визначається складом питань, що підлягають розробці, а також переліком обов'язкових графічних робіт, зазначених у завданні, не повинен перевищувати 40 сторінок.Документ Низькорівневе програмування апаратних засобів. Керування комп'ютером. Командна оболонка(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичОсновну увагу приділено управлінню комп'ютером через командну оболонку Windows 11. У роботі розглянуті питання: командний рядок у WINDOWS, оболонка командного рядка WINDOWS POWERSHELL, пакетний файл, зміна властивостей файлу за допомогою програми RESOURCE TUNER, зміна рівня привілеїв файлу. Наведено лабораторні роботи із завданнями та прикладами виконання. Наведено літературу, яка використовується при вивченні матеріалу, що розглядається. Призначений для студентів спеціальності 123 – «Комп'ютерна інженерія».Документ Реверсне програмування. Захист коду. Середовище програмування masm64(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичОсновну увагу приділено захисту програм у ОС Windows 11 під час програмування мовою Асемблер серед masm64. У роботі розглянуто питання: розміщення даних у секції коду; процедури із параметрами; перетворення логічних операцій; виклики функцій; самомодифікація коду; перевірка дати та часу; приховування пароля; зворотне шифрування; кодування файлів; хешування за алгоритмом SHA-1; обчислення CRC; шифрування повідомлень шляхом заміни бітових уявлень. Наведено лабораторні роботи із завданнями та прикладами виконання у середовищі masm64. Наведено літературу, яка використовується при вивченні матеріалу, що розглядається. Призначений для студентів спеціальності 123 – «Комп'ютерна інженерія».Документ Методичні вказівки до виконання практичних та лабораторних робіт з курсу "Реверсне програмування. Антиналагоджувальні прийоми захисту від реверсу. Середовище програмування masm64"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичМетодичні вказівки не претендують на викладання повного списку антиналагоджувальних методів, оскільки він містить лише прості і часто використовувані способи при роботі в ОС Windows 11. Але застосування десятка таких навіть простих прийомів дуже ускладнить процес реверсингу програм. І тут злам програми стає дуже нерентабельним і єдиним стимулом хакера залишається лише спортивний інтерес [1 -5]. Питання антиналагодження цікаві не лише дослідникам вірусів, а й програмістам, які дбають про безпеку своїх комерційних програм. Щоб хоч якось захистити свою програму без застосування антиналагоджувальних прийомів, треба застосовувати такий стиль написання, який вимагає від хакера занадто багато часу. До такого стилю можна віднести застосування дуже великої кількості процедур і макросів, заплутування коду кодом для сміття, застосуванням глобальних змінних, застосуванням інструкцій нових технологій (наприклад, AVX) та інших прийомів захисту. Природно, що захист збільшує обсяг коду та час виконання. Але все залежить від цілей автора та важливості його програмного продукту. Хакера не лякає низькорівневе програмування [6-8]. Інакше він не хакер. Хакер безпосередньо займається аналізом виконуваного файлу саме цією низькорівневою мовою – асемблері. Хакер сам є програмістом і якщо йому вдається змінити чужий код, то його рівень програмування має бути більшим, ніж рівень розробника програмного продукту. Антиналагоджувальні прийоми часто застосовуються в протекторах, пакерах та шкідливому програмному забезпеченні (малварі - malware), уповільнюючи або запобігаючи реверс- інженірингу.Документ Методичні вказівки до виконання лабораторних робіт з курсу "Низькорівневе програмування апаратних засобів. Розроблення та застосування маніфесту додатка Win32. Середовище програмування masm64"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичПід час професійного програмування постає завдання оформлення властивостей файлу із зазначенням великої кількості даних, що характеризують огранізацію, автора програми, сумісність із різними версіями та додатками [1 -8]. Тому в цих методичних вказівках розглядаються питання, які пов'язані з процесом професійного оформлення властивостей розроблюваних додатків (файлів). Властивості файлу можна оформити за допомогою двох прийомів: застосування маніфесту додатків у вигляді окремого файлу і заповнення у файлі ресурсів структур відомостей про версії. Причому, параметри структур можна оформити як у загальному файлі ресурсів, так і в окремому, оформивши на нього окремий виклик. Для вивчення маніфесту додатків розглянуто: історію розвитку маніфестів і в загальних рисах - функції маніфестів. Детально наведено параметри та атрибути маніфесту, а також приклади файлів маніфесту. Під час вивчення структур версій розглянуто структури, у яких зазначено ці відомості, їхню характеристику та особливості застосування. Студент зобов'язаний до лабораторного заняття прочитати методичні вказівки до лабораторної роботи і спробувати виконати її самостійно. Під час лабораторного заняття студент показує викладачеві результати роботи, проводить консультації з питань, що виникли, і завершує роботу. Захист роботи полягає у виконанні завдання до лабораторної роботи, відповіді на запитання за темою лабораторної роботи та внесення деяких змін у розроблювані тексти програм у присутності викладача.Документ Методичні вказівки до виконання практичних та лабораторних робіт з курсу "Системне програмування. Графічний інтерфейс користувача (GUI)"(Національний технічний університет "Харківський політехнічний інститут", 2024) Рисований, Олександр МиколайовичГрафічний інтерфейс користувача (англ. Graphical User Interface, GUI) – система взаємодії користувача із програмним застосунком, яка основана на поданні всіх доступних користувачеві системних об’єктів і функцій у вигляді графічних компонентів екрана (вікон, меню, панелей інструментів, кнопок, елементів діалогу). На відміну від інтерфейсу командного рядка користувач має вільний доступ (за допомогою клавіатури або іншого пристрою введення) до всіх видимих екранних об’єктів. При програмуванні під операційну систему Windows необхідно навчитися використовувати інтерфейс цієї системи. А інтерфейс системи можна запрограмувати за допомогою функцій Win API [1 -6]. У роботі розглянуто приклади з використанням Win32 API, але стосовно архітектури х64. У 64-розрядній Windows функції Win64 API зазнали незначних змін. Назви деяких з них були змінені так, щоб відобразити належність до 64-розрядної платформи. Win64 допускає використання і 32-, і 64-розрядних даних. Продуктивність 32-розрядних застосунків при роботі на 64-розрядній платформі знижується. Це пов’язано з тим, що для запуску 32-розрядного застосунку операційній системі доводиться виконувати ряд підготовчих дій: збільшувати всі 32-розрядні показники до розміру у 8 байт, перетворювати виклики API-функцій, замінювати типи 32-розрядних даних на 64-розрядних [1 -6]. Win64-код об’єднує в собі основні можливості 32-розрядного коду, а також включає зміни, пов’язані з підвищенням розрядності. У розпорядженні програміста виявляються: – 64- розрядні показники; – 64- розрядні типи даних; – 32- розрядні типи даних; – інтерфейс Win64 API. Якою б не була платформа під Windows, без програмування інтерфейсу практично не обійтися. У роботі описується розробка застосунків з використанням інтерфейсу прикладного програмування (Application Programming Interface, API) операційних систем Windows компанії Microsoft. 6 Windows API є найважливішим чинником, який впливає на весь процес розробки застосунків. Інтерфейс Windows передбачає підмножину функцій інтерфейсу прикладного програмування Win API. Проте відштовхуватися тільки від документації Microsoft не рекомендується, оскільки в ній описується абстрактний інтерфейс Win API. Робота містить необхідні теоретичні відомості, практичні рекомендації і завдання з виконання робіт. У роботі наведено безліч текстів програм, які можуть бути корисними для практичного застосування.Документ Алгоритм удосконалення блока множення генератора псевдовипадкових чисел в скінченному полі GF(3)(ФОП Тарасенко В. П., 2022) Рисований, Олександр Миколайович