社区
C#
帖子详情
进程字符串替换
cbbcard
2009-05-23 12:07:29
查找另一个进程里的字符串并修改之,同长度,搞了几天没搞出来,请各位帮帮忙!
...全文
228
23
打赏
收藏
进程字符串替换
查找另一个进程里的字符串并修改之,同长度,搞了几天没搞出来,请各位帮帮忙!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
济南大飞哥
2009-06-02
打赏
举报
回复
进程,线程怎么就那么难啊?
wngmngchng
2009-06-01
打赏
举报
回复
我也遇到同样的问题,顶一下。
光宇广贞
2009-05-30
打赏
举报
回复
进程间通信吧。
让对方来做处理。
迈克揉索芙特
2009-05-29
打赏
举报
回复
[Quote=引用 18 楼 jingzhongrong 的回复:]
通过一些特征查找字符串的位置,比如前后一些不变的字节或者通过某个函数来定位等等方法。
得到字符串位置后,使用WriteProcessMemory写入就可以了,某些进程可能需要提升权限。
[/Quote]
up
注意杀毒软件拦截对这个行为的拦截
cbbcard
2009-05-28
打赏
举报
回复
进一步研究中~
jingzhongrong
2009-05-28
打赏
举报
回复
通过一些特征查找字符串的位置,比如前后一些不变的字节或者通过某个函数来定位等等方法。
得到字符串位置后,使用WriteProcessMemory写入就可以了,某些进程可能需要提升权限。
wuhongxj
2009-05-28
打赏
举报
回复
顶一下。
liyoubaidu
2009-05-24
打赏
举报
回复
[Quote=引用 10 楼 ChrisAK 的回复:]
引用 2 楼 andywongz 的回复:
有那么简单吗?
为了保护进程的稳定性,Windows的不同进程是不能互相访问对方的内存地址的。
所以提供了Read/Write ProcessMemory,只要你的进程有相应的权限,
是可以读取/写入其它进程的内存的.
引用 3 楼 cbbcard 的回复:
字符串的地址是不固定的,每次都要重新查找,能给个例么?谢谢
windows进程的用户内存分区地址空间起始位置是固定的,内存的分配也是有最
小分配粒度的.比如…
[/Quote]
up
阿牛138588
2009-05-24
打赏
举报
回复
把那个字符串放在通用域,成为全局变量,然后你的问题就变成简单的同步问题了.
为什么要直接修改内存?那样不是c#本意
CsToD
2009-05-23
打赏
举报
回复
如果目标进程是托管程序的话,会有一个拘留池来维护字符串,不过我不知道怎样读出拘留池里有哪些字符串。
等待ing......
ChrisAK
2009-05-23
打赏
举报
回复
[Quote=引用 2 楼 andywongz 的回复:]
有那么简单吗?
为了保护进程的稳定性,Windows的不同进程是不能互相访问对方的内存地址的。
[/Quote]所以提供了Read/Write ProcessMemory,只要你的进程有相应的权限,
是可以读取/写入其它进程的内存的.
[Quote=引用 3 楼 cbbcard 的回复:]
字符串的地址是不固定的,每次都要重新查找,能给个例么?谢谢
[/Quote]windows进程的用户内存分区地址空间起始位置是固定的,内存的分配也是有最
小分配粒度的.比如一般情况下你new了4字节的内存实际上是划了4k给你.知道这些写个遍
历不难的.
wuyq11
2009-05-23
打赏
举报
回复
进程间实现通讯,也可参考看看myqq
参考
SatSun
2009-05-23
打赏
举报
回复
=http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html?seed=366643674
cbbcard
2009-05-23
打赏
举报
回复
晕,和“金山游侠”有那么点类似,但不是想那方面,只是单纯的替换字字符串,谢谢
老龙友
2009-05-23
打赏
举报
回复
不就是想搞一个类似“金山游侠”这样的东东么
你误入歧途了。
cbbcard
2009-05-23
打赏
举报
回复
不懂就很难,想搞懂也很难,SOS
CsToD
2009-05-23
打赏
举报
回复
[Quote=引用 3 楼 cbbcard 的回复:]
字符串的地址是不固定的,每次都要重新查找,能给个例么?谢谢
[/Quote]
这是必然的吧。
cbbcard
2009-05-23
打赏
举报
回复
字符串的地址是不固定的,每次都要重新查找,能给个例么?谢谢
老龙友
2009-05-23
打赏
举报
回复
有那么简单吗?
为了保护进程的稳定性,Windows的不同进程是不能互相访问对方的内存地址的。
CsToD
2009-05-23
打赏
举报
回复
只要知道了字符串的内存地址,用WriteProcessMemory把新的字符串写进去就行了,有什么搞不定的?
(一般要用到Encoding.Default.GetBytes(str))
加载更多回复(3)
批量替换字符串的python实现
在多个文件中批量替换字符串。
linux 正则匹配字符串,shell脚本regex正则表达式 和
字符串替换
任意字符^行首匹配$行尾匹配^$表示空行,不含字符的行^ $匹配只有单个空格的行[0-9][a-zA-Z]^[A- Z]搜索以大写字母开头的行[^A-Z]匹配大写字母意外的任意字符*表示匹配0个或若干个字符,如:a*,表示匹配0个或若干个a; aa*表示匹配至少1个a.*来表示0或若干个任意字符e.e*表示匹配第一个e和最后一个e之间的任意字符[-0-9]匹配一 个连字符或数字[]a-z]匹配一个...
linux下替换超大文件中的字符串
linux下替换超大文件中的字符串 1.vim下替换 首先要打开文件 vim 文件名 然后在vim的末行模式(也就是打开后接着输入冒号)下替换。 (1)替换当前光标所在的行 :s/替换前(old)/替换后(new)/gc **g:**替换当前行所有的old,不加g只替换第一个old; c:替换的时候添加提示信息 (2)替换一个范围行 :x,ys/替换前(old)/替换后(new)/gc 注意:x<y,不然会报错。x,y是行号。 (3)替换当前文档的所有行 :%s/替换前(old)/替换后(new
linux 变量(字符串的删除和替换:// 和 /)
linux 变量(字符串的删除和替换:// 和 /)
Python基础知识(字符串的常用操作_字符串的劈分、字符串的常用操作_字符串判断的相关方法、字符串的常用操作_替换与合并、字符串的比较操作)
78.字符串的常用操作_字符串的劈分 字符串的劈分功能: split():从字符串的左边开始劈分,默认的劈分字符串是空格字符串,返回的值都是一个列表 以通过参数sep指定劈分字符串是劈分符 通过参数maxsplit指定劈分字符串时的最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分 rsplit():从字符串的右边开始劈分,默认的劈分字符串是空格字符串,返回的值是一个列表 以通过参数sep指定劈分字符串劈分符 通过参数maxsplit指定劈分字符串时的最大劈分次数,在经过最大次劈分
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章