<?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[Autom. Header und LIB aus einer DLL erstellen?]]></title><description><![CDATA[<p>Ich habe hier eine DLL (um genau zusein, die vom Firebird 1.5 Embedded Server) die ich gerne mal ausprobieren will. Leider wird keine Header- und LIB-Datei mitgeliefert.</p>
<p>Mit welchem Tool kann ich mir die nötigen Dateien autom. erzeugen lassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164733/autom-header-und-lib-aus-einer-dll-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 11:18:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164733.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Nov 2006 01:46:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 01:46:50 GMT]]></title><description><![CDATA[<p>Ich habe hier eine DLL (um genau zusein, die vom Firebird 1.5 Embedded Server) die ich gerne mal ausprobieren will. Leider wird keine Header- und LIB-Datei mitgeliefert.</p>
<p>Mit welchem Tool kann ich mir die nötigen Dateien autom. erzeugen lassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172831</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 12 Nov 2006 01:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 02:26:42 GMT]]></title><description><![CDATA[<p>Mit garkeinem Tool, da Tools nicht hellsehen können.<br />
Die benötigten Informationen sind nicht in der DLL enthalten, was ja auch der Grund dafür ist dass es .lib Files gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172835</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 12 Nov 2006 02:26:42 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 08:58:07 GMT]]></title><description><![CDATA[<p>hol dir doch den source.. <a href="http://www.firebirdsql.org/index.php?op=files&amp;id=fb2_rc5" rel="nofollow">http://www.firebirdsql.org/index.php?op=files&amp;id=fb2_rc5</a><br />
manchmal lohnt es auch, selber zu kompilieren, auch unter windows ist das meist nicht unmöglich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>ich denke, du meintest diese, oder?<br />
gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172854</guid><dc:creator><![CDATA[elise]]></dc:creator><pubDate>Sun, 12 Nov 2006 08:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 09:14:02 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13960">@hustbaer</a>! Also man kann ja mit DUMPBIN.EXE von MS sich auch Object-Dateien aus DLLs erstellen lassen und die Symbole in der DLL sich anzeigen lassen. Also denke ich mir, das der letzte Step der LIB-Datei auch möglich sein sollte. Nur bin ich aus der MSDN nicht schlaue geworden.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/448">@elise</a>! Ja, selber bauen wäre natürlich auch möglich. Ich habe aber z.B. bei SQLite das gleiche Problem: die bieten zum Download auch nur eine DLL und eine soganannte DEF-Datei an. Ich wette, man kann daraus auch eine LIB erzeugen. Nur wie? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Weil so macht es ja keinen Sinn, wenn die ganzen EmbeddedDB-Anbieter einem immer nur die DLL anbieten? Wenn man es eh selber bauen muß, dann können die sich doch den Extra-Download sparen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172857</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 12 Nov 2006 09:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 09:21:29 GMT]]></title><description><![CDATA[<p>Unter Windows gibt es keinen Supporten Weg sowas zu machen.<br />
Wenn Du *nur* die DLL hast, dann steht in der DLL keinerlei Infos über Aufrufkonventionen / Parameter / Rückgabewerte drin (es sei denn es ist C++ und Du weisst mit welchem Compiler es erstellt wurde).<br />
Auch wenn Du die DEF-Datei hast, hilft es Dir nicht viel weiter.</p>
<p>Wenn Du noch die PDB-Datei hast, dann kann man da vielleicht was machen... aber LIB zu erzeugen, da hab ich meine Zweifel...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172859</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 12 Nov 2006 09:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 09:52:19 GMT]]></title><description><![CDATA[<p>OK, habe mal weiter geforscht. Eine LIB lässt sich erzeugen, aber man braucht eine DEF-Datei (die auch bei SQLite-DLL dabei ist):</p>
<pre><code>lib.exe /def:sqlite.def
</code></pre>
<p>Hat mich also die Info aus der MSDN nicht ganz getäuscht. Aber die Firebird-Jungs haben doch tatsächlich keine DEF Datei im Download. Die Header braucht man aber anscheinend doch.</p>
<p>Im Prinzip müssten die SQLite- und Firebird-Jungs drei Dateien in den Download legen:</p>
<p>1. die DLL<br />
2. die DEF-Datei, dann kann man sich die LIB für seinen Compiler bzw. Linker automatisch bauen.<br />
3. die wichtigsten Header-Dateien, die man als User braucht.</p>
<p>Wäre Compiler-unabhängig und man müsste sich nicht die kompletten Sourcen runter laden.</p>
<p>Habe mir jetzt den Source von Firebird 2 runter geladen, in dem Embedded-Unterprojekt liegen doch tatsächlich DEF-Dateien. Da liegen sie warm und trocken. <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/1172872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172872</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 12 Nov 2006 09:52:19 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 10:34:30 GMT]]></title><description><![CDATA[<p>ganz so einfach ist das nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> aber<br />
mit der <a href="http://support.microsoft.com/kb/177429/" rel="nofollow">Dumpbin.exe</a> erstellst du dir die Moduledefinitionsdatei.def<br />
der <a href="http://msdn2.microsoft.com/de-de/library/c1h23y6c.aspx" rel="nofollow">korrecte befehl</a> dafür lautet als eingabe in cmd.exe</p>
<blockquote>
<p>dumpbin namederdll.dll /Exports /Out:NamederModuledefinitionsdatei.def</p>
</blockquote>
<p>anstelle von Exports kann natürlich auch Imports stehn.</p>
<p>Ich gehe jetzt davon aus das sich die cmd.exe &amp; die *.dll im verzeichniss der dumpbin.exe befindet.</p>
<p>diese *.def datei must du jetzt bearbeiten, <a href="http://www.codeproject.com/cpp/9505Yamaha_1.asp" rel="nofollow">entweder liest du sie gleich aus dem Konsolenprog.</a> aus dies setzt aber voraus das du dir ein eigenes programm schreibst was die dumbin- lib- link &amp;o. undname.exe startet. oder aber du läst sie dir erstmal als textdatei mit der endung *.def erstellen. was dabei rauskommt sieht dann ungefähr so aus</p>
<blockquote>
<p>Dump of file NamederDll.dll</p>
<p>File Type: DLL</p>
<p>Section contains the following exports for NamederDll.dll</p>
<p>0 characteristics<br />
4294DCD9 time date stamp Wed May 25 22:15:21 2005<br />
0.00 version<br />
1 ordinal base<br />
7497 number of functions<br />
7497 number of names</p>
<p>ordinal hint RVA name</p>
<p>1 A 00007063 ??0AAmmunition@@QAE@ABV0@@Z<br />
2 B 000087F6 ??0AAmmunition@@QAE@XZ<br />
3 C 00008562 ??0AAntiPortalActor@@IAE@XZ</p>
</blockquote>
<p>diese kauderwelsch <strong>??0AAmmunition@@QAE@ABV0@@Z</strong> nennt sich <a href="http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vccore/html/_core_viewing_decorated_names.asp" rel="nofollow">ergänzter Name</a></p>
<p>was nun für dich interessant ist zu wissen sind die zahlen die in der spalte <strong>ordinal</strong> stehen und das was unter <strong>name</strong> steht. Du must nun die *.def datei die dir dumpbin erstellt hat so umbauen das sie wie unten aufgeführt aussieht. das ist sehr wichtig ansonsten frist sie kein weiterführendes prog. wie Lib- o. Link.exe</p>
<blockquote>
<p>LIBRARY NameDerDll.DLL</p>
<p><strong>EXPORTS</strong><br />
??0AAmmunition@@QAE@ABV0@@Z @ 1<br />
??0AAmmunition@@QAE@XZ @ 2<br />
??0AAntiPortalActor@@IAE@XZ @ 3<br />
...</p>
</blockquote>
<p>jeh nachdem was du oben entpackt hast Exports o. Imports Funktionen muss hier nätürlich auch wieder <strong>Exports o. Imports</strong> stehn.</p>
<p>wenn du nun die *.def richtig erstellt hast öffnest du wieder die cmd.exe (achtung ich gehe wieder davon aus das die cmd.exe sich im verzeichniss der <a href="http://msdn2.microsoft.com/de-de/library/7ykb2k5f.aspx" rel="nofollow">lib.exe</a> befindet) und gibst folgendes ein</p>
<blockquote>
<p>lib /def:NamederModuledefinitionsdatei.def /out:NamederLib*.lib</p>
</blockquote>
<p>wenn du alles richtig gemacht hast, erstellt dir die Lib.exe die gewünschte *.lib und die *.exp. Diese kannst du nun in dein Project einbinden.</p>
<p>Um dir nun daraus ne header zu basteln, wird das ganze noch ein wenig komplizierter, hierfür brauchst du nur die <a href="http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vccore/html/_core_viewing_decorated_names.asp" rel="nofollow">ergänzter Name</a><br />
<strong>??0AAmmunition@@QAE@ABV0@@Z</strong> und die undname.exe<br />
den ergänzten namen übergibts du an undname.exe wie unten folgt. (achtung ich gehe wieder davon aus das die cmd.exe im verzeichniss der undname.exe liegt) öffne die cmd.exe und gib dort ein.</p>
<blockquote>
<p>undname -f ??0AAmmunition@@QAE@ABV0@@Z</p>
</blockquote>
<p>und sie gibt dir zurück</p>
<blockquote>
<p>public: __thiscall AAmmunition::AAmmunition(class AAmmunition const &amp;);</p>
</blockquote>
<p>du must das dann noch weiterverarbeiten, denn so kann kein prog damit was anfangen, und zwar in der form</p>
<p><strong>public</strong> gibt dir den zugriffstatus der funktion zurück</p>
<p><strong>AAmmunition</strong>:: gibt dir den classennamen bzw. den headernamen an</p>
<p>::<strong>AAmmunition(class AAmmunition const &amp;)</strong> gibt dir den funktionsnamen an</p>
<p>so das wars wie man ne header erstellt nur dürfte klar sein das dies über die cmd.exe etwas schwierig zu lösen sein dürfte. und darin liegt nun die kunst. du wirst um dir ne header zu erstellen nicht darum kommen dir ein eigenes programm zu schreiben das dir alle ergänzten namen an die undname.exe übergibt und gleichzeitig das zurückgegeben wieder ausliest und weiterverarbeitet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>eine andere möglichkeit wäre, an die ergänzten namen zu kommen, das ganze über<br />
<a href="http://www.windowsitlibrary.com/Content/356/11/4.html" rel="nofollow">Portable Executable File Format</a> zu erledigen, diesbezüglich bräuchtest du nicht den umweg über die dumbin.exe zu gehn sondern könntest direkt dir die *.def erstellen und alles an undname.exe übergeben.</p>
<p>Anbei sei noch vermerkt<br />
es gibt nicht umsonst leute die 250$ und mehr für solche header zahlen. das eröffnet einem nämlich unteranderem unendliche möglichkeiten des cheatens <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172893</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Sun, 12 Nov 2006 10:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 14:35:13 GMT]]></title><description><![CDATA[<p>LowFly! Danke für die ausführliche Beschreibung. <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="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Aber so kompliziert habe ich es mir nicht vorgestellt. Gut, aber letztendlich sollte man sich fragen, warum einige OpenSource-Projekte nur eine DLL anbieten, nach dem Motto &quot;Hier haste und kannste benutzen&quot;. Wundert mich halt nur...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173029</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 12 Nov 2006 14:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 15:02:21 GMT]]></title><description><![CDATA[<blockquote>
<p>Aber so kompliziert habe ich es mir nicht vorgestellt</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>hmm,<br />
vor einem jahr hab ich noch zu denen gehört die steif &amp; fest behauptet haben es wäre überhaupt nicht möglich. vor einigen monaten dachte ich noch das man studiert &amp; den doctor title haben muss, um fähig zu sein, header aus ner dll zu erstellen.</p>
<p>im enddefect ist es aber nur das ausführen von programmen in der richtigen reihenfolge &amp; pissbillige Stringbearbeitung das wars.</p>
<p>bzw. wenn man sich mal in <a href="http://www.windowsitlibrary.com/Content/356/11/4.html" rel="nofollow">Portable Executable File Format</a> eingearbeitet hat geht das ganze noch viel einfacher &amp; schneller &amp; es bleibt zum schluß nur noch die Stringbearbeitung.</p>
<p>klar man muss sich mal etwas intensiver mit dem thema auseinander setzen als es eben mal so aus dem ärmel zu schüteln, jedoch geht es &amp; das sogar recht einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173047</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Sun, 12 Nov 2006 15:02:21 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Sun, 12 Nov 2006 21:33:37 GMT]]></title><description><![CDATA[<p>Zum Header erstellen müsste man auch wissen welche Member die Klassen alle haben, wie gross die Instanzen sind etc.<br />
Und die Info steht in der DLL nicht drinnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173291</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 12 Nov 2006 21:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 06:49:22 GMT]]></title><description><![CDATA[<p>Mir glaubt mal wieder niemand: Es geht nicht. Es mag für ganz spezielle spezialfälle gehen; abe rnicht in der Regel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173360</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Nov 2006 06:49:22 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 09:10:34 GMT]]></title><description><![CDATA[<p>nicht alle funktionen haben member, die es zB nicht haben sind konstructor &amp; destructor der klassen. wenn du mal das nachvollzogen hättest dann wüstest du das man alles bekommt was man braucht um sich header zu erstellen.<br />
da ich auch nicht die addresse der funktion im laufenden process austauchsen will und durch meine ersetzen will interesiert auch die größe der Instanze &amp; ect. nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>@ Jochen nein ich kann dir nicht glauben,<br />
da ich mir son tool geschrieben und komischerweise kann ich ungefähr 5% aller dll's die ich auf der platte hab NICHT entpacken 95% aller dll's kann ich entpacken. die ich nicht entpacken kann sind meistens dll's die mit mfc.. anfangen. Fackt ist das ich die dll's enpacke und diese header in verbindung mit den lib's in ein project einbinde &amp; nutzen kann. ob du es mir nun glaubst oder nicht is mir egal. nur bitte behaupte es nicht das es nicht geht wenn du selbst nicht versucht hast es erfolgreich nachzufollziehn.</p>
<p>so sieht zB das aus was ich von der undname bekomme. ich nenne es mal die vorläufige header</p>
<blockquote>
<p>public: class UFluidVolumeInterface &amp; __thiscall AFluidVolume::GetInterface(void);<br />
public: float __thiscall USkeletalMeshInstance::GetKeyAlpha(int,struct MeshAnimChannel const &amp;);<br />
private: float __thiscall USkeletalMeshInstance::GetKeyAlphaInternal(int,struct MeshAnimChannel const &amp;);<br />
private: float __thiscall USkeletalMeshInstance::GetKeyAlphaOfHigherBlendsOnChannel(int,struct MeshAnimChannel const &amp;);<br />
public: double __thiscall UTexture::GetLastUpdateTime(void);<br />
public: static void __cdecl USkinVertexBuffer::InternalConstructor(void *);<br />
public: static void __cdecl USound::InternalConstructor(void *);<br />
public: static void __cdecl USparkEmitter::InternalConstructor(void *);<br />
public: static void __cdecl USpeechManager::InternalConstructor(void *);<br />
public: static void __cdecl USpriteEmitter::InternalConstructor(void *);<br />
public: static void __cdecl UStaticMesh::InternalConstructor(void *);<br />
public: static void __cdecl UStaticMeshInstance::InternalConstructor(void *);<br />
public: static void __cdecl UStaticShadow::InternalConstructor(void *);<br />
public: static void __cdecl UTerrainMaterial::InternalConstructor(void *);<br />
public: static void __cdecl UTerrainPrimitive::InternalConstructor(void *);<br />
public: static void __cdecl UTerrainSector::InternalConstructor(void *);<br />
public: virtual int __thiscall UModifier::IsTransparent(void);<br />
public: virtual int __thiscall UShader::IsTransparent(void);<br />
public: virtual int __thiscall UTexture::IsTransparent(void);<br />
public: int __thiscall UTerrainSector::IsTriangleAll(int,int,int,int,int,unsigned char);<br />
public: virtual bool __thiscall APawn::IsVisionEnabled(void);<br />
public: int __thiscall AActor::IsVolumeBrush(void)const ;<br />
public: virtual int __thiscall ADoor::IsWedged(void);<br />
public: int __thiscall UViewport::IsWire(void);<br />
public: bool __thiscall UMassiveAdClient::IsZoneLoaded(void);<br />
public: virtual int __thiscall UEngine::Key(class UViewport *,enum EInputKey,unsigned short);<br />
public: unsigned char __thiscall UInput::KeyDown(int);<br />
public: virtual void __thiscall AEmitter::Kill(void);<br />
public: int __thiscall USkeletalMesh::LODFootprint(int,int);</p>
</blockquote>
<p>und das lass ich dann das tool daraus machen und erstell mir das als headerdatei auf der platte und binde dies in ein project.</p>
<blockquote>
<p>class AActor<br />
{</p>
<p>public:<br />
AActor(class AActor const &amp;);//<br />
AActor(void);//<br />
virtual ~AActor(void);//<br />
static void * __cdecl operator new(unsigned int,class UObject *,class FName,unsigned long);//<br />
static void * __cdecl operator new(unsigned int,enum EInternal *);//<br />
class &amp; operator=(class AActor const &amp;);//<br />
virtual int AddMyMarker(class AActor *);//<br />
virtual int AnimGetSpecialChannel(void);//<br />
virtual class * AssociatedLevelGeometry(void);//<br />
void AttachProjector(class AProjector *);//<br />
int AttachToBone(class AActor *,class FName);//<br />
void BeginTouch(class AActor *);//<br />
virtual void BoundProjectileVelocity(void);//<br />
virtual int CanCoverPlaneBillboard(void)const;//<br />
void execSetTweenMode(struct FFrame &amp;,void * const);//<br />
void execSimulateSoundOnDedicatedServer(struct FFrame &amp;,void * const);//<br />
................<br />
virtual void initialiseHavokDataObject(void);//<br />
int moveSmooth(class FVector);//<br />
virtual void performPhysics(float);//<br />
virtual void physFalling(float,int);//<br />
void physProjectile(float,int);//<br />
void physRootMotion(float);//<br />
void physTrailer(float);//<br />
void physicsRotation(float);//<br />
virtual void processHitWall(class FVector,class AActor *);//<br />
virtual void processLanded(class FVector,class AActor *,float,int);//<br />
virtual void setPhysics(unsigned char,class AActor *,class FVector);//<br />
int setRelativeLocation(class FVector);//<br />
int setRelativeRotation(class FRotator);//<br />
virtual void stepDown(class FVector const &amp;,struct FCheckResult &amp;);//<br />
virtual void stepUp(class FVector,class FVector,class FVector,struct FCheckResult &amp;);//</p>
<p>protected:</p>
<p>private:<br />
static class PrivateStaticClass;//</p>
<p>/*Müll:</p>
<p>*/</p>
<p>};</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1173422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173422</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Mon, 13 Nov 2006 09:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 09:55:18 GMT]]></title><description><![CDATA[<p>Dann musst Du mir noch eines erklären: Woher weiss der &quot;new&quot; Befehl wieviel Speicher er für die Klasse reservieren muss? Du hast hier keinerlei Member-Variablen drin... woher soll das &quot;new&quot; es dan erahnen?</p>
<p>Auch kannst Du zu 95% aller Windows-DLLs keine LIB erzeugen, da diese *nur* Namen (oder Ordinal) exportieren und Du weder Aufrufkonventionen noch Parameter kennst.</p>
<p>Es kann *nur* (ohne Zusatzinfos) gehen, wenn reine C++-Funktionen (also keine Klassen) exportiert werden, da hier in dem dekorierten Namen alles drin steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173451</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Nov 2006 09:55:18 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 11:09:44 GMT]]></title><description><![CDATA[<blockquote>
<p>Woher weiss der &quot;new&quot; Befehl wieviel Speicher er für die Klasse reservieren muss.</p>
</blockquote>
<p>indem zb die Dll deren funktion ich manipulieren will schon längst in einem process geladen ist und man eine weitere dll die die manipulierten funktionen enthält dort injeziert und man nur dafür sorge tragen muss das die injezierte dll vom laufenden process anerkannt &amp; ausgeführt wird.</p>
<blockquote>
<p>Auch kannst Du zu 95% aller Windows-DLLs keine LIB erzeugen</p>
</blockquote>
<p>naja dann frag ich mich wieso es bei mir geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>da diese *nur* Namen (oder Ordinal) exportieren</p>
</blockquote>
<p>falsch falsch falsch aber gleich sowas von falsch. diese ausssage zeigt mir das du anscheinend noch nie eine *.def via Dumpbin erstellt hast. denn dort bekommst du die ordinal zahl &amp; den ergänzten name der Funktion &amp; noch einiges mehr. um dir daraus ne *lib anzufertigen zu lassen <strong>must</strong> du allerdings die *.def umbauen die dir dumpbin erstellt. und die umgebaute *def übergibst du dann an die lib.exe. Ich hab alles beschrieben wies geht probier es aus, allerdings plauder ich nicht aus dem nähkästchen, mitdenken muss man &amp; setz ich voraus. mehr sag ich nicht mehr dazu.</p>
<p>der andere weg ist wie gesagt über Portable Executable File Format und dort lass ich mir die ergänzten namen durch eine schleife in einer array plazieren und ihr platz in der Array +1 entspricht auch gleichzeitig ihrer ordinal zahl.</p>
<blockquote>
<p>und Du weder Aufrufkonventionen noch Parameter kennst.</p>
</blockquote>
<p>wie gesagt das zeigt das du es noch nie probiert hast den der aufruf einer classe passiert genau so wie normal auch, wenn du dich im ausführenden process einklingst</p>
<p>UTerrainSector::IsTriangleAll(int,int,int,int,int,unsigned char);</p>
<p>UTerrainSector *pUTS = new UTerrainSector();<br />
pUTS-&gt;IsTriangleAll(0,1,2,3,4,_T(&quot;Test&quot;));</p>
<p>na &amp; die Parameternamen auf die du hinauswills interesieren absolut nicht in einer header es reicht der parametertyp und den bekommst ja oder bitte was ist das IsTriangleAll(<strong>int,int,int,int,int,unsigned char</strong>) in der *.cpp geb ich dir recht dort brauchst du den Parameternamen, nur kann der gänzlich anderst heisen wie in dem orginal.</p>
<p>kuck dir mal diese beispiele an,<br />
<a href="http://www.codeproject.com/debug/LibView.asp" rel="nofollow">http://www.codeproject.com/debug/LibView.asp</a><br />
insbesondere dieses<br />
<a href="http://www.codeproject.com/dll/Execute_DLL_Function.asp" rel="nofollow">http://www.codeproject.com/dll/Execute_DLL_Function.asp</a></p>
<p>ich sag auch nicht das man sich da mal schnell hinsetzt den code runtertippt und man header hat die sofort einsetztbar sind. bei den lib's egal was du sagst funzt es bei mir (man muss die *.def RICHTIG umbaun) und mit den headern rumspielen. dann klapp das auch (mit dem nachbarn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<p>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173521</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Mon, 13 Nov 2006 11:09:44 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 11:36:10 GMT]]></title><description><![CDATA[<p>Ein .lib File zusammenpfuschen ist eine Sache, eine vollständig verwendbare Header Datei eine gänzlich andere.<br />
Sag was du willst, aber du *kannst* aus einer DLL (mit oder ohne .def File) keine Headers erstellen mit denen man vernünftig arbeiten kann. Es geht nicht. Punkt.</p>
<p>Ich verstehe genau was du da machst, ist mir alles klar, bloss weiss ich deswegen auch dass das was dabei rauskommt vielleicht reicht mit einer DLL ein wenig blöd rumzuspielen, aber nicht wenn man vernünftig damit arbeiten will.</p>
<p>Im übrigen wird das was du tust dem OP nixe bringen, er will ja nicht eine &quot;ersatz-dll&quot; schreiben oder irgendwelche Funktionen patchen, sondern eine DLL von der er keine Headers hat selbst verwenden. Und das geht nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173555</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 13 Nov 2006 11:36:10 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 12:37:39 GMT]]></title><description><![CDATA[<p>es ist einfach zu trollig.</p>
<blockquote>
<p>Ein .lib File zusammenpfuschen ist eine Sache, eine vollständig verwendbare Header Datei eine gänzlich andere.<br />
Sag was du willst, aber du *kannst* aus einer DLL (mit oder ohne .def File) keine Headers erstellen mit denen man vernünftig arbeiten kann. Es geht nicht. Punkt.</p>
<p>Ich verstehe genau was du da machst, ist mir alles klar, bloss weiss ich deswegen auch dass das was dabei rauskommt vielleicht reicht mit einer DLL ein wenig blöd rumzuspielen, aber nicht wenn man vernünftig damit arbeiten will</p>
</blockquote>
<p>verstehn und es selbst probieren sind zwei paar stiefel die sich gänzlich unterscheiden. und pfuschen tut hier keiner. die aussage zeigt das man(n) sich nicht ernsthaft damit beschäftig, zuwas und wofür gedacht ist die Dumpbin- lib- &amp; link.exe zu nutzen.</p>
<p>anhand eurer ausssagen sehe ich das ihr es bislang nie <strong>ernsthaft</strong> versucht habt dies zu bewerkstelligen und spätestens dann aufgehört habt als die ersten stollpersteine kamen o. euch das verständniss dafür fehlt. bzw. nur aus eurem wissen (was ich an dieser stelle keinem streitig machen will) vermutungen anstellt wie etwas zu sein hat. womit ihr beide aber sowas von daneben liegt.</p>
<blockquote>
<p>sondern eine DLL von der er keine Headers hat selbst verwenden. Und das geht nicht</p>
</blockquote>
<p>ich kann mich nur wiederholen es zeigt wieviel ahnung du hast, hättest du nur einmal in <a href="http://www.codeproject.com/dll/Execute_DLL_Function.asp" rel="nofollow">das beispiel</a> gekuckt. Es zu verstehen versucht, hättest du dir diese aussage verkniffen da wird zum teil genau das gemacht was du behauptest das es nicht geht.</p>
<p>aber nochmal langsam zum mitschreiben.</p>
<p>1; erstelle dir eine *.lib von der dll deren funktion du nutzen willst &amp; binde sie in dein project ein.</p>
<p>2; wenn nötig erstelle dir eine header aus dem was dir undname.exe anhand der ergänzten namen zurückgibt &amp; binde diese in dein Project.</p>
<p>die header ist nur notwenig damit der compiler nicht motzt es würden irgendwo nichtaufgelöste externe symbole geben. zu nix anderem ist die header notwendig.</p>
<p>3; hier gibt es zwei wege zum erfolg<br />
entweder injeziere die dll die funktionen manipulieren soll in den laufenden process &amp; aktiviere sie<br />
oder<br />
lade die gewünschte dll beim start des programms via <strong>LoadLibary</strong>(...) in deinen Project und du erhälst zugriff auf alle funktionen die in der dll zu finden sind.</p>
<p>nun kannst du natürlich weiter behaupten das es nicht geht.</p>
<p>dann frag ich mich aber warum klappt es bei mir egal wie, ob ich nun etwas in einen process injeziere oder die gewünschte dll beim start in mein project lade.</p>
<p>warscheinlich hab ich nen zauberpc</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173621</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Mon, 13 Nov 2006 12:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 13:26:58 GMT]]></title><description><![CDATA[<p>LowFly schrieb:</p>
<blockquote>
<blockquote>
<p>Woher weiss der &quot;new&quot; Befehl wieviel Speicher er für die Klasse reservieren muss.</p>
</blockquote>
<p>indem zb die Dll deren funktion ich manipulieren will schon längst in einem process geladen ist und man eine weitere dll die die manipulierten funktionen enthält dort injeziert und man nur dafür sorge tragen muss das die injezierte dll vom laufenden process anerkannt &amp; ausgeführt wird.</p>
</blockquote>
<p>Was hat denn das mit meiner Frage zu tun!? Und wer will hier was manipulieren? Weder ich noch der OP...</p>
<p>LowFly schrieb:</p>
<blockquote>
<blockquote>
<p>Auch kannst Du zu 95% aller Windows-DLLs keine LIB erzeugen</p>
</blockquote>
<p>naja dann frag ich mich wieso es bei mir geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>da diese *nur* Namen (oder Ordinal) exportieren</p>
</blockquote>
<p>falsch falsch falsch aber gleich sowas von falsch. diese ausssage zeigt mir das du anscheinend noch nie eine *.def via Dumpbin erstellt hast.</p>
</blockquote>
<p>Ich vermute eher mal, dass Du es noch nie mit Windows-DLLs probiert hast!<br />
Ein Dumpbin von kernel32.dll liefet z.B.:</p>
<pre><code>Dump of file C:\WINDOWS\SysWOW64\kernel32.dll

File Type: DLL

  Section contains the following exports for KERNEL32.dll

    00000000 characteristics
    42435E2F time date stamp Fri Mar 25 01:41:19 2005
        0.00 version
           1 ordinal base
         978 number of functions
         978 number of names

    ordinal hint RVA      name

          1    0 000219F6 ActivateActCtx = _ActivateActCtx@8
          2    1 00023F79 AddAtomA = _AddAtomA@4
          3    2 00043A11 AddAtomW = _AddAtomW@4
          4    3 00081C71 AddConsoleAliasA = _AddConsoleAliasA@12
          5    4 00081C33 AddConsoleAliasW = _AddConsoleAliasW@12
          6    5 00068005 AddLocalAlternateComputerNameA = _AddLocalAlternateComputerNameA@8
          7    6 00067F1E AddLocalAlternateComputerNameW = _AddLocalAlternateComputerNameW@8
</code></pre>
<p>So: Und jetzt erklär mir mal bitte, wie Du ohne Infos über die Funktionen eine h-Datei und eine LIB-Datei erzeugen willst!?<br />
Dir sind weder Parameter/Aufrufkonventionen noch sonstwas bekannt...</p>
<p>Wie gesagt: Wenn Du die Header irgendwo hast, dann geht es... aber wenn Du *nur* die DLL hast (wie es beim OP geheisen hat), dann ist es IMHO zu 99% unmöglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173673</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Nov 2006 13:26:58 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 14:18:25 GMT]]></title><description><![CDATA[<p>ich hab auch nicht behauptet das es einfach ist windows dll zu enpacken<br />
im falle der kernel stimmt die hab ich noch nicht entpackt warum auch den für die meisten windows *.dll braucht man keine *.libs zu erzeugen den die *.lib's finden sich in ätlichen SDK's <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> wenn nötig auch die header dazu.</p>
<p>im fall der kernel zB hat man keine ergänzten namen sondern bekommt gleich den funktionsnamen allerdings OHNE Parameter angabe das ist richtig. aber willst du mir vieleicht erzählen das man für die kernel irgendwelche aufrufkonventionen braucht, ich hoffe nicht.</p>
<p>und für die Parameter der windows- kernelfunktionen reicht erstens ein rechtsklick auf parametertyp bzw ein blick in die MSDN<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup/activateactctx.asp" rel="nofollow">ActivateActCtx</a></p>
<p>und für die die windows dll's die keine *.lib's und header in SDK's bereitstellen klappt das beschrieben verfahren. und wenns eben nicht klappt fallen die unter die besagten 5% <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173716</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Mon, 13 Nov 2006 14:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Mon, 13 Nov 2006 17:45:38 GMT]]></title><description><![CDATA[<p>Man sieht: Es geht nur in Spezialfällen ohne Zusatzinfos. Und das ist, wenn C++-Funktion exportiert werden. In allen anderen Fällen (Klassen, C-Funktionen) geht es nicht.<br />
Wenn Du mir dies wiederlegen kannst, kannst Du es ja posten. Ich kann Dir auch eine DLL schicken zu der Du mir die h-Datei und die LIB-Datei machen kannst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173850</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Nov 2006 17:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 04:52:26 GMT]]></title><description><![CDATA[<p>LowFly, du kommst dir wohl sehr schlau vor. Es wurde nach einem Tool gefragt welches aus einer DLL nen .lib file und .h File machen kann. Die Antwort ist ein Tool kann das nicht. Ende &amp; aus.</p>
<p>Das man mit Hilfe von Tools und ewig rumraten und pfriemeln vielleicht in ein paar sehr sehr einfachen Fällen Erfolg hat - ja, ok, wen interessierts, das geht nämlich sogar ganz ohne Tool. (Ok, .lib File schreib ich nicht mit Hand, aber .def File, und mit dem mach ich dann mein .lib File). <strong>Bloss ist das ein gänzlich anderes Thema.</strong></p>
<p>Wie willst du bitte bei einer C++ DLL sizeof(X) rausbekommen? Wie willst du zu den Klassen kommen die gänzlich inline implementiert sind? Zu den Templates? Wie willst du die Funktionen/Methoden aufrufen deren Parameterliste eine komplett inline implementierte Klasse enthält?</p>
<p>Du redest hier von spezialfällen, und ignorierst fest das wir anderen das nicht tun.</p>
<p>BTW: das &quot;MessageBoxA&quot; Beispiel ist wohl komplett lächerlich. Davon abgehesen: das dort vorgestellte Tool erfordert erst recht wieder das man die Parameterliste mit Hand eingigt. Und nun sag mir wie du die Parameterliste von MessageBoxA erraten willst wenn du sie eben nicht weisst, und nicht nachgucken kannst? Hm? Blubb.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174133</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 04:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 08:03:34 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5675">@jochen</a><br />
mal angenommen ich würde darauf eingehn und mir ne dll von dir schicken lassen<br />
schickste doch eh eine die unter die 5% fällt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>@ hustbaer<br />
ich habs fast vermutet aber nein ich bin nicht mächtig schlau &amp; auch nicht allwissend oder was dir sonst noch für neckerein einfallen. wenn du diese stufe der komunikation benutzen must bist du geistig noch ärmer als ich vermutet hab.</p>
<p>All die fragen die du stellst &quot;Wie willst du bitte bei einer C++ DLL sizeof..&quot; hab ich beantwortet,</p>
<p>wie jetzt schon so oft gesagt du/ihr versucht garnicht es ansatzweise zu verstehn. Es ist immer am leichtesten zu schrein das geht nicht, weil man sich dann nicht die mühe machen muss es zu verstehn oder herauszufinden.</p>
<p>mir egal ob ihr es nun glauben wollt oder nicht ich bin kein mesias &amp; auch kein prediger der versucht euch zu bekeheren. Ich für meinen teil weis das es geht, ich habs schwarz auf weis vor mir liegen, die leute die es nachvollziehen wollen haben genug material und links durch den thread an der hand um dies erfolgreich nachvollziehen &amp; sich dann selbst ein urteil bilden zu können ob es nun möglich ist oder nicht.</p>
<p>Da nun leider der thread langsam aus dem ruder läuft (hustbaer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ) und weiterführende diskusionen mit sicherheit im streit enden. gibt der vernünftigere bekanntlich nach. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Somit,<br />
ja ihr hab recht, (es ist unmöglich eine header &amp; lib aus einer dll zu machen, es ist kompletter schwachsinn was ich da erzählt hab) &amp; ich meine ruh.</p>
<p>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174186</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Tue, 14 Nov 2006 08:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 08:14:28 GMT]]></title><description><![CDATA[<p>LowFly schrieb:</p>
<blockquote>
<p>und für die Parameter der windows- kernelfunktionen reicht erstens ein rechtsklick auf parametertyp bzw ein blick in die MSDN<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup/activateactctx.asp" rel="nofollow">ActivateActCtx</a></p>
</blockquote>
<p>Ja, mit Zusatzinformationen kannst du alles erreichen. Aber was machst du, wenn du NUR diese DLL vorliegen hast (oder eine ähnlich aufgebaute DLL, die irgendein fremder Programmierer (z.B. Jochen) dir in die Hand gedrückt hat)?</p>
<p>Die <a href="http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vccore/html/_core_format_of_a_c_decorated_name.asp" rel="nofollow">ergänzten Namen</a> enthalten nur in Spezialfällen genug Informationen, um daraus den Funktions-Prototyp rekonstruieren zu können. Und afaik gibt es in der DLL auch keine Informationen darüber, welche Member die verwendeten Klassen enthalten (nochmal in verständlichem Deutsch: Woher willst du diese Informationen nehmen?) Und daß es bei dir bislang immer geklappt hat, ist vermutlich auf eine glückliche Auswahl der Test-DLLs zurückzuführen.</p>
<p>PS: Und die Tatsache, daß auch deine Methode in &quot;5% aller Fälle&quot; versagt, bestätig doch auch die Aussage &quot;es geht nicht generell&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174199</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 14 Nov 2006 08:14:28 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 08:46:40 GMT]]></title><description><![CDATA[<blockquote>
<p>Und die Tatsache, daß auch deine Methode in &quot;5% aller Fälle&quot; versagt, bestätig doch auch die Aussage &quot;es geht nicht generell&quot;</p>
</blockquote>
<p>hab ich nie behauptet</p>
<p>wie schon gesagt ihr habt recht ich meine ruh <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174235</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Tue, 14 Nov 2006 08:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 08:52:15 GMT]]></title><description><![CDATA[<p>Doch, hast du:</p>
<p>LowFly schrieb:</p>
<blockquote>
<p>da ich mir son tool geschrieben und <strong>komischerweise kann ich ungefähr 5% aller dll's die ich auf der platte hab NICHT entpacken</strong> 95% aller dll's kann ich entpacken.</p>
</blockquote>
<p>(Daß du von diesen 5% zufälligereweise ein paar Zusatzinformationen hast, tut jetzt nichts zur Sache - versuch' doch mal, aus der kernel32.dll einen Header zu erstellen, <strong>OHNE</strong> die MSDN zu verwenden).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174241</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 14 Nov 2006 08:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 09:09:28 GMT]]></title><description><![CDATA[<p>ich weis nicht was es soll das du dich zum schluß wo ich gesagt hab ihr hab recht &amp; ich meine ruh noch einklinken, auf alten kamellen rumreiten &amp; versuchen must nen hacken zu finden an dem du dich aufhängen kannst.</p>
<p>aber nun gut, anscheinend must du das rad jedes mal neu erfinden. ich zähle zu den 95% der dll's die ich enpacken kann nicht die dazu von denen es in SDK's libs &amp; header gibt. warum auch die muß man nicht enpacken.</p>
<p>aber wie gesagt man kann immer einen hacken finden an dem man sich aufhängt.</p>
<p>such mal weiter findest bestimmt noch ein paar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174254</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to Autom. Header und LIB aus einer DLL erstellen? on Tue, 14 Nov 2006 09:25:14 GMT]]></title><description><![CDATA[<p>Lol.<br />
LowFly, du hast nich nur keine Ahnung, du bist auch noch ein Mädchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174269</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:25:14 GMT</pubDate></item></channel></rss>