2012-10-07 81 views
0

我有一些C++注入難題。 我使用Win 7的64位,VS 2010C++注入問題

下面是完整的代碼,我試圖運行: http://pastebin.com/avKS3r22

我的問題:

  1. 線62

    dwSize = (DWORD)iCodeEnd - (DWORD)iCode; //subtract the function from the limiter to obtain the function's size 
    

    爲什麼dwSize等於4294966986(我認爲它是DWORD的最大值),當它應該是224或0xE0時,如果iCodeEnd是0x01151570並且iCode是0x01151490?是否有我需要爲我的項目設置的特定屬性(我創建了一個沒有Unicode的空win32項目)?

  2. 線92

    if(!(hRemoteThread = CreateRemoteThread(hProcess, NULL, 0, HREAD_START_ROUTINE)lpAddr, prmAddr, 0, NULL))) 
    

如果我manualy設定的dwSize到224,我得到一個 「無法創建遠程線程!」。我錯了dwSize的價值嗎?或者是別的什麼?請注意: 這是我的第一個C++應用程序(請提供更詳細的答案)。代碼不是我的,我只是重寫它來學習基礎知識。原始版本在我的平臺下工作正常。

+2

對於您的第一個C++應用程序,您選擇了200行傳統加載的mith宏?幫你一個忙:獲得一本C++書,並從'HelloWorld'開始。 – Beta

+0

我看過一些簡介視頻。我想我真的做了一個「Helloworld」,所以這實際上是我的第二個應用程序。這只是這個主題非常有趣,我知道其他語言,如C#,Python,PHP ...所以我想我會嘗試C++。 – Drug

+1

@Drug,完全同意Beta,你根本沒有用這個代碼學習C++,只是一些Windows API編程,這是完全不同的。 – john

回答

0
  1. 製作iCodeEnd和的iCode靜態使編譯器發生在內存中的一個 的功能層出不窮。這解決了dwSize恰到好處。
  2. 在win7從\ windows \ system32文件夾(如記事本)注入進程失敗並顯示「訪問被拒絕」錯誤(即使禁用了UAC)。