注入託管DLL寫入內存錯誤?

问题描述

各位大大好,小弟最近剛好試到讀寫程序的記憶體,就是使用A程序去讀寫B程序,然後暫以踩地雷當作B程序我用了三個方法(1)引入可以寫入Assembly的DLL,然後寫入匯編(2)用了WriteProcessMemory,ReadProcessMomery(3)注入了非託管DLL在目標進程啟動CLR,再加載託管的DLL(C#編寫的,帶有form),然後在DLL的程序中直接用指針讀寫問題出在(3)讀取記憶體沒問題---------------------------------------------------------------int*vaule=(int*)Int32.Parse(textBox_ReadAddress.Text,System.Globalization.NumberStyles.HexNumber);textBox_Value.Text=(*vaule).ToString();---------------------------------------------------------------讀值沒問題↑但是我要寫入就會發生DLL的窗口直接跳掉,但是B程序(踩地雷)安然無恙,以下是程式碼,用for迴圈一次寫入一個byte---------------------------------------------------------------byte[]bytes=textBox_WritedValue.Text.Split().Select(s=>Convert.ToByte(s,16)).ToArray();for(inti=0;i<bytes.Length;i++){unsafe{//這邊把地址給到valuebyte*value=(byte*)(Int32.Parse(textBox_WriteAddress.Text,System.Globalization.NumberStyles.HexNumber)+i);//寫入值*value=bytes[i];}}---------------------------------------------------------------然後我也用嘗試用了Marshal.Copy---------------------------------------------------------------Marshal.Copy(bytes,0,(IntPtr)Int32.Parse(textBox_WriteAddress.Text,System.Globalization.NumberStyles.HexNumber),bytes.Length);---------------------------------------------------------------還是都會有一樣的問題,DLL窗口直接消失,不知道為什麼可以讀值,但是卻不能寫入,可以請教是哪邊出了錯嗎?謝謝拜託各位幫忙一下~

解决方案

本帖最后由 a870162000 于 2014-09-14 11:05:33 编辑

时间: 2024-09-20 18:06:57

注入託管DLL寫入內存錯誤?的相关文章

[JSP/Servlet入門]JSP錯誤處理

js|servlet 剛開始撰寫JSP時,總是會被JSP的除錯訊息所困擾,如果沒有稍微瞭解JSP與Servlet之間運作關係的初學者,所看到的只是一堆除錯訊息,甚至例外發生的訊息,這些訊息雖然包括詳細的錯誤訊息,但對於初學者而言卻是不友善.不易閱讀理解的.基本上,只要瞭解JSP與Servlet之間的運作關係,並瞭解Java編譯訊息與例外處理,要瞭解在撰寫JSP網頁時,因錯誤而產生的錯誤報告頁面就不是件難事. 我們知道JSP終究會轉換為Servlet,而運行時真正動作的是Servlet類,所以錯誤

vb2005 picturebox 寫入access

问题描述 我想1)按了button2)在window檔案選取圖片3)顯示在picturebox4)將圖片寫入access資料庫5)將access資料庫的圖片讀回picturebox 解决方案 解决方案二:没看明白"5)將access資料庫的圖片讀回picturebox"这个操作怎么??解决方案三:謝謝你~~kongweibin我想將4)picturebox的圖片寫入MicrosoftAccess資料庫,5)再將MicrosoftAccess資料庫的圖片讀取入Picturebox這都是在

如何能顯示當前服務器的內存使用量

问题描述 怎麼樣才可以得到當前服務器的內存使用量與其它資源的使用率?例如:我的服務器總內存是2G,現在使用了1.5G,怎麼得到這1.5G的信息呢? 解决方案 解决方案二:?解决方案三:環境是C#可以嗎?解决方案四:Label1.Text="内存使用:"+(GC.GetTotalMemory(false)/1024).ToString("#,#")+"KB";我用這樣的語句正確嗎?除1024這個正確嗎?解决方案五: 解决方案六:想要的是顯示遠程服務

异常-无法在 DLL“advapi32.dll”中 入口点。

问题描述 无法在 DLL"advapi32.dll"中 入口点. 无法在 DLL"advapi32.dll"中找到名为"EventSetInformation"的入口点. 在安装完vs2015之后 在用2010编译项目时,一旦有数据库调用的情况(考虑是"mscorlib"这里有问题)就会产生 "无法在 DLL"advapi32.dll"中找到名为"EventSetInformation&

Csharp 讀寫文件內容搜索自動彈出 AutoCompleteMode

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace WindowsFormsStyle { public partial clas

如何更改虚拟內存

  适用范围及演示工具 适用范围:WIN XP/2003/WIN7/WIN8各版本 演示系统:XP专业版/WIN7旗舰版/WIN8专业版 XP/2003系统虚拟内存怎么设置 因为XP和WIN2003界面类似,所以就以2003系统界面为例,其实操作步骤及图解完全一样. 第1步:单击开始菜单中的运行,在打开的运行窗口中键入[desk.cpl]并确定打开[显示属性]窗口. 注:还可以直接直接在控制面板或直接在桌面我的电脑图标上右键属性打开,更多打开方法参考 显示属性打开方法. 第2步:在打开的[系统属

輸入錯誤網址,彈出錯誤頁面

问题描述 如http://tw.yahoo.com/aaaaaaaa彈出錯誤頁面這功能怎做 解决方案 解决方案二:customErrors是怎樣用解决方案三:更改IIS的404错误配置解决方案四:引用1楼kkwai的回复: customErrors是怎樣用 定义一个错误的页面在WEBCONFIG里面customErrors=TRUE.指定到你这个页面解决方案五:www.ABC/abc.aspx能出customErrors但www.ABC/abc或www.ABC/abc.html便不能出custo

Asp.net web api 开发遇到的一个问题

问题描述 我定义了一个这样的API方法:publicHttpResponseMessageGetProductMsg(intid)参数类型是int,这时候我去访问这个API:http://localhost:5543/api/Product/GetProductMsg?id=1这样访问是正常的,当我传入参数不是int型时:http://localhost:5543/api/Product/GetProductMsg?id=fff就会报一大串的异常,一般这种异常是不能呈现给用户的.问题:我该如何做

onclick: onclick="click()" 出错道理

想实现点击按钮,table1显示,table2隐藏,可是出现了问题 onclick似乎没有执行..... 现在已经改过来了,如下正确: <html> <head> <script language="javascript" type="text/javascript"> function dic() {     document.getElementById('table1').style.display = "bloc