<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen.]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich habe 3 Probleme:<br />
Ich möchte eine DLL als Datencontainer verwenden. Nur DLL und Exe Dateien die meiner DLL mit Ihrem SHA1 Hash bekannt sind sollen die Daten auslesen dürfen.<br />
<strong>1.</strong> Wie kann ich meine DLL beenden wenn festgestellt wird das eine unbekannte Binary ein DLL_PROCESS_ATTACH auslöst? Ich möchte nun nicht unbedingt bei jedem Funktionsanfang einen Stopper setzen der den ungewollten Nutzer wieder rauswirft.</p>
<p>2. Kann ich davon ausgehen das beim zweiten DLL_PROCESS_ATTACH Ereignis meine DLL komplett geladen ist? So dass ich dann dort komplexe Operationen ausführen kann? (In dem Splashscreen Thread in diesem Forum wurde davon abgeraten komplexe Operationen in DLL_Main auszuführen. Gilt das generell oder kann ich beim zweiten laden machen was ich will?)</p>
<p>Die Funktionen zum Ent- und Verschlüsseln sind auch in die DLL auslagert. Eine Funktion lautet SetRsaKey(). Dieser wird einmal ein Key übergeben und alle weiteren zB. DoEncrypt() Aufrufe verwenden ihn dann. Bei der DLL ist jedoch vorgesehen das mehrere Anwendungen die DLL gleichzeitig verwenden.<br />
<strong>3.</strong> Wie kann ich nun einem DoEncrypt() Aufrufer einen Key zuordnen? Ich möchte keine Pointer über die DLL Schnittstelle gehen lassen. Also bei SetRsaKey einen Pointer zurückgeben der dann bei jedem DoEncrypt() Aufruf wieder mitgeschleppt wird.</p>
<p>Vielen Dank im voraus</p>
<p>Bommel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191795/dll-nur-von-augesuchten-usern-nutzen-lassen-aufrufer-zuordnen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 09:48:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191795.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Sep 2007 15:40:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 15:40:18 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich habe 3 Probleme:<br />
Ich möchte eine DLL als Datencontainer verwenden. Nur DLL und Exe Dateien die meiner DLL mit Ihrem SHA1 Hash bekannt sind sollen die Daten auslesen dürfen.<br />
<strong>1.</strong> Wie kann ich meine DLL beenden wenn festgestellt wird das eine unbekannte Binary ein DLL_PROCESS_ATTACH auslöst? Ich möchte nun nicht unbedingt bei jedem Funktionsanfang einen Stopper setzen der den ungewollten Nutzer wieder rauswirft.</p>
<p>2. Kann ich davon ausgehen das beim zweiten DLL_PROCESS_ATTACH Ereignis meine DLL komplett geladen ist? So dass ich dann dort komplexe Operationen ausführen kann? (In dem Splashscreen Thread in diesem Forum wurde davon abgeraten komplexe Operationen in DLL_Main auszuführen. Gilt das generell oder kann ich beim zweiten laden machen was ich will?)</p>
<p>Die Funktionen zum Ent- und Verschlüsseln sind auch in die DLL auslagert. Eine Funktion lautet SetRsaKey(). Dieser wird einmal ein Key übergeben und alle weiteren zB. DoEncrypt() Aufrufe verwenden ihn dann. Bei der DLL ist jedoch vorgesehen das mehrere Anwendungen die DLL gleichzeitig verwenden.<br />
<strong>3.</strong> Wie kann ich nun einem DoEncrypt() Aufrufer einen Key zuordnen? Ich möchte keine Pointer über die DLL Schnittstelle gehen lassen. Also bei SetRsaKey einen Pointer zurückgeben der dann bei jedem DoEncrypt() Aufruf wieder mitgeschleppt wird.</p>
<p>Vielen Dank im voraus</p>
<p>Bommel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360329</guid><dc:creator><![CDATA[Bommel]]></dc:creator><pubDate>Thu, 06 Sep 2007 15:40:18 GMT</pubDate></item><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 15:50:27 GMT]]></title><description><![CDATA[<p>hi,,ich weiß nicht ob ich deine Fragen richtig verstehe.</p>
<p>1. FALSE zurückgeben?</p>
<p>2. Was meinst du beim zweiten DLL_PROCESS_ATTACH? Die Dll kriegt genau einmal eine DLL_PROCESS_ATTACH Nachricht und zwar wenn sie im jeweiligen Prozeß eingeblendet wird.</p>
<p>3. Die DLL hat doch ihren eigenen Satz an Variablen pro Prozess. Also muss jeder Prozess deine SetRsaKey() aufrufen und den Key der DLL übergeben. Oder was meinst du??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360342</guid><dc:creator><![CDATA[Lobster]]></dc:creator><pubDate>Thu, 06 Sep 2007 15:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 15:56:32 GMT]]></title><description><![CDATA[<p>Ich dachte das die Variablen die ich im Modul von DllMain anlege für jede DLL gleich seien? Irgendwo habe ich gelesen das man so über eine DLL Daten austauschen kann. Programme A und B laden eine DLL. A schiebt Daten rein und B ließt die Daten aus.</p>
<p>Aber wenn das so ist wie Du beschrieben hast brauche ich mich um konkurierende Zugriffe gar nicht kümmern?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360345</guid><dc:creator><![CDATA[Bommel]]></dc:creator><pubDate>Thu, 06 Sep 2007 15:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 16:06:31 GMT]]></title><description><![CDATA[<p>Frage: Mussten die globalen DLL Variablen vielleicht static sein damit man so Daten austauschen konnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360349</guid><dc:creator><![CDATA[Bommel]]></dc:creator><pubDate>Thu, 06 Sep 2007 16:06:31 GMT</pubDate></item><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 16:17:03 GMT]]></title><description><![CDATA[<p>Nein, dazu musst du sie in einem seperaten Datensegment ablegen und dem Linker mitteilen, daß dieses Datensegment von mehreren DLL Instanzen gemeinsam verwendet werden soll.</p>
<pre><code class="language-cpp">#pragma data_seg(&quot;SHARED&quot;)  // begin the shared data segment.
// shared variables
#pragma data_seg() // end the shared data segment 

// tell linker to generate shared data segment
#pragma comment(linker, &quot;/section:SHARED,RWS&quot;)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1360356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360356</guid><dc:creator><![CDATA[Lobster]]></dc:creator><pubDate>Thu, 06 Sep 2007 16:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to DLL nur von augesuchten Usern nutzen lassen. Aufrufer zuordnen. on Thu, 06 Sep 2007 16:22:51 GMT]]></title><description><![CDATA[<p>Vielen Dank Lobster <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360358</guid><dc:creator><![CDATA[Bommel]]></dc:creator><pubDate>Thu, 06 Sep 2007 16:22:51 GMT</pubDate></item></channel></rss>