在keilc中,单片机的C语言程序可以再DEBUG模式中得到对应的汇编程序。步骤如下:
1、建立工程,导入C文件代码,编译生成hex文件。
2、按CTRL+F5或者点击菜单Debug--Start/Stop Debug Session
3、点击View--Disassembly Window调出汇编窗口,如上图。
通过以上步骤就可以看到与C对应的汇编程序了。
在计算机专业里“汇编”有作为名词用的和作为动词用的两种意思。做名词时,是“汇编语言”的简称,它是一种把CPU可执行的指令用符号化表示出来的一种语言,是继“机器语言”后的第二代语言(现在常用的C、Basic、Java等属于第三代语言)。作为动词用的时候是指把第三代语言程序转变为汇编语言程序的过程。懂汇编语言的人可以通过修改高级语言汇编出来的程序修改,使它具有更高的运行效率。“反汇编”是指把可执行程序(如*.exe或*.DLL)转化为汇编语言程序的过程。通过反汇编可以把你没有源代码的可执行程序变成可以阅读的汇编语言程序,你可以从中修改(如:破解密码)或找出它的运做过程(如:找出病毒的感染过程、藏身位置、发作条件等,用手工去除杀毒软件对付不了的病毒)。不过要小心的是不要因为破解人家的软件触犯了法律!
你是想问如何反汇编还是想问反汇编有什么用?如果是如何反汇编,那很简单
OllyDBG是最常用的ring3层动态反汇编工具
WinDBG和SoftICE是强大的ring0层动态反汇编工具~
而静态反汇编必然是IDA最为强大了~~
方法简单的令人蛋疼……就是把你要反汇编的程序拖拽到反汇编器里即可~
WinDBG和SoftICE可能不支持拖拽……那就文件--打开……就这样~
反汇编程序自动完成反汇编的工作……
其实难点不在于反汇编本身
而是利用反汇编去完成我们要做的目标~~
这是一门学问~也不是一句话两句话能教会的~~~
至于反汇编能做什么用
并不像某位匿名用户说的那样肮脏~
心中有佛则处处是佛~
心中有狗屎则处处是狗屎
连名字都不敢露可见其本身心理的阴暗程度……
刀可以杀人也可以救人
反汇编只是一种手段,一种工具
它本身并没有好坏之分,关键要看谁在使用,使用的目的是什么~~
确实,反汇编可以逆向别人的劳动成果收为己用,可以破解别人的程序侵害利益
但同时,如果逆向的是一个病毒,就可以分析它的工作原理,找出防御和查杀这种病毒的方法
而反汇编一个软件,有时也能发掘出这款软件的漏洞所在
所以对反病毒和漏洞分析的从业人员来讲,反汇编是必备的基础技能~
正与邪,好与坏
在于人,不在于工具~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)