
सॉफ्टवेयर-डिफ़ाइंड रेडियो प्लेटफ़ॉर्म का उपयोग करके दूरस्थ वीडियो जासूसी
यह परियोजना एक सॉफ्टवेयर टूलकिट है, जिसका उपयोग सॉफ्टवेयर डिफ़ाइन्ड रेडियो (SDR) रिसीवर की मदद से वीडियो मॉनिटर की दूरस्थ निगरानी (remote eavesdropping) के लिए किया जाता है। यह वीडियो सिग्नल ले जाने वाली केबलों से निकलने वाले समझौता करने वाले विकिरणों (compromising emanations) का दोहन करता है।
रास्टर वीडियो आमतौर पर पिक्सेल की एक पंक्ति के रूप में, परिवर्ती धारा के रूप में एन्कोडेड, प्रसारित होता है। यह एक विद्युतचुम्बकीय तरंग उत्पन्न करता है जिसे SDR रिसीवर द्वारा ग्रहण किया जा सकता है। सॉफ्टवेयर वास्तविक समय में किसी पिक्सेल की प्राप्त क्षेत्र शक्ति (field strength) को ग्रे-स्केल शेड में मैप करता है। यह मूल वीडियो सिग्नल का एक गलत-रंग (false colour) अनुमान बनाता है।
टूलकिट बिना किसी संशोधन के तैयार (off-the-shelf) हार्डवेयर का उपयोग करता है, जो मौजूदा समाधानों की तुलना में लागत कम करता है और गतिशीलता बढ़ाता है। यह अतिरिक्त पोस्ट-प्रोसेसिंग की अनुमति देता है जो सिग्नल-से-शोर अनुपात (signal-to-noise ratio) में सुधार करता है। हमलावर को लक्षित वीडियो डिस्प्ले के बारे में पूर्व जानकारी होना आवश्यक नहीं है। रिज़ॉल्यूशन और रीफ़्रेश दर जैसे सभी पैरामीटर सॉफ्टवेयर की सहायता से अनुमानित किए जाते हैं।
सॉफ्टवेयर में C में लिखी गई एक लाइब्रेरी, विभिन्न Software Define Radio (SDR) फ्रंट-एंड के लिए प्लग-इनों का संग्रह और Java आधारित ग्राफिकल यूज़र इंटरफ़ेस (GUI) शामिल है। यह एक मल्टी-प्लेटफ़ॉर्म एप्लिकेशन है, जिसमें सभी नेटिव लाइब्रेरी पहले से संकलित (pre-compiled) हैं और एक ही Java jar फ़ाइल में पैक की गई हैं।
लॉन्च करने के लिए JTempestSDR.jar फ़ाइल पर डबल क्लिक करें। यदि यह लॉन्च होने में विफल रहता है, तो आपको प्रोजेक्ट को फिर से संकलित (recompile) करने की आवश्यकता होगी।
यह Java रैपर और GUI है। यह सभी प्रोजेक्ट्स और समर्थित प्लगइन्स, साथ ही Java GUI का निर्माण (build) करता है। JavaGUI फ़ोल्डर में जाएं और टाइप करें
make all
यदि यह "jni.h" को खोजने में विफल रहता है, तो आपको निम्नलिखित कमांड्स में से एक को चलाना चाहिए:
make all JAVA_HOME=path_to_jdk_installation
Windows 8 x64 पर यह इस प्रकार दिख सकता है
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
X64 या X32 के लिए संकलन को बाध्य करने हेतु (यदि आपका कंपाइलर समर्थन करता है), निम्न कार्य करें
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
Ubuntu पर openjdk के साथ यह इस प्रकार दिख सकता है
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
नोट: यह प्लगइन्स को भी संकलित करेगा। उनमें से कुछ को अतिरिक्त लाइब्रेरी की आवश्यकता होती है! आप JavaSDR में Makefile को संपादित करके प्लगइन संकलन को अक्षम कर सकते हैं।
आपके पास MinGW स्थापित होना आवश्यक है।
Windows पर, यह FlexiTV™ MSi3101 SDR USB Dongle के लिए Mirics SDR प्लगइन का भी निर्माण करेगा। आपको पहले http://www.mirics.com/ से SDR ड्राइवर स्थापित करना होगा।
प्लगइन को संकलित करने के लिए प्लगइन फ़ोल्डर में जाएं और टाइप करें
make all MIRICS_HOME=path_to_mirics_installation
Windows 8 x64 पर यह इस प्रकार दिख सकता है
make all MIRICS_HOME=C:/PROGRA~1/MiricsSDR
Mirics प्लगइन चलाते समय, सुनिश्चित करें कि mir_sdr_api.dll लाइब्रेरी पथ में है (या निष्पादन योग्य के समान निर्देशिका में)। आप इस dll को C:/Program Files/MiricsSDR/API/x86 या C:/Program Files/MiricsSDR/API/x64 में अपनी आर्किटेक्चर के आधार पर पा सकते हैं।
यदि आप Mirics dongle का उपयोग करने का इरादा नहीं रखते हैं, तो आप JavaGUI निर्देशिका में Makefile को संपादित करके इस चरण को छोड़ सकते हैं। पंक्ति 89 से TSDRPlugin_Mirics को हटा दें, इसे इस प्रकार बदलते हुए
PLUGINS += TSDRPlugin_Mirics TSDRPlugin_ExtIO
से
PLUGINS += TSDRPlugin_ExtIO
Linux और OS X पर, GUI संकलित करने से UHD ड्राइवर भी संकलित होगा, इसलिए आपके पास UHD और संबंधित boost लाइब्रेरी स्थापित होनी चाहिए (UHD उन्हें स्वचालित रूप से स्थापित करेगा)। यदि आप UHD ड्राइवर नहीं चाहते हैं, तो आप JavaGUI निर्देशिका में Makefile से Linux के लिए पंक्ति 91 और OS X के लिए पंक्ति 93 को हटाकर उनके संकलन को छोड़ सकते हैं। डिफ़ॉल्ट रूप से ये पंक्तियाँ इस प्रकार दिखती हैं:
PLUGINS += TSDRPlugin_UHD
सभी प्रोजेक्ट्स को Eclipse और make दोनों के साथ बनाया जा सकता है।
फ़ोल्डर में प्रवेश करें और टाइप करें
make all
यह लाइब्रेरी का उत्पादन करेगा जो bin उपनिर्देशिका में पाई जा सकती है। इसके साथ इंटरफ़ेस करने के लिए आपको जिन हेडर की आवश्यकता है, वे src/include में स्थित हैं।
किसी प्लगइन निर्देशिका में जाएं और टाइप करें
make all
यह तब तक काम करना चाहिए जब तक कि प्लगइन के लिए कुछ विशिष्ट न हो। ऐसे मामले में README देखें।
विभिन्न फ़ोल्डरों में विभिन्न उप-प्रोजेक्ट होते हैं। TempestSDR फ़ोल्डर में मुख्य C लाइब्रेरी शामिल है। परियोजना का उद्देश्य विभिन्न फ़ोल्डरों में SDR फ्रंट-एंड के लिए प्लगइन समर्थन के साथ क्रॉसप्लेटफ़ॉर्म होना है।
परियोजना Eclipse में CDT प्लगइन के साथ बनाई गई है (लेकिन यह आवश्यक नहीं है)। वर्तमान में यह Windows, Linux और OS X का समर्थन करती है। कुछ फ्रंट-एंड प्लगइन क्रॉसप्लेटफ़ॉर्म नहीं हो सकते हैं। आपके पास Java Development Kit (JDK) स्थापित होना भी आवश्यक है।
आपके पास MinGW स्थापित होना चाहिए और gcc तथा make कमांड आपके पथ (path) में होने चाहिए। साथ ही javac और javah भी आपके पथ में होने चाहिए।
शीघ्र घोषित किया जाएगा।