能力值:
( LV10,RANK:170 )
|
-
-
2 楼
写一个LOADER之类辅助程序,直接用ReadProcessMemory读取目标进程的内存,做你需要的效验,如果CRC32,MD5等。应该不难呀...
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我是碰到一个软件,该程序运行后,只要我一修改该程序(内存里)就会被发现,我对程序的某个地方下断,BPM XXXXXXXX 总是断不下来,我想如果用的是ReadProcessMemory读内存,那应该是能断下来的吧?是不是还有其它什么方法的?
|
能力值:
( LV10,RANK:170 )
|
-
-
4 楼
你所谓的“被发现”是指弹出对话框之类的提示码?有这样的提示很用以搞,修改后直接运行,弹出对话框后用OD来ATTACH它,中断后CTRL+F9返回,然后切换回去关闭对话框,被OD中断回来,CTRL+F9直到返回目标进程,上面一句就是显示对话框的CALL,然后向上找跳转,一般来说,效验的地方就在那里。去掉效验代码就可以了。
|
能力值:
(RANK:1060 )
|
-
-
5 楼
bpm 401000看看:D
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
被发现就自动退出,没有任何提示信息,另外,只是代码段内存部分改不得,其它可以随便改。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
最初由 forgot 发布 bpm 401000看看:D
这个怎么说?
|
能力值:
( LV10,RANK:170 )
|
-
-
8 楼
最初由 Leaders 发布 被发现就自动退出,没有任何提示信息,另外,只是代码段内存部分改不得,其它可以随便改。。。
bpx ExitProcess
向上找...:p
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
最初由 doskey 发布
bpx ExitProcess 向上找...:p
跟ExitProcess我也试过,可是我用的是SOFTICE,对ExitProcess下断,改代码后,断下来,领空在NTDLL里,再跳出,然后程序就已经退出了,我跟不了。
DOSKEY教教我该怎么跟?
另外我不想跟ExitProcess,有点烦,我想知道一下有什么方法可以较验内存映象的,我想从这里入手可能会容易一点?
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
一般内存镜像校验重要用到几个函数
1.createfilea打开需要校验的文件
2.createfilemapping,mapviewoffile创建内存镜像
3.退出用unmapviewoffilemapping
你说只有修改代码段会导致退出,我想除了上面的方法,我还能这样实现
1.对内存镜像代码锁定
2.实现SEH,在内存代码被修改时发生内存读写错误,被seh捕获而退出
|
能力值:
(RANK:1060 )
|
-
-
11 楼
一般校验都是text段,这个段一般在401000,易语言的一个暗桩就是:D
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
最初由 小楼 发布 一般内存镜像校验重要用到几个函数 1.createfilea打开需要校验的文件 2.createfilemapping,mapviewoffile创建内存镜像 3.退出用unmapviewoffilemapping
你说只有修改代码段会导致退出,我想除了上面的方法,我还能这样实现 1.对内存镜像代码锁定 2.实现SEH,在内存代码被修改时发生内存读写错误,被seh捕获而退出
谢谢,但是在反编译该主程序时,以上的函数除了createfilea外,其它均未发现,在程序里设断也没有反应。
另外,我后来试过,也不是说不能“改”,是不能改成别的,我就用SOFTICE的“E”命令改,比如原来代码是“75”的,我重写一遍“75”的话,是没有问题,但改成别的就不行,真不知是用的什么方法。。。
上面提到的SEH,是不是那个结构化异常处理?SEH可以用来监视内存中的程序代码吗?这个我该怎样进行跟踪?是跟NTDLL的KiUserExceptionDispatcher吗?
|
能力值:
(RANK:1060 )
|
-
-
13 楼
程序没有必要用createfile吧。直接可以访问自己的空间计算Checksum...
|
|
|