
Crystal Palace के लिए एक PICO जो मेमोरी में .NET असेंबली को निष्पादित करने हेतु CLR होस्टिंग लागू करता है।
Crystal Palace के लिए एक PICO जो नेटिव CLR होस्टिंग लागू करता है, ताकि एक संलग्न .NET असेंबली को मेमोरी में निष्पादित किया जा सके — उसी तकनीक का उपयोग करते हुए जैसा donut शेलकोड जनरेटर करता है। यह आपको .NET टूल्स जैसे Rubeus या Seatbelt को बिना उन्हें डिस्क पर डाले पोजीशन-इंडिपेंडेंट कोड से लोड करने की सुविधा देता है।

आपको MinGW GCC, zip यूटिलिटी, और प्रोजेक्ट को लिंक करने के लिए आवश्यक CPL एक्ज़ीक्यूटेबल की आवश्यकता होगी। प्रोजेक्ट के साथ लिंक करने के लिए वांछित .NET असेंबली तथा पास करने के लिए वांछित कमांडलाइन तर्क निर्दिष्ट करने हेतु config.spec को संशोधित करें। crystalpalace.jar का स्थान निर्दिष्ट करने के लिए Makefile को संशोधित करें।
PICO को अकेले (COFF के रूप में) बनाने के लिए, make pico चलाएँ। उदाहरण रनर बनाने और उसे PICO के साथ लिंक करने के लिए, make runner चलाएँ।
उदाहरण रनर out/runner.bin पर लिखा जाता है। डिफ़ॉल्ट कॉन्फ़िगरेशन, जब आप इसे निष्पादित करते हैं, तो कुछ सामान्य डमी क्रेडेंशियल्स के साथ "asktgt" निष्पादित करने के लिए एक संलग्न Rubeus असेंबली को इनवोक करता है:

PICO के एंट्रीपॉइंट का सिग्नेचर है:
HRESULT (*EXECUTE_ASSEMBLY_PICO)(char *assembly, size_t assembly_len, WCHAR *argv[], int argc);
पहले दो तर्कों में एक रॉ .NET असेंबली का पॉइंटर और उसका आकार होना चाहिए। अगले दो तर्कों का उपयोग असेंबली को इनवोक करते समय उसके पास स्ट्रिंग पैरामीटर पास करने के लिए किया जाता है।
यह PICO केवल आपके द्वारा प्रदान किए गए तर्कों के साथ असेंबली को इनवोक करता है। यह आउटपुट को कैप्चर करने का कोई प्रयास नहीं करता है।
यदि आपको STDIN के माध्यम से इनपुट प्रदान करने या STDOUT से आउटपुट कैप्चर करने की आवश्यकता है, तो आपको अपने लोडर को CreatePipe() और SetStdHandle() जैसे WIN32 API कॉल्स का उपयोग करने तथा अपनी प्रक्रिया के मानक I/O डिवाइसों को एक अनाम पाइप (anonymous pipe) से कनेक्ट करने के लिए संशोधित करना चाहिए। फिर आप हमेशा की तरह उससे पढ़ सकते हैं और उसमें लिख सकते हैं।
clr.h का उपयोग किया।