首页
社区
课程
招聘
[求助]想写一个Ring3的调试器
发表于: 2020-7-22 19:06 3874

[求助]想写一个Ring3的调试器

2020-7-22 19:06
3874

大佬们,看完滴水三期的教程,最后一个大作业就是写一个调试器,3环的,写了1千多行代码发现有点写不下去了,白皮书的A-2表都还有两行没有翻译,所有带有指令前缀的现在都还没有翻译,感觉指令前缀让我有点无从下手,(当然我自己的程序模块化的太拉了),产生都很多重复的代码,现在情况就是指令前缀让我无法处理,当然不是写不出来,我为前面所有指令写了一个函数,只适用于没有前缀的。。。当加上一个67前缀,66前缀,该 DS ES SS端等前缀,我不可能每个前缀把所有的函数多加写一份单独处理,(如果这样做我都感觉自己傻逼了,除非非不得已了),没有写过大一点程序的经验,有点心有余而力不足的感觉,我想把这个作为毕设,求点前辈门指点点经验,我想过非每个函数多加几个参数,把有无前缀作为标记,有无前缀的参数在一个参数里处理,这样的化程序推倒重写不知道如何是好,一开始开发前就没有就是构思好忽略前缀,也想请大佬们给我们这种没有开发经验的萌新一点起始,拜托了。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 962
活跃值: (1681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
汇编反汇编这种体力活就不该造轮子....直接用库就好.........
2020-7-22 20:36
0
雪    币: 167
活跃值: (876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
想动手试一次
2020-7-22 21:13
0
雪    币: 817
活跃值: (2063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

    奉劝楼主趁早放弃,因为,一个真正有实力编写调试器的人从来不会把任何一点希望寄托在别人身上!

最后于 2020-7-22 23:31 被老伙计编辑 ,原因:
2020-7-22 23:01
0
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
我估计最后那个大作业就只有你在想办法写出来,然后交作业了,别人家孩子早玩去了
2020-7-23 04:11
0
雪    币: 1613
活跃值: (2827)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
我也写过调试器,但是反汇编用的现用库。楼主想通过这次项目理解编译原理,可以在Github多看一些反汇编的库,学习大佬的架构。
2020-7-23 09:36
1
雪    币: 167
活跃值: (876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好的多谢大佬们的指点
2020-7-23 09:49
0
雪    币: 9941
活跃值: (2143)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
这明明是要写一个反汇编引擎嘛,
2020-7-23 14:33
0
雪    币: 167
活跃值: (876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
VCKFC 这明明是要写一个反汇编引擎嘛,
是的呢
2020-7-23 20:52
0
雪    币: 9941
活跃值: (2143)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
我觉得你方向完全错了
滴水的作业是希望你写一个调试器,明白调试的原理
但反汇编引擎的侧重点是编译原理,跟调试原理基本不搭边了

打个比方,你是学建房子的,你现在认为这砖头质量不行,
开始研究如何烧砖去了

你现在要做的是先用已有的引擎把调试器写好.


2020-7-24 16:46
0
雪    币: 13
活跃值: (392)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
建议用x64dbg的源码二次开发
2020-7-31 19:04
1
游客
登录 | 注册 方可回帖
返回
//