首页
社区
课程
招聘
我想找一些关于内存映像校验方面的资料
发表于: 2004-5-1 13:30 11321

我想找一些关于内存映像校验方面的资料

2004-5-1 13:30
11321
收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 329
活跃值: (343)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
写一个LOADER之类辅助程序,直接用ReadProcessMemory读取目标进程的内存,做你需要的效验,如果CRC32,MD5等。应该不难呀...
2004-5-1 13:35
0
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是碰到一个软件,该程序运行后,只要我一修改该程序(内存里)就会被发现,我对程序的某个地方下断,BPM XXXXXXXX 总是断不下来,我想如果用的是ReadProcessMemory读内存,那应该是能断下来的吧?是不是还有其它什么方法的?
2004-5-1 13:42
0
雪    币: 329
活跃值: (343)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
4
你所谓的“被发现”是指弹出对话框之类的提示码?有这样的提示很用以搞,修改后直接运行,弹出对话框后用OD来ATTACH它,中断后CTRL+F9返回,然后切换回去关闭对话框,被OD中断回来,CTRL+F9直到返回目标进程,上面一句就是显示对话框的CALL,然后向上找跳转,一般来说,效验的地方就在那里。去掉效验代码就可以了。
2004-5-1 13:45
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
5
bpm 401000看看:D
2004-5-1 13:50
0
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
被发现就自动退出,没有任何提示信息,另外,只是代码段内存部分改不得,其它可以随便改。。。
2004-5-1 13:55
0
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 forgot 发布
bpm 401000看看:D


这个怎么说?
2004-5-1 13:55
0
雪    币: 329
活跃值: (343)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
8
最初由 Leaders 发布
被发现就自动退出,没有任何提示信息,另外,只是代码段内存部分改不得,其它可以随便改。。。


bpx ExitProcess
向上找...:p
2004-5-1 13:59
0
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 doskey 发布


bpx ExitProcess
向上找...:p


跟ExitProcess我也试过,可是我用的是SOFTICE,对ExitProcess下断,改代码后,断下来,领空在NTDLL里,再跳出,然后程序就已经退出了,我跟不了。
DOSKEY教教我该怎么跟?

另外我不想跟ExitProcess,有点烦,我想知道一下有什么方法可以较验内存映象的,我想从这里入手可能会容易一点?
2004-5-1 14:17
0
雪    币: 166
活跃值: (112)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
一般内存镜像校验重要用到几个函数
1.createfilea打开需要校验的文件
2.createfilemapping,mapviewoffile创建内存镜像
3.退出用unmapviewoffilemapping

你说只有修改代码段会导致退出,我想除了上面的方法,我还能这样实现
1.对内存镜像代码锁定
2.实现SEH,在内存代码被修改时发生内存读写错误,被seh捕获而退出
2004-5-1 16:35
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
11
一般校验都是text段,这个段一般在401000,易语言的一个暗桩就是:D
2004-5-1 16:37
0
雪    币: 258
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 小楼 发布
一般内存镜像校验重要用到几个函数
1.createfilea打开需要校验的文件
2.createfilemapping,mapviewoffile创建内存镜像
3.退出用unmapviewoffilemapping

你说只有修改代码段会导致退出,我想除了上面的方法,我还能这样实现
1.对内存镜像代码锁定
2.实现SEH,在内存代码被修改时发生内存读写错误,被seh捕获而退出


谢谢,但是在反编译该主程序时,以上的函数除了createfilea外,其它均未发现,在程序里设断也没有反应。

另外,我后来试过,也不是说不能“改”,是不能改成别的,我就用SOFTICE的“E”命令改,比如原来代码是“75”的,我重写一遍“75”的话,是没有问题,但改成别的就不行,真不知是用的什么方法。。。

上面提到的SEH,是不是那个结构化异常处理?SEH可以用来监视内存中的程序代码吗?这个我该怎样进行跟踪?是跟NTDLL的KiUserExceptionDispatcher吗?
2004-5-1 20:20
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
13
程序没有必要用createfile吧。直接可以访问自己的空间计算Checksum...
2004-5-1 20:34
0
游客
登录 | 注册 方可回帖
返回
//