pnccm 发表于 2015-1-27 10:58

求帮助。软件重启会改变虚拟地址,如何事先获取到他的基址

堆栈 ss:=02156090, (ASCII "你好易语言")

问题:这个地址:02156090 里面的值是编辑框里的文本,每次从新启动后这个02156090的地址都会改变,

也就是动态的。而他是随机改变前面0215这四个的值我理解为基址,后面的6090我的理解是偏移地址也是固定不变

的。问题来了。我想请教各位大神的是,前面的02150000这个动态的基址如何获取到。我的目的是想通过打

补丁在他启动程序赋值(你好易语言)这个文本到编辑框之前 先获取到他的动态基址然后再加上固定的偏

移地址6090 然后修改地址里面的值也就是文本。请问大神能否帮忙指点一下。实在是搞不明白如何获取,
只能来这里求帮助。

520Kelly 发表于 2015-1-27 10:58

100E14DD这里改成 Push xxx

xxx的值为你所需要修改的值,比如“你好易语言”

pnccm 发表于 2015-1-27 11:21

520Kelly 发表于 2015-1-27 11:15
100E14DD这里改成 Push xxx

xxx的值为你所需要修改的值,比如“你好易语言”

感谢大神率先恢复。我先试试看。

pnccm 发表于 2015-1-27 11:28

pnccm 发表于 2015-1-27 11:21
感谢大神率先恢复。我先试试看。

你的意思是先在一块空白的地址写入我事先设定好的值。然后再在100E14DD这个地方push 到我显示设定好的值
里吧?这个我倒是忘记了还有这个方法,先说声谢谢了。但大神能否说下如何获取02150000这个基址。这个有没有办法获取到,还是只能通过上面说的push这个方法

520Kelly 发表于 2015-1-27 11:31

pnccm 发表于 2015-1-27 11:28
你的意思是先在一块空白的地址写入我事先设定好的值。然后再在100E14DD这个地方push 到我显示设定好的值
...

如果是由外部程序获取的话好像不是很科学、据我所知应该是不行的、但是如果是通过汇编指令应该能拿到吧、都是理论、没有实践

pnccm 发表于 2015-1-27 11:33

520Kelly 发表于 2015-1-27 11:31
如果是由外部程序获取的话好像不是很科学、据我所知应该是不行的、但是如果是通过汇编指令应该能拿到吧、 ...

哦。感谢热心恢复。30cb奉上
页: [1]
查看完整版本: 求帮助。软件重启会改变虚拟地址,如何事先获取到他的基址