首页
社区
课程
招聘
关于写反汇编器的一些废话
发表于: 2005-4-21 01:39 11842

关于写反汇编器的一些废话

2005-4-21 01:39
11842
首先一定要明确3点:

1、写反汇编器纯粹就是一个体力活,没有心理准备&充足的时间,不要玩。

2、写反汇编器的难度远远比不上写一个汇编器,所以一旦写出了反汇编器,应该立即把志向定到写一个汇编器上面(对编译原理没兴趣的话除外)。

3、反汇编器一旦写成,就要拓宽自己的思路,不要只想到应用在调试器上面,其实还可以在此基础上做很多事情,例如虚拟执行、对程序流程进行二进制级分析等等。

一些建议:

1、反汇编引擎应该做到与其他模块的耦合度尽可能的低。一个设计良好的引擎应该放到不同的环境中都能使用,例如跨平台,只需要重新编译一下就能用。因此千万不要把界面什么的东西都跟反汇编模块扯上关系,以后的维护会非常痛苦(试想一下在Linux上面编译代码时碰到了一个MessageBox())。推荐用pure C写反汇编引擎,这倒不是因为编译出来的EXE会比较小,而是出于移植性考虑(试想一下在嵌入式系统中,很可能没有C++编译器)。

2、要注意优化代码,但不要过分优化。这些都是一些老生常谈的东西了,例如用移位代替乘法,用switch代替大量的if...else,用宏代替函数……等等。不要过分优化是指,不要在代码中玩弄过多的编程技巧,尤其不要用一些跟现代编译器特性相关的技巧,有些远古时代的编译器是无法支持的。而且我曾经不止一次碰到过VC6的代码优化把我的程序流程给弄乱了。

3、代码要经常review,最好找牛人来帮忙指出其中的错误和可以改善的地方。

4、写C代码的时候,要做到一边写一边想到编译之后的汇编代码。例如某些地方能够用for,也能够用while,到底哪个好呢?自己心中要有数。不过这点恐怕要有一定的编译原理(看代码生成那章)和逆向工程经验才能做到,姑且不多说了。

先说那么多,呵呵。后面的部分好像又跟主题不相关了,罪过。。。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
2
那回头写个。。。找 p11621给改善
2005-4-21 02:37
0
雪    币: 1593
活跃值: (766)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
3
写完后自己再看了一次,感觉都是废话
2005-4-21 02:38
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
这些废话都是真理,都做好了就发达了。
2005-4-21 03:07
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
5
" 1、写反汇编器纯粹就是一个体力活,没有心理准备&充足的时间,不要玩。"

同意~  
2005-4-21 08:17
0
雪    币: 153
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
反汇编引擎都是把一些现成的代码Copy一下而已,有什么突破吗?
如果没有的话,纯粹就是浪费时间。
2005-4-21 12:36
0
雪    币: 260
活跃值: (162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
不赞成!!!!  极力反对!!!!!

实际上这个项目我也知道大家很难完成,不过我还是鼓励大家去做!

通过这个项目,应该可以锻炼和加强很多人的基础知识,我觉得有这样的结果就算项目成功了。
2005-4-21 14:03
0
雪    币: 342
活跃值: (323)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
8
同意楼主的说法
2005-4-21 14:23
0
雪    币: 1593
活跃值: (766)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
9
最初由 vcasm 发布
不赞成!!!! 极力反对!!!!!


实际上这个项目我也知道大家很难完成,不过我还是鼓励大家去做!

........


我好像没有提到反对的意见吧……
2005-4-21 14:31
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
"牛魔王"你最近跑到哪里去了,"小的"想死你了.
2005-4-21 20:27
0
雪    币: 260
活跃值: (162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
最初由 luocong 发布


我好像没有提到反对的意见吧……


2005-4-21 20:58
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
12
版主怎么说怎么都有道理

2005-4-23 23:14
0
雪    币: 229
活跃值: (168)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
13
我的hdasm64除了没做成汇编器就和你说的差不多了。
2005-5-13 11:17
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
14
最初由 luocong 发布

写反汇编器纯粹就是一个体力活,没有心理准备&充足的时间,不要玩。
........

2005-5-13 23:09
0
雪    币: 1
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
exe
15
反汇编器是啥
2005-5-15 12:23
0
雪    币: 267
活跃值: (280)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
干吗要写?
你都已经写好了,我干吗还要再写一个?
再写一个岂不是做了重复功?
2005-5-21 21:10
0
雪    币: 213
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
对老罗的话非常非常占同。不过我最占同第1点,完全就是一个体力活。没时间精力的放弃比较好,技术难度我不觉得。看见楼上的某人好亲切啊,HOHO
2005-6-11 18:27
0
雪    币: 5
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
18
晕  想弄明白 一些 事情 我晕
2005-6-19 17:21
0
雪    币: 129
活跃值: (135)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
19
反汇编器确实是个体力活,不过我们应该做出一个方便人们使用的通用库啊。。。。以减少无谓的重复劳动。
目标:
使用方便。
2006-4-12 13:13
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
小弟最近正琢磨着去搞这方面的,而且已经下定决心了,刚刚看到大哥的指点,希望能有所脾益啊...
2009-7-6 15:56
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rsa
21
真理  不是废话
2009-7-7 08:48
0
游客
登录 | 注册 方可回帖
返回
//