首页
社区
课程
招聘
[已解决] [原创]这个偏移量是怎么计算的,那位大神可以指点一下? 50.00雪花
发表于: 2020-12-23 18:10 3351

[已解决] [原创]这个偏移量是怎么计算的,那位大神可以指点一下? 50.00雪花

2020-12-23 18:10
3351

怎么根据【图1】中的值计算出实际的偏移量,要有c#的代码案例.


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-25 22:11 被开心的马甲编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (34)
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
2
RVA跟普通的PE计算方法一样,2084-2000+200应该是284,这里290是代码真正执行地址,284-290是用来初始化参数和初始化堆栈用的
2020-12-24 11:07
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
是的,290这个是代码的真正执行地址,这个有办法计算出来吗?
2020-12-24 18:59
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
ookkaa RVA跟普通的PE计算方法一样,2084-2000+200应该是284,这里290是代码真正执行地址,284-290是用来初始化参数和初始化堆栈用的
您说的对,290确实是代码的真正执行地址,这个有办法计算出来吗?
2020-12-24 19:01
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
按照您的说法,我把284+4刚好=290,我用下一个方法用同样的方式,但是行不通,使用我们的计算方法与CFF explorer显示的结果不一致.
2020-12-24 19:09
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6

.

最后于 2020-12-25 22:11 被开心的马甲编辑 ,原因:
2020-12-24 19:29
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
7
开心的马甲 按照您的说法,我把284+4刚好=290,我用下一个方法用同样的方式,但是行不通,使用我们的计算方法与CFF explorer显示的结果不一致.
最开始的那几个字节应该是一个结构吧,12个字节,关于method长度 token什么的记录。 你2084那个计算出来了没
2020-12-24 19:31
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
8
2B4h+12=2C0h 没什么问题好像
2020-12-24 19:37
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9

怎么我用的16进制加法计算器算的不一样呀?


最后于 2020-12-25 22:11 被开心的马甲编辑 ,原因:
2020-12-24 20:22
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
ookkaa 最开始的那几个字节应该是一个结构吧,12个字节,关于method长度 token什么的记录。 你2084那个计算出来了没
那个没有,不会算呀,只能求出rva地址,那个290弄不出来,不懂原理,大小是36个字节
2020-12-24 20:26
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
开心的马甲 那个没有,不会算呀,只能求出rva地址,那个290弄不出来,不懂原理,大小是36个字节
rva知道,文件偏移地址的大小也知道,就是文件偏移地址不知道
2020-12-24 20:28
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
12
开心的马甲 rva知道,文件偏移地址的大小也知道,就是文件偏移地址不知道[em_15]
12是十进制的啊,你那样输不都16进制了吗
2020-12-24 20:30
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
13
ookkaa 12是十进制的啊,你那样输不都16进制了吗
你加法用windows自带的计算器不就行了,这你也要用网页上的
2020-12-24 20:32
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
ookkaa 你加法用windows自带的计算器不就行了,这你也要用网页上的
嗯,对的,按你说的方法是对的,但是这个12是怎么算出来的?这个是关键
2020-12-24 20:34
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
ookkaa 你加法用windows自带的计算器不就行了,这你也要用网页上的


最后于 2020-12-25 22:11 被开心的马甲编辑 ,原因:
2020-12-24 21:09
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
16
 public IMAGE_COR_ILMETHOD_FAT = packed record

   Flags_Size: Word;

   MaxStack: Word;

   CodeSize: DWORD; 

   LocalVarSigTok: TJclClrToken;
end;


public IMAGE_COR_ILMETHOD_TINY = packed record

   Flags_CodeSize: Byte;
end;

你给的图对应的是第一种方法头结构,方法头后面就是方法体,就是可执行代码
2020-12-24 21:41
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
ookkaa public IMAGE_COR_ILMETHOD_FAT = packed record Flags_Size: Word; MaxStack: Word; C ...
嗯嗯,是的,那也就是说必须要把这个exe解析一遍,才能得到这个exe里的所有方法体.但那种太复杂了,还不具备那种能力,所以才想能不能简单点的,根据rva或其他简便的公式.算出文件方法的偏移地址.
2020-12-24 22:25
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
18
开心的马甲 嗯嗯,是的,那也就是说必须要把这个exe解析一遍,才能得到这个exe里的所有方法体.但那种太复杂了,还不具备那种能力,所以才想能不能简单点的,根据rva或其他简便的公式.算出文件方法的偏移地址.
不是有数据目录表吗,然后找Meta Directory 一步步来不就行了么
2020-12-24 22:31
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
ookkaa 不是有数据目录表吗,然后找Meta Directory 一步步来不就行了么
看来遇到救星了,您看能不能辛苦您帮我弄个C#的案例或C++的dll接口供我调用也可以,价格可以再追加,我看了一段时间关于解析exe结构的,现在还没有到您说的那个地步,您说的那种对于还是有一定的难度的,所以您看能不能辛苦您一下.
2020-12-24 22:41
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
或者您看多少钱能做,您私信给我,我再发悬赏
2020-12-24 22:42
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
21
开心的马甲 或者您看多少钱能做,您私信给我,我再发悬赏
我是吹b型选手啊
2020-12-24 22:45
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
ookkaa 我是吹b型选手啊[em_14]
您太客气了,帮忙忙想想办法呗,酬劳可多些
2020-12-24 22:49
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
23
开心的马甲 您太客气了,帮忙忙想想办法呗,酬劳可多些[em_67]
我最近几天要搞考试,不急的话可以搞下,不过我水平一般
2020-12-24 23:09
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
ookkaa 我最近几天要搞考试,不急的话可以搞下,不过我水平一般
不着急,不着急,您报个价
2020-12-24 23:15
0
雪    币: 246
活跃值: (4427)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
25
开心的马甲 不着急,不着急,您报个价
这个后面再说
2020-12-24 23:17
0
游客
登录 | 注册 方可回帖
返回
//