首页
社区
课程
招聘
[原创]发一个我自己写的反汇编器的源代码。
2006-7-28 09:52 9624

[原创]发一个我自己写的反汇编器的源代码。

2006-7-28 09:52
9624
这是我自己编写的一个反汇编器的源代码,在vs2003下调试通过。
源代码分为三个部分,界面部分参考了以前看雪学院发布的一个开源项目carvingdbg;反汇编引擎参考了一个叫pvdasm的反汇编器的代码;pe文件的处理部分使用了《加密与解密 第二版》中的一些函数。

本来写这个东西是想作为我们学校的创新实验交上去的,没想到我们老师说“这个太简单啦,做这个有什么创新?”。我也不清楚,为什么别人到网上下载个卖花、卖书的小Demo,10行代码都不用写都能获优,我自己写了近8000行代码得到的评价是“太简单,没创新”。上大学,难啊!

现在我贴出我写的代码,为我的一次尝试划一个句号。同时,也请看雪学院的各位大哥多多批评,谢谢。

代码还没有写完,还有很多bug(貌似还有内存泄漏),但最近学校里面的事太烦了,我似乎已经没有精力继续了,只好先放一放了。也希望看雪学院的各位大哥能为我将来继续改进它多提意见,谢谢了。

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

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (14)
雪    币: 237
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JiYangTX 2006-7-28 10:11
2
0
,支持hefei2一个!俺对你佩服,在大学就能搞这么个东东,偶在大学的时候虾米都没干。
至于老师,呵呵,不用理他,以后随便找个虾米东东的管理系统去忽悠他,保证也能得优。不过什么都是一种心态,如果你觉得没必要去计较优不优的话,大可以不理他,我行我素。技术才是硬道理!
再次支持hefei2,顺便坐个沙发
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
非安全 17 2006-7-28 16:01
3
0
支持一下,遗憾的是我不懂C

那位看明白了,能说下楼主是怎样把字节转换为助记词?
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gkend 2006-7-28 17:35
4
0
我认为你的老师做得对。
反汇编程序的核心是反汇编引擎,而你却是用别人的反汇编引擎,当然不能算你的原创。你只写个界面的确没什么深度和难度。如果核心反汇编引擎是你写的而其他是抄别人的,那么我倒认为你掌握了反汇编的精髓,老师的评价也自然会高些!
雪    币: 223
能力值: (RANK:130 )
在线值:
发帖
回帖
粉丝
hefei2 3 2006-7-28 21:11
5
0

那位看明白了,能说下楼主是怎样把字节转换为助记词?


这个一两句话也说不清楚,有本书详细的讲了怎么反汇编,叫“ArtOfDisassembly”,可以到网上找一下。

还有在http://www.luocong.com/ 这个网站上也有,还是中文的,但是没有写完,有点可惜。
雪    币: 223
能力值: (RANK:130 )
在线值:
发帖
回帖
粉丝
hefei2 3 2006-7-28 21:42
6
0

我认为你的老师做得对。
反汇编程序的核心是反汇编引擎,而你却是用别人的反汇编引擎,当然不能算你的原创。你只写个界面的确没什么深度和难度。如果核心反汇编引擎是你写的而其他是抄别人的,那么我倒认为你掌握了反汇编的精髓,老师的评价也自然会高些!


如果说“创新”倒是真没有,不过“参考”似乎和“用别人的反汇编引擎”还是有区别的。不知道现在pvdasm发展的怎么样了,但我手上的这个版本就连编译都还通不过,我还是做了许多工作才让它工作起来的。这里算是一点点辩解,呵呵。

说到这里呢,想插一句。网上能找到的反汇编引擎源代码很多(Ollydbg就是一个),之所以选择以pvdasm的样子来写,是因为感觉它的结构比较好,更容易掌握。而且在比较了几个反汇编引擎的源代码之后,在自己亲手实现了一部分代码之后,真的感觉到似乎所谓的反汇编引擎的“精髓”大概就是“查表法”吧。只是指令太多了,写起来很烦人,但是并不困难。真的是应验了某高手的一句话“写反汇编引擎纯属体力活!”。呵呵。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gkend 2006-7-28 22:00
7
0
呵呵,我以前就看过并研究过pvdasm的C代码,发现你的同pvdasm大同小异,作为一个学过C语言的,稍微变通一下不难,总不能说你修改了一下能编译通过就算你写的了?那么我说你用别人的反汇编引擎不算为过吧?Pvdasm的后续版本早就已经完善。不至于你有新的不用还用一个老的?
我也觉得拿来的确很好很快,但要拿得聪明,应该变成小同大异!
雪    币: 223
能力值: (RANK:130 )
在线值:
发帖
回帖
粉丝
hefei2 3 2006-7-28 23:40
8
0
好吧好吧,停止口水战吧,我还是接受你的批评的。
一开始我也就没敢说这就是我独创的,我所做的所有工作也都是在别人工作的基础上借鉴、修改、拼凑起来的,确实没有什么创新可言,这也就是为什么我都注明了三个部分的出处――我并不希望通过这个获得什么,我前面也说过了,把它发到这里只是作为我自己尝试的一个总结。
至于那段“牢骚”嘛,其实我早就在为我的创新实验在写其他东西了,这也就是为什么我可以把这个反汇编器发到这里,只是觉得很恼火,大多数人都是下载一个来交了就过了,为什么我的就要重写?我觉得我起码是做了一些工作的啊。发泄一下罢了。
雪    币: 1946
活跃值: (238)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
Bughoho 8 2006-7-29 04:41
9
0
好东西!!!
雪    币: 415
活跃值: (34)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
笨奔 1 2006-7-29 17:40
10
0
支持楼主,垃圾老师
雪    币: 827
活跃值: (242)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YIJUN 2006-7-29 20:11
11
0
支持哦~~~~~~~~~~~
雪    币: 185
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Wispy 2006-7-30 12:27
12
0
支持!!!!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kaurohy 2006-7-30 17:54
13
0
I like it, thanks!
雪    币: 208
活跃值: (371)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
moodsky 8 2006-7-31 09:54
14
0
雪    币: 216
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
骷髅x 1 2006-8-3 08:19
15
0
也支持下楼主,我也想写一个.
游客
登录 | 注册 方可回帖
返回