能力值:
( LV2,RANK:10 )
|
-
-
2 楼
004010DC 6A 00 PUSH 0
004010DE 6A 00 PUSH 0
004010E0 68 00380000 PUSH 3800
004010E5 8B95 E4FEFFFF MOV EDX,DWORD PTR SS:[EBP-11C]
004010EB 52 PUSH EDX
004010EC FF15 08504000 CALL DWORD PTR DS:[405008] ; kernel32.SetFilePointer
这应该与overlay.exe程序有关。如上,在004010E0处,File/Open读取的数据是从文件固定的偏移0x3800处取数据;而加了区块后,0x4800处才是要读取的数据。不对之处,请指教。
|
能力值:
( LV6,RANK:80 )
|
-
-
3 楼
谢谢您的回复,您的分析是正确的,这个程序就是《加密与解密第三版》中一个例子,我现在是想请教,这样的有附加数据的PE-EXE程序,增加区块后,怎样可以让其正确使用附加数据?除了直接修改3800h为4800h外,有没有什么其他比较好的方法?谢谢指教!
|
能力值:
(RANK:680 )
|
-
-
4 楼
非常简单的一个问题.
根据程序中附加数据的读取方式, 随即应变即可.
比如有的附加数据的读取方式是固定的位置, 就像你的这种情况, 固定从3800h处开始读.
而有的附加数据的读取方式是从文件尾开始向前定位, 比如以前的某些木马的配置信息.
对于后者, 我们原封不动移动附加数据在文件尾即可.
对于前者, 也就是你的情况, 你大可不去更改附加数据的位置, 而将区块数据放到附加数据之后即可(这需要设置一下PE头信息).
|
能力值:
( LV6,RANK:80 )
|
-
-
5 楼
非常感谢楼上的回答!
我还有两个问题请教:
1.我怎样能判断程序对附加数据的使用情况是前者还是后者?
2.对于前者,怎样修改PE头信息,能否说的具体一点?我是一个菜鸟!附加数据是否不应该装入到内存中的?我将区块直接加到附件数据后面,修改OEP后,产生异常,利用od调试,发现此OEP指向的是附加数据,这个问题应该怎样修改?
再次感谢指教!
|
|
|