<?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[Problem mit fremder dll]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich habe mir eine .dll runtergeladen die anscheinend mal in VB programmiert wurde. Da liegt so ne .bas datei bei, die in VB wahrscheinlich sowas wie ne .lib in C++ ist.</p>
<p>In der .bas datei<br />
ist die Funktion &quot;extractMPQNumber&quot; folgendermaßen definiert:</p>
<pre><code class="language-cpp">Public Declare Function extractMPQNumber Lib &quot;bncsutil.dll&quot; _
    (ByVal mpqName As String) As Long
</code></pre>
<p>Ich kann eigentlich kein VB, aber ich denke mal, dass die Funktion in C++ so aussehen müsste:</p>
<pre><code class="language-cpp">long extractMPQNumber (char* mpqName);
</code></pre>
<p>Rufe ich die Funktion auf, kackt das Programm mit einer Debug fehlermeldung ab, von wegen das irgendwas mit dem ESP register nicht in Ordnung ist.</p>
<p>Hier mal ein bisschen Quellcode:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;windows.h&gt;

typedef long (DLLFUNCTION1PROC)(char* MpqName); 
typedef DLLFUNCTION1PROC *LPDLLFUNC; /* Zeiger auf exportierte Funktion */  

LPDLLFUNC extractMPQNumber;

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow )
{
	HMODULE hLib = 0;
	long Didong = 0;

	hLib = LoadLibrary(&quot;C:\\bncsutil.dll&quot;);
	if(!hLib)
		MessageBox(0,&quot;dll nicht gefunden!&quot;,0,0);
	else
	extractMPQNumber = (LPDLLFUNC)GetProcAddress(hLib, &quot;extractMPQNumber&quot;); 

	if (extractMPQNumber == NULL)
	{
		MessageBox(0,&quot;Funktion nicht gefunden!!!&quot;,0,0);
	}
	else
		Didong = extractMPQNumber(&quot;IX86ver6.mpq&quot;); //Hier kackts ab!

	FreeLibrary(hLib); 
	return 0;
}
</code></pre>
<p>Was hab ich falsch gemacht? Das Problem ist, dass ich außer dieser .bas datei keinerlei dokumentationen hab.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126905/problem-mit-fremder-dll</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 16:09:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126905.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Nov 2005 19:08:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit fremder dll on Sat, 19 Nov 2005 19:08:03 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich habe mir eine .dll runtergeladen die anscheinend mal in VB programmiert wurde. Da liegt so ne .bas datei bei, die in VB wahrscheinlich sowas wie ne .lib in C++ ist.</p>
<p>In der .bas datei<br />
ist die Funktion &quot;extractMPQNumber&quot; folgendermaßen definiert:</p>
<pre><code class="language-cpp">Public Declare Function extractMPQNumber Lib &quot;bncsutil.dll&quot; _
    (ByVal mpqName As String) As Long
</code></pre>
<p>Ich kann eigentlich kein VB, aber ich denke mal, dass die Funktion in C++ so aussehen müsste:</p>
<pre><code class="language-cpp">long extractMPQNumber (char* mpqName);
</code></pre>
<p>Rufe ich die Funktion auf, kackt das Programm mit einer Debug fehlermeldung ab, von wegen das irgendwas mit dem ESP register nicht in Ordnung ist.</p>
<p>Hier mal ein bisschen Quellcode:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;windows.h&gt;

typedef long (DLLFUNCTION1PROC)(char* MpqName); 
typedef DLLFUNCTION1PROC *LPDLLFUNC; /* Zeiger auf exportierte Funktion */  

LPDLLFUNC extractMPQNumber;

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow )
{
	HMODULE hLib = 0;
	long Didong = 0;

	hLib = LoadLibrary(&quot;C:\\bncsutil.dll&quot;);
	if(!hLib)
		MessageBox(0,&quot;dll nicht gefunden!&quot;,0,0);
	else
	extractMPQNumber = (LPDLLFUNC)GetProcAddress(hLib, &quot;extractMPQNumber&quot;); 

	if (extractMPQNumber == NULL)
	{
		MessageBox(0,&quot;Funktion nicht gefunden!!!&quot;,0,0);
	}
	else
		Didong = extractMPQNumber(&quot;IX86ver6.mpq&quot;); //Hier kackts ab!

	FreeLibrary(hLib); 
	return 0;
}
</code></pre>
<p>Was hab ich falsch gemacht? Das Problem ist, dass ich außer dieser .bas datei keinerlei dokumentationen hab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921651</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Sat, 19 Nov 2005 19:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fremder dll on Sat, 19 Nov 2005 19:11:07 GMT]]></title><description><![CDATA[<p>stdcall</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921653</guid><dc:creator><![CDATA[cccccccc]]></dc:creator><pubDate>Sat, 19 Nov 2005 19:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fremder dll on Sat, 19 Nov 2005 19:21:41 GMT]]></title><description><![CDATA[<p>Ahh ich Idiot, da hätte ich eigentlich selber drauf kommen müssen. Das kommt davon, wenn man länger nicht programmiert <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="😃"
    /> Danke schön. <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>Tja, da sieht man mal, was ein Wort alles verändern kann. <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/921663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921663</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Sat, 19 Nov 2005 19:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fremder dll on Sat, 19 Nov 2005 19:43:43 GMT]]></title><description><![CDATA[<p>Von Valhallalegends? BNet Hacking utility? Erzähl mal mehr...<br />
Willst du damit den Key von D2 klauen oder einfach nur<br />
einen illegalen Battlenetbot bauen? ^^ <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/921688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921688</guid><dc:creator><![CDATA[Quam]]></dc:creator><pubDate>Sat, 19 Nov 2005 19:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fremder dll on Sat, 19 Nov 2005 21:24:15 GMT]]></title><description><![CDATA[<p>Nene, ich will keine keys klauen. lol <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 möchte nur einen &quot;illegalen&quot; Bot machen.<br />
Das <a href="http://battle.net" rel="nofollow">battle.net</a> bietet zwar die Möglichkeit sich direkt als Chatclient einzuloggen, das Problem ist aber, dass man damit in sogut wie keinen Channel reinkommt. Früher ging das mal, aber Blizzard hat alle öffentlichen Channels für Bots gesperrt. Ich glaube das lag damals daran, weil irgendwann jeder einen Bot hatte und viele einfach unsinn mit gemacht haben (spam, flood ect.)</p>
<p>Damit ich aber trotzdem in öffentliche Channels komme, muss sich mein Bot als Starcraft, also das Spiel, ausgeben. Die Sache ist allerdings nicht so einfach, da bei der Anmeldung Server sowie Client einen Schlüssel (Token) austauschen woraus man dann eine HashID errechnen muss. Ist die falsch, wird man gekickt. Die bncsutil.dll enthällt die nötigen funktionen um die Hashes zu errechnen.</p>
<p>Damals, als &quot;Normale&quot; Bots noch nicht so eingeschränkt waren, wollte ich unbedingt mal einen eigenen Bot programmieren, da es mal einen Clan gab, die auch einen selbstprogrammierten hatten. Das ist einer der Gründe, warum ich überhaupt mit C++ angefangen hab damals. <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="😉"
    /> Naja, später wurde halt alles eingeschränkt und ich hab in die Röhre geschaut. Die Typen von Valhalla haben nahezu das Komplette <a href="http://battle.net" rel="nofollow">battle.net</a> protokoll entschlüsselt. (frag mich nicht wie!)</p>
<p>Jetzt hab ich aber die Chance es doch noch zu schaffen und die will ich jetzt nutzen. <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="😉"
    /> Ich bin noch etwas am tüfteln, aber wenn du Fragen hast, bzw. wenn du auch einen Bot Programmieren willst frag einfach. <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/921779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921779</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Sat, 19 Nov 2005 21:24:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fremder dll on Sun, 20 Nov 2005 21:14:16 GMT]]></title><description><![CDATA[<p>Ich habe bereits einen geschrieben. Ich hoffe du zählst dich nicht zu den lustigen MVlern ^^ <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="😃"
    /> Meine D2-Zeiten sind lange vorbei.<br />
Gibt es eigentlich noch den Drophack der auch alles aus dem Inventar rauswirft? Rate mal wer den geschrieben hat <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="😃"
    /> <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/922703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/922703</guid><dc:creator><![CDATA[Quam]]></dc:creator><pubDate>Sun, 20 Nov 2005 21:14:16 GMT</pubDate></item></channel></rss>