能力值:
( LV2,RANK:10 )
|
-
-
51 楼
不好意思,虽然这是很早的文章,但是kanxue兄建议我的问题还是在这个帖里继续讨论,我只好再叨扰各位了。
本来这个问题很基础,很简单,不应该去骚扰kanxue兄的,可是资质太差,就是不理解,转不过弯来。本文中的PE格式介绍,文字的还行,一旦用编程说明我就晕了。
我的问题是关于简单移动输出表位置,我下面说的都是我的理解,肯定是有问题的,但我不知道在哪,希望大家帮忙分析。
这个图是一个dll文件LordPE截图. 可以看到输出表的位置是0011600,大小是4A,那么假设我想把输出表移动到11700的话,是不是仅仅把这里改掉,然后把内容复制过去就可以了呢? 那些AddressofFunctions,AddressofNames等等的地址需要改动么? 那个函数ToDo的地址需要改么?ToDo这个名称如果更改,十六进制里面对应的ToDo要不要改呢?6660这个RAV要怎么改。
这是手工操作,我是对照着位置复制的,就是输出表位置改到11700,然后把Addressof的那些地址相应改动到新位置的地址,最后结果,dll功能失效了。 然后,我尝试另一种操作,就是用kanxue的PeMove直接移动输出表,我的理解是,在PeMove里面输入原File offset 11600,输入重定位的地址11700,那么输出表就应该从11600移动到11700,结果却不是。
我对比了一下前后文件的不同,发现PeMove移动的不是11600的东西,却是15000位置的内容。所以我这里又不是很理解了,见下图。
图是点击LordPE的 H 按钮,也就是十六进制出来的,描黑部分是自动选中的,我想请问,这部分是不是全部的输出表? 大小正是4A. 如果是,为啥PeMove不是移动的这里呢。 关键是,PeMove移动后的文件也是失去功能了,不知道是不是我操作的问题。
我可能说的很繁琐,也可能没说道点子上,不过这就是我不理解的地方,底子差,很多东西看不懂,只能从笨处下手了。
谢谢楼主和kanxue,谢谢各位。
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
拜托大家看一看啊,对高手简单,对新手可是很关键哦~~
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
有些复杂,等水平再高一点了或者需要的时候再来瞧吧.
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
谢谢了!非常感谢!厉害,厉害!
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
看了头痛啊.................................
|
能力值:
( LV2,RANK:10 )
|
-
-
56 楼
太厉害了真要好好学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
谢谢学习中阿
|
能力值:
( LV2,RANK:10 )
|
-
-
58 楼
好难学啊。。
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
还没有入门呢,困惑
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
不太懂,我得努力了,谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
入门材料,难得!
|
能力值:
( LV4,RANK:50 )
|
-
-
62 楼
于是为了找到一个特殊的RVA指向的信息,你必须计算偏移量好象文件被加载一样。假如知道执行起点在RVA 0x1560, 想从这反汇编代码。要找到文件内的地址,你必须找出在RAM内的按照4096对齐的节,".code"节自内存RVA 0x1000开始,16384字节长,你知道RVA 0x1560的偏移量在那个节内是0x560.找出节在文件内按照512字节对齐,且".code"从0x800开始,那么在文件内的代码执行起点是0x800+0x560=0xd60。
然后反汇编,并发现一个存取地址0x1051d0处的变量.线性地址在加载执行文件时重新分配,并给出优先加载地址。你发现优先加载地址是0x100000,于是我们处理RVA 0x51d0. 这是一个开始于RVA 0x5000的数据区,2048字节长。它开始于文件偏移量0x4800.变量可以在文件偏移量0x4800+0x51d0-0x5000=0x49d0处发现.......
支持支持+谢谢谢谢翻译!
不过,LZ可以吧原文发出来或者给个链接吗?比如上面那段..用汉语直接看好难理解,我翻译成E文才看懂...
|
能力值:
( LV2,RANK:10 )
|
-
-
63 楼
好文章,支持一下
|
能力值:
( LV2,RANK:10 )
|
-
-
64 楼
太深奥了,收藏,谢谢分享
|
能力值:
( LV2,RANK:10 )
|
-
-
65 楼
这是写给初学者看的吗?
|
能力值:
( LV12,RANK:210 )
|
-
-
66 楼
你好,有个问题请教就是pe文件的code区段里不是有个实偏移和实大小吗?这个值该如何修改??
|
能力值:
( LV3,RANK:20 )
|
-
-
67 楼
辛苦辛苦,真是太感谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
68 楼
收藏!!!谢谢!!
|
能力值:
( LV2,RANK:10 )
|
-
-
69 楼
好文,收藏了
|
能力值:
( LV2,RANK:10 )
|
-
-
70 楼
收了,收了,有的学了
|
能力值:
( LV2,RANK:10 )
|
-
-
71 楼
[QUOTE=;]...[/QUOTE]
谢谢分享,收藏了
|
能力值:
( LV2,RANK:10 )
|
-
-
72 楼
楼主强悍。。。支持
|
能力值:
( LV2,RANK:10 )
|
-
-
73 楼
比较详细,值得收藏!
|
能力值:
( LV2,RANK:10 )
|
-
-
74 楼
顶了再看。。
|
能力值:
( LV2,RANK:10 )
|
-
-
75 楼
类似的文章我都读了好几篇了 到现在还是所知甚少
|
|
|