逗苍天 发表于 2022-12-25 18:49

系统领空返回到程序领空求助

问题描述:我想把堆栈地址0018E4B2, (UNICODE "C:\Users\Administrator\AppData\Roaming")edx=00AA017C进行修改,但是修改后不能保存,考虑在系统领空,接下来我该怎么做,才能返回到程序领空,谢谢!
自我分析:
问题配图 :



病毒查杀截图或链接:

下载链接:



boot 发表于 2022-12-25 19:50

JMP Address_1;跳到空白地址
......;这里是被填充的数据
MOV DWORD PTR ,0x003A0043;根据偏移值进行赋值,这里是你想更改的值
......;恢复被填充的数据
PUSH Address_2;Address_2地址是Address_1之下的一行地址
RETN

;没带电脑,可能有错误……

haier8917 发表于 2022-12-25 20:20

那是堆栈区,堆栈区的数据本来就不能保存,鉴定完毕

逗苍天 发表于 2022-12-25 20:34

boot 发表于 2022-12-25 19:50
JMP Address_1;跳到空白地址
......;这里是被填充的数据
MOV DWORD PTR ,0x003A0043;根据偏移值进 ...

大概明白你的意思,找个空白地方写入数据,跳到写入的地方,然后再跳回去,可惜没找到空白地方

逗苍天 发表于 2022-12-25 20:35

haier8917 发表于 2022-12-25 20:20
那是堆栈区,堆栈区的数据本来就不能保存,鉴定完毕

问题要怎么解决?

boot 发表于 2022-12-25 20:44

逗苍天 发表于 2022-12-25 20:34
大概明白你的意思,找个空白地方写入数据,跳到写入的地方,然后再跳回去,可惜没找到空白地方 ...

Ctrl+B 搜索hex 000000000000000000000000……
然后对地址00717510进行JMP Address_1修改

boot 发表于 2022-12-25 20:46

逗苍天 发表于 2022-12-25 20:35
问题要怎么解决?

Ctrl+B 搜索hex值 000000……
对00717510进行JMP Address_1修改

三斤回锅肉 发表于 2022-12-25 21:01

大佬都告诉你了赶紧实操一下

逗苍天 发表于 2022-12-25 21:54

三斤回锅肉 发表于 2022-12-25 21:01
大佬都告诉你了赶紧实操一下

已经操作很多次了,软件运行报错,可能我修改的地方不对

boot 发表于 2022-12-25 22:13

逗苍天 发表于 2022-12-25 21:54
已经操作很多次了,软件运行报错,可能我修改的地方不对

尝试加个判断,
cmp 寄存器, 或者其他条件
je 满足条件则……
页: [1] 2 3
查看完整版本: 系统领空返回到程序领空求助