none
ReadProcessMemory 的一些關念問題 RRS feed

  • 問題

  • 因為我們工廠在大陸的員工  不懂的燒錄程式後會有一個checksum  聽說教了也看不懂

    而那個燒錄軟體是廠商的  他不可能給我們程式碼   所以我想到用讀記憶體的方式去讀看看  能不能讀到該程式所顯示的checksum值

    我上網參考別人說明  經過下面步驟做到第四點

    (1) FindWindow;  '取得 Window Handle
    (2) GetWindowThreadProcessId;'利用Window Handle 取得Process ID
    (3) OpenProcess;'利用Process ID 取得Process Handle
    (4) ReadProcessMemory;'取得記憶體資料

    我現在搞不懂的是   它記憶體是怎麼去換算的

    h = ReadProcessMemory(Process_Handle, j, buffer, buffer.Length, bytesRead)

    '-------------------------------------------

    請問 j是指記憶體的位置嗎  他是指實體記憶體的位置(如你有2G的記憶體   J=0的話  它就是從你記憶體2G開始的0X0000000開始

    還是指這個被Process_Handle的記憶體位置(如我的Process_Handle是小算盤   它被分配在實體記憶體的位置(0X1000000)  那J=1的話  自然就變成0X1000001的位置了

    請問上面哪一個想法是正確的

    '-----------------------------------------------------------

    在來我要怎麼知道那個的程式有多大

    如我在讀取時  我根本不知道要讀出幾個BYTE出來

     

     

    2010年9月2日 上午 07:10

解答

所有回覆