Reverse Engineer (Android / Windows)
Ми шукаємо досвідченого Reverse Engineer, який аналізуватиме, досліджуватиме та модифікуватиме складні програмні системи для платформ Android та Windows.
Ви працюватимете з низькорівневими компонентами операційних систем, пропрієтарними протоколами та production-бінарниками, виконуючи значно ширший спектр задач, ніж класичний статичний аналіз.
Ця роль потребує глибокої технічної експертизи у сфері native-коду, розуміння внутрішньої архітектури операційних систем і поведінки програм під час виконання (runtime), а також практичного досвіду реверс-інжинірингу та вирішення складних технічних задач.
Основні обов'язки
- Проведення реверс-інжинірингу Android- та Windows-застосунків (Java/Kotlin та native C/C++).
- Аналіз скомпільованих бінарних файлів, обфускованого коду та захищених застосунків.
- Використання методів динамічного аналізу, інструментування (instrumentation) та трасування виконання програм.
- Аналіз і модифікація системної поведінки (сервіси, драйвери, IPC, мережеві взаємодії).
- Дослідження пропрієтарних протоколів і форматів даних.
- Аналіз механізмів захисту, виявлення способів їх обходу.
- Розробка власних інструментів, скриптів та автоматизації процесів аналізу.
- Співпраця з командами розробки для інтеграції результатів досліджень у продукт.
Основні технічні навички
- Впевнений досвід роботи з інструментами реверс-інжинірингу:
- IDA Pro / Ghidra / Binary Ninja
- Frida, LLDB, WinDbg, x64dbg
- Глибоке розуміння:
- Assembler (ARM, ARM64, x86/x64);
- native-коду (C/C++);
- управління пам'яттю, calling conventions та структури виконуваних файлів.
Android
- Глибоке розуміння внутрішньої архітектури Android:
- ART / Dalvik Runtime;
- Binder IPC;
- System Services та HAL.
- Досвід реверс-інжинірингу APK-файлів та native-бібліотек (.so).
- Розуміння структури AOSP та системних компонентів Android.
Windows
- Розуміння внутрішньої архітектури Windows:
- User-mode та Kernel-mode;
- Windows API;
- системних сервісів і драйверів.
- Досвід аналізу PE-бінарників, DLL та системної поведінки Windows.
Буде перевагою
- Досвід реверс-інжинірингу iOS (Objective-C / Swift, Mach-O).
- Знання методів anti-debugging та anti-tampering.
- Досвід роботи з емуляторами, віртуалізацією або sandbox-середовищами.
- Практичний досвід у криптографії та аналізі мережевих протоколів.
- Досвід дослідження вразливостей або розробки експлойтів.
Ми шукаємо інженера, який:
- вміє працювати з неповною інформацією та самостійно знаходити рішення;
- має сильне аналітичне мислення та інтерес до дослідження складних систем;
- орієнтується на практичний результат, а не лише на теоретичний аналіз;
- документує результати своєї роботи зрозуміло та структуровано.
Нумо створювати технології, що розширюють межі можливого!