<?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[Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung )]]></title><description><![CDATA[<p>Hi,ich versuche mich gerade an Code Injection über einen Hook!<br />
Folgender Code,der eigentlich MEssageBoxA hooken soll macht leider nichts,aber ohne Fehler etc...<br />
In diesem Code werden die ersten 5 Bytes der Funktion gespeichert,nach den gespeicherten 5 Byte kommt dann ein Jump zu MessageBox + 6!<br />
MessageBox 1 - 5 wird mit einem Jump zu den gesicherten Bytes überschrieben...<br />
eingentlich sollte bei diesem Code ja noch alles normal ausgeführt werden und das tut es auch!<br />
Aber wenn ich absichtlich Fehler Code dann wird trotzdem alles normal ausgeführt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Hier der relevante Code in der DLL:</p>
<pre><code class="language-cpp">void hook_api(void)
{
char alten5byte[20];
char buffer;
DWORD rw = 0;
int* originalFunktion = 0x0;
int* hookFunktion = 0x0;
int* nops = 0x0; 
int* temp_addr = 0x0; 
int* temp_addr2 = 0x0;
int* sprungweg = 0x0;
HANDLE hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()); 
/* Addresse der Funktion auslesen */
HINSTANCE hDLL = LoadLibrary(&quot;user32.dll&quot;);
originalFunktion = (int*)GetProcAddress(hDLL,&quot;MessageBoxA&quot;);
FreeLibrary(hDLL);

 temp_addr  = originalFunktion;
 temp_addr2 = (int*)&amp;nops;

 for(int i = 0;i &lt; 5;i++)
  {
      if(!ReadProcessMemory(hproc,(LPCVOID)temp_addr,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;inhalt&quot;,&quot;name&quot;,MB_OK);
      if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;inhalt&quot;,&quot;name&quot;,MB_OK);
      ++temp_addr ;
      ++temp_addr2;
  }

  ++temp_addr ;
  ++temp_addr2;

  sprungweg = sprungoffset(temp_addr2,temp_addr);
  buffer = 0xE9;
  WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw);
  WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw);

  temp_addr2 = originalFunktion;
  sprungweg = sprungoffset(temp_addr2,nops);
  buffer = 0xE9;
  WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw);
  WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw);

}
</code></pre>
<pre><code class="language-cpp">int* sprungoffset(int* absprung,int* ziel)
{
  int weg;
  absprung += 5;
  weg = ziel - absprung;
  return (int*)weg;
}
</code></pre>
<p>Könnte es an meinen wilden Casts liegen?</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146063/api-hooking-schreibt-keinen-code-in-die-funktion-es-gibt-keine-fehlermeldung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:12:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146063.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 May 2006 18:47:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Wed, 03 May 2006 18:47:35 GMT]]></title><description><![CDATA[<p>Hi,ich versuche mich gerade an Code Injection über einen Hook!<br />
Folgender Code,der eigentlich MEssageBoxA hooken soll macht leider nichts,aber ohne Fehler etc...<br />
In diesem Code werden die ersten 5 Bytes der Funktion gespeichert,nach den gespeicherten 5 Byte kommt dann ein Jump zu MessageBox + 6!<br />
MessageBox 1 - 5 wird mit einem Jump zu den gesicherten Bytes überschrieben...<br />
eingentlich sollte bei diesem Code ja noch alles normal ausgeführt werden und das tut es auch!<br />
Aber wenn ich absichtlich Fehler Code dann wird trotzdem alles normal ausgeführt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Hier der relevante Code in der DLL:</p>
<pre><code class="language-cpp">void hook_api(void)
{
char alten5byte[20];
char buffer;
DWORD rw = 0;
int* originalFunktion = 0x0;
int* hookFunktion = 0x0;
int* nops = 0x0; 
int* temp_addr = 0x0; 
int* temp_addr2 = 0x0;
int* sprungweg = 0x0;
HANDLE hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()); 
/* Addresse der Funktion auslesen */
HINSTANCE hDLL = LoadLibrary(&quot;user32.dll&quot;);
originalFunktion = (int*)GetProcAddress(hDLL,&quot;MessageBoxA&quot;);
FreeLibrary(hDLL);

 temp_addr  = originalFunktion;
 temp_addr2 = (int*)&amp;nops;

 for(int i = 0;i &lt; 5;i++)
  {
      if(!ReadProcessMemory(hproc,(LPCVOID)temp_addr,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;inhalt&quot;,&quot;name&quot;,MB_OK);
      if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;inhalt&quot;,&quot;name&quot;,MB_OK);
      ++temp_addr ;
      ++temp_addr2;
  }

  ++temp_addr ;
  ++temp_addr2;

  sprungweg = sprungoffset(temp_addr2,temp_addr);
  buffer = 0xE9;
  WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw);
  WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw);

  temp_addr2 = originalFunktion;
  sprungweg = sprungoffset(temp_addr2,nops);
  buffer = 0xE9;
  WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw);
  WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw);

}
</code></pre>
<pre><code class="language-cpp">int* sprungoffset(int* absprung,int* ziel)
{
  int weg;
  absprung += 5;
  weg = ziel - absprung;
  return (int*)weg;
}
</code></pre>
<p>Könnte es an meinen wilden Casts liegen?</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050493</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Wed, 03 May 2006 18:47:35 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Wed, 03 May 2006 18:55:13 GMT]]></title><description><![CDATA[<p>Xalon_ schrieb:</p>
<blockquote>
<p>In diesem Code werden die ersten 5 Bytes der Funktion gespeichert,nach den gespeicherten 5 Byte kommt dann ein Jump zu MessageBox + 6!</p>
</blockquote>
<p>Das ist eine sehr schlechte Idee. Du musst Dir schon die Mühe machem, diese ersten Bytes zu analysieren um dann entscheiden zu können, wieviele Bytes Du kopieren musst!<br />
Auch solltest Du die Rückgabewerte von &quot;WriteProcessMemory&quot; auswerten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050500</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 03 May 2006 18:55:13 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Wed, 03 May 2006 19:18:01 GMT]]></title><description><![CDATA[<p>Ok werde ich machen!<br />
Wegen ben 5 Bytes:Das hab ich schon mit Olly angeschaut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Xalon</p>
<p>Wenns noch nicht funktioniert werd ich hier pushen,k?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050526</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Wed, 03 May 2006 19:18:01 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 13:31:28 GMT]]></title><description><![CDATA[<p>Ich hab den Cast Salat jetzt erst mal durch Unsigneds ersetzt!<br />
Danach hab ich WriteProcessMemory getestet und siehe da,er macht einen Fehler!<br />
Im Code hab ich mit einem Kommentar(gut sichtbar) den Fehlerhaften Code gekennzeichnet<br />
nur leider konnte ich den Fehler nicht beheben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">void hook_api(void)
{
char alten5byte[20];
char buffer;
DWORD rw = 0;
unsigned originalFunktion = 0x0;
unsigned hookFunktion = 0x0;
unsigned nops = (unsigned)&amp;nops; 
unsigned temp_addr = 0x0; 
unsigned temp_addr2 = 0x0;
unsigned sprungweg = 0x0;
HANDLE hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()); 
/* Addresse der Funktion auslesen */
HINSTANCE hDLL = LoadLibrary(&quot;user32.dll&quot;);
originalFunktion = (unsigned)GetProcAddress(hDLL,&quot;MessageBoxA&quot;);
FreeLibrary(hDLL);

 temp_addr  = originalFunktion;
 temp_addr2 = nops;

 for(int i = 0;i &lt; 5;i++)
  {
      if(!ReadProcessMemory(hproc,(LPCVOID)temp_addr,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;FEHLER!!&quot;,&quot;FEHLER!!&quot;,MB_OK);
      if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
        MessageBox(GetForegroundWindow(),&quot;FEHLER!!&quot;,&quot;FEHLER!!&quot;,MB_OK);
      ++temp_addr ;
      ++temp_addr2;
  }

  ++temp_addr ;
  ++temp_addr2;

  sprungweg = sprungoffset(temp_addr2,temp_addr);
  buffer = 0xE9;
  if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;1.1&quot;,&quot;1.1&quot;,MB_OK);
  if(!WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;1.2&quot;,&quot;1.2&quot;,MB_OK);
  ////////////////////////////////////////////////////
  //HIER IST DER FEHLER!! ES ERSCHEINEN BEIDE BOXEN!!
  ////////////////////////////////////////////////////
  temp_addr2 = originalFunktion;
  sprungweg = sprungoffset(temp_addr2,nops);
  buffer = 0xE9;
  if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;2.1&quot;,&quot;2.1&quot;,MB_OK);
  if(!WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;2.2&quot;,&quot;2.2&quot;,MB_OK);

  ////////////////////////////////////////////////////
  ////////////////////////////////////////////////////
  ////////////////////////////////////////////////////
}

//int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); 

void nops(void)
{
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
 asm(&quot;NOP&quot;);
}

unsigned sprungoffset(unsigned absprung,unsigned ziel)
{
  int weg;
  absprung += 5;
  weg = ziel - absprung;
  return weg;
}
</code></pre>
<p>Schon mal Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050894</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Thu, 04 May 2006 13:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 13:42:47 GMT]]></title><description><![CDATA[<p>Ich sag nur... VirtualProtect</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050901</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 04 May 2006 13:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 14:32:36 GMT]]></title><description><![CDATA[<p>Wieso überschreibst du nicht einfach die Adresse von MessageBoxA in der Import Address Table? Ist doch viel einfacher und ist nicht so eine Frickelarbeit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050935</guid><dc:creator><![CDATA[WebNubbi]]></dc:creator><pubDate>Thu, 04 May 2006 14:32:36 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 15:18:55 GMT]]></title><description><![CDATA[<p>Ahhhh <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="🙂"
    /><br />
Danke!Nach ein bischen googlen ist jetzt folgendes rausgekommen:</p>
<pre><code class="language-cpp">DWORD dwOldProtect;
  temp_addr2 = originalFunktion;
  VirtualProtect((void*)temp_addr2, 16, PAGE_EXECUTE_READWRITE, &amp;dwOldProtect);

  sprungweg = sprungoffset(temp_addr2,nops);
  buffer = 0xE9;
  if(!WriteProcessMemory(hproc,(LPVOID)temp_addr2,&amp;buffer,sizeof(buffer),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;2.1&quot;,&quot;2.1&quot;,MB_OK);
  if(!WriteProcessMemory(hproc,(LPVOID)++temp_addr2,&amp;sprungweg,sizeof(sprungweg),&amp;rw))
    MessageBox(GetForegroundWindow(),&quot;2.2&quot;,&quot;2.2&quot;,MB_OK);
</code></pre>
<p>Ist der Cast überhaupt korrekt?So weit ich jetzt getestet hab(durch cout) ja!<br />
Naja was ist dann der Fehler? ab temp_addr2 sollten 16byte mit PAGE_EXECUTE_READWRITE gesetzt werden...sollten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich hoffe auf deine Hilfe <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="🙂"
    /><br />
Xalon</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12325">@WebNubbi</a> : Ne,wenn schon denn schon <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/1050973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050973</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Thu, 04 May 2006 15:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 18:14:08 GMT]]></title><description><![CDATA[<p>WebNubbi schrieb:</p>
<blockquote>
<p>Wieso überschreibst du nicht einfach die Adresse von MessageBoxA in der Import Address Table? Ist doch viel einfacher und ist nicht so eine Frickelarbeit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Funktioniert aber nur in spezialfällen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051057</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 04 May 2006 18:14:08 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 18:14:59 GMT]]></title><description><![CDATA[<p>Rückgabewert von &quot;VirtualProtect&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051059</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 04 May 2006 18:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Thu, 04 May 2006 18:33:23 GMT]]></title><description><![CDATA[<p>Schon vor dem Post gecheckt...Die Funktion schlägt fehl!<br />
Aber warum,das weiß ich nicht...</p>
<p>danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051079</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Thu, 04 May 2006 18:33:23 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Fri, 05 May 2006 05:19:04 GMT]]></title><description><![CDATA[<p>Wenn Du so &quot;schwierige&quot; Sachen machen willst, dann musst Du Dich da halt etwas einarbeiten und am besten noch die Doku zu den Funktionen lesen... ich sag nur: &quot;Pages&quot;.<br />
Und mein Hinweis mit den &quot;5 bytes&quot; kopieren ohne den ASM-Code zu analysieren hast Du auch noch nicht befolgt... wenn es je gehen sollte, dann ist es zufall und kann sich beim nächsten ServicePack/Hotfix ändern bzw. bei anderen OS-Versionen wird es nicht gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051175</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Fri, 05 May 2006 05:19:04 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Fri, 05 May 2006 13:15:56 GMT]]></title><description><![CDATA[<p>Jede API Funktion fängt afaik mit 2x2 bytes und 1x1 byte an <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="😉"
    /><br />
Naja ich werd mal schaun!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051549</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Fri, 05 May 2006 13:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Fri, 05 May 2006 13:34:53 GMT]]></title><description><![CDATA[<p>Xalon_ schrieb:</p>
<blockquote>
<p>Jede API Funktion fängt afaik mit 2x2 bytes und 1x1 byte an <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><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>
]]></description><link>https://www.c-plusplus.net/forum/post/1051562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051562</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Fri, 05 May 2006 13:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Fri, 05 May 2006 21:44:48 GMT]]></title><description><![CDATA[<p>Na es passt also einfach die ersten 5 Bytes zu sichern <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="😉"
    /><br />
Man reißt dadurch keine Befehle auseinander!<br />
Aber Back to Topic:<br />
Ich find im Netz nichts!Anscheinend klappt bei jedem anderen VirtualProtect...<br />
Wär echt nett von dir wenn du mir weiterhelfen könntest!</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051839</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Fri, 05 May 2006 21:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 09:38:35 GMT]]></title><description><![CDATA[<p>Xalon_ schrieb:</p>
<blockquote>
<p>Na es passt also einfach die ersten 5 Bytes zu sichern <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>Nein.</p>
<p>Xalon_ schrieb:</p>
<blockquote>
<p>Ich find im Netz nichts!Anscheinend klappt bei jedem anderen VirtualProtect...<br />
Wär echt nett von dir wenn du mir weiterhelfen könntest!</p>
</blockquote>
<p>Eigentlich ist es ja ganz simpel. Man liest sich die MSDN-Doku dazu durch, und dann würdest Du sofort sehen, was Du falsch machst...</p>
<blockquote>
<p>lpAddress<br />
[in] Pointer to the <strong>base address of the region of pages</strong> whose access protection attributes are to be changed</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1051935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051935</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 06 May 2006 09:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 11:25:13 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(!VirtualQuery((void*)temp_addr2,&amp;mbi,sizeof(MEMORY_BASIC_INFORMATION)))
    MessageBox(GetForegroundWindow(),&quot;VirtualQuery&quot;,&quot;VirtualQuery&quot;,MB_OK); 

  if(!VirtualProtect((void*)mbi.BaseAddress, mbi.RegionSize, PAGE_EXECUTE_READWRITE, &amp;dwOldProtect))
    MessageBox(GetForegroundWindow(),&quot;VirtualProtect&quot;,&quot;VirtualProtect&quot;,MB_OK);
</code></pre>
<p>Das hab ich leider auch schon versucht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
VirtualQuery wird auch ausgeführt...<br />
Aber VirtualProtect nicht!</p>
<p>Warum passt es denn nicht einfach die ersten 5 Bytes zu nehmen?</p>
<p>Xalon</p>
<p>P.S:Danke das du mir hilfst <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/1051975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051975</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Sat, 06 May 2006 11:25:13 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 13:06:01 GMT]]></title><description><![CDATA[<p>Xalon_ schrieb:</p>
<blockquote>
<p>Warum passt es denn nicht einfach die ersten 5 Bytes zu nehmen?</p>
</blockquote>
<p>Da es einige Routinen gibt, die nicht mit 5 &quot;passenden&quot; ASM-Bytes anfangen... (schau einfach mal z.B. mittels windbg nach)...<br />
Bsp:<br />
- DbgPrint<br />
- GetStartupInfoA<br />
- GetEnvironmentStringsW<br />
- InterlockedExchange<br />
- InterlockedExchangeAdd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052011</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 06 May 2006 13:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 13:16:12 GMT]]></title><description><![CDATA[<p>Das ist mir schon klar aber ich will ja nur eine Funktion Hooken <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="😉"
    /><br />
Und da schau ich dann immer mit OllyDBG nach!</p>
<p>Du weißt nicht warum VirtualProtect immernoch nicht funktioniert,oder?</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052025</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Sat, 06 May 2006 13:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 13:29:42 GMT]]></title><description><![CDATA[<p>Mach es doch zuerst mal mit Deinem eigenen Prozess und dann kannst Du schön debuggen und du kannst auch GetLastError auswerten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052034</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 06 May 2006 13:29:42 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Sat, 06 May 2006 16:17:28 GMT]]></title><description><![CDATA[<p>Ahh...GetLastError von VirtualProtect gibt mir</p>
<blockquote>
<p>487<br />
ERROR_INVALID_ADDRESS</p>
</blockquote>
<p>Loadlibrary und GetProcAddress funktionieren aber einwandfrei!<br />
Ich hab die zurückgegebene Adresse sogar nochmal mit Olly geprüft und es ist definitiv die von MessageBoxA!</p>
<p>Der Fehler muss also im ersten Parameter von VirtualProtect liegen!<br />
mbi.BaseAddress0 = 0x7777b000<br />
mbi.RegionSize = 4608000 !<br />
Ich kann leider keinen Fehler finden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
VirtualQuery funktioniert übrigens auch (laut Rückgabewert <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="😉"
    /> )<br />
oder ... hmmm ... daran könnte es doch liegen,aber da finde ich leider auch<br />
keinen Fehler!</p>
<p>Ich hab jetzt hier im Forum und in Google gesucht aber leider nichts gefunden<br />
warum VirtualProtect ERROR_INVALID_ADDRESS zurückgibt ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich hoffe du kannst mir helfen und das deine Nerven nicht an mir ... verrecken <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>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052138</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Sat, 06 May 2006 16:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Mon, 08 May 2006 14:48:59 GMT]]></title><description><![CDATA[<p>*push*<br />
Will mir keiner helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053471</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Mon, 08 May 2006 14:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Mon, 08 May 2006 15:45:30 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Mach es doch zuerst mal mit Deinem eigenen Prozess</p>
</blockquote>
<p>Hast du das mal gemacht? Wenn das dann klappt weisst du wenigstens schon mal daß es irgendwas mit dem anderen Prozeß zu tun hat und nicht ein grundsätzliches Problem in deinem Code ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053529</guid><dc:creator><![CDATA[WebNubbi]]></dc:creator><pubDate>Mon, 08 May 2006 15:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Mon, 08 May 2006 18:08:21 GMT]]></title><description><![CDATA[<p>Ja,das hab ich schon ,ich hab quasi meine eigene Funktion gehookt!<br />
Hat auch gefunzt,nur VirtualProtect...will nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053662</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Mon, 08 May 2006 18:08:21 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Mon, 08 May 2006 18:44:44 GMT]]></title><description><![CDATA[<p>Xalon_ schrieb:</p>
<blockquote>
<p>Ja,das hab ich schon ,ich hab quasi meine eigene Funktion gehookt!<br />
Hat auch gefunzt,nur VirtualProtect...will nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Ja was jetzt? Hat´s lokal gefunzt oder nicht?<br />
Was für ein OS?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053694</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 08 May 2006 18:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Mon, 08 May 2006 19:15:13 GMT]]></title><description><![CDATA[<p>Ja Lokal hats unter WinXP geklappt!<br />
Drum mein ich ja das mich (hoffentlich) nur noch VirtualProtect hindert!</p>
<p>Xalon</p>
<p>P.S:Das war auch nicht lokal...Ich hab mit OpenProcess und Write/Readprocessmemory gepatcht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053710</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Mon, 08 May 2006 19:15:13 GMT</pubDate></item><item><title><![CDATA[Reply to Api-Hooking -- Schreibt keinen Code in die Funktion (Es gibt keine Fehlermeldung ) on Tue, 09 May 2006 09:41:01 GMT]]></title><description><![CDATA[<p>PS: Warum verwendest Du nicht was fertiges?<br />
<a href="http://research.microsoft.com/sn/detours/" rel="nofollow">http://research.microsoft.com/sn/detours/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053975</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 09 May 2006 09:41:01 GMT</pubDate></item></channel></rss>