首页
社区
课程
招聘
[已解决] 模拟cff解析.net pe文件 500.00雪花
发表于: 2020-12-25 00:01 2620

[已解决] 模拟cff解析.net pe文件 500.00雪花

2020-12-25 00:01
2620

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

 



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

最后于 2020-12-25 22:14 被开心的马甲编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 7072
活跃值: (4010)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
using dnlib.DotNet;

namespace test1
{
    class Program
    {
        static void Main(string[] args)
        {
            ModuleDefMD module = ModuleDefMD.Load("AppCallDll2.exe");
            string   i=module.MetaData.PEImage .ToFileOffset(module.EntryPoint.RVA ).ToString () ;
            foreach (var type in module.GetTypes())
            {
                foreach (var method in type.Methods)
                {
                    var os = module.MetaData.PEImage.ToFileOffset(method.RVA);
                    if (IsTiny(method ))
                        os = os + 1;
                    else
                        os = os + 12;
                }
            }
        }
        private static bool IsTiny(MethodDef mbd)
        {
            if (mbd.Body == null)
                return false;
            if (mbd.Body .MaxStack  > 8)
                return false;
            if (mbd.Body .Variables .Count > 0)
                return false;
            if (mbd.Body.ExceptionHandlers .Count > 0)
                return false;
            if (mbd.Body.Instructions .Count > 63)
                return false;
            return true;
        }

    }
}


最后于 2020-12-25 13:31 被chinarenjf编辑 ,原因:
上传的附件:
2020-12-25 12:50
0
雪    币: 7072
活跃值: (4010)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

添加dnlib引用,然后就可以了,看附件.

最后于 2020-12-25 12:53 被chinarenjf编辑 ,原因:
2020-12-25 12:51
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
wormfox  hex(0x00002068-0x2000+0x200)'0x268'



最后于 2020-12-26 00:31 被开心的马甲编辑 ,原因:
2020-12-25 21:37
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
wormfox  hex(0x00002068-0x2000+0x200)'0x268'
不好意思,引用错
2020-12-25 21:38
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
chinarenjf using dnlib.DotNet; namespace test1 {    &nbsp ...

不好意思让久等了,因为我白开比较忙,没时间看,实在抱歉哈,

最后于 2020-12-26 00:35 被开心的马甲编辑 ,原因:
2020-12-25 21:38
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
chinarenjf 添加dnlib引用,然后就可以了,看附件.
谢谢您的帮忙,帖子我先结给你,有时间的话,帮忙回我一下,初学者,多多关照....
2020-12-25 21:42
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
wormfox  hex(0x00002068-0x2000+0x200)'0x268'
这个方法在.net pe中好像不对,也可能是我们测试的问题,谢谢帮忙.
2020-12-25 21:45
0
雪    币: 7072
活跃值: (4010)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
开心的马甲 谢谢您的帮忙,帖子我先结给你,有时间的话,帮忙回我一下,初学者,多多关照....
ILHeader 分两种模式 Tiny的和 Fat的,Tiny的Header只有1字节,Fat的Header有12字节。
 Tiny 是指那些长度在 64 bytes 以内,没有 Local Variables,没有异常处理,没有附加数据段,MaxStackSize 不大于 8 
2020-12-25 23:13
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
chinarenjf ILHeader 分两种模式 Tiny的和 Fat的,Tiny的Header只有1字节,Fat的Header有12字节。 Tiny 是指那些长度在 64 bytes 以内,没有 Local Var ...
谢谢啦,早点休息
2020-12-26 00:31
0
游客
登录 | 注册 方可回帖
返回
//