代码反汇编
㈠ 怎么样反汇编出源代码
看你反汇编什么样的文件,对于通用的windows执行文件来说,一般是使用专用的工具,比如soft ice,
ollydbg 等,但是这样得到的也只是汇编代码。对于Java Class来说,通过JAD等可以直接得到Java代码。
㈡ 反汇编代码怎么看懂
如果是没有优化的代码,应该非常容易。
如果是优化过的代码,先找跳转和函数调用指令,因为这两条指令最容易和源代码对照起来。当然,有时候函数被inline,那就麻烦一些了。关键看你对自己源代码的熟悉程度了。
㈢ 如何快速读懂反汇编的汇编代码
逆向工程的过程就是一个不断揣测作者意图思路的过程,期望原开发者内是个心智正常的容工程师,越是高手的代码越好看懂,除非他刻意做反调试。快速是很难的,调试是极其枯燥的体力活,有时候一段代码要跟踪调试上百遍。可以先确定这个代码是用什么编译器生成的,然后去了解下这个编译器生产代码的规律特点,这样看到汇编可以脑补成c代码。ida softice是神器,自从softice停止开发后我就没再做过逆向工程了,只是偶尔用windbg调下崩溃问题,需要看看汇编。
作
㈣ 反汇编代码解释
MOVR7,#TCON(0x88)//分别给寄存器R7和R6赋值,结合程序整体分析,R7和R6共通构成了
//了一个整形变量,例如:uinti=0x1388;
MOVR6,#0x13
TAG1://什么软件的反汇编,居然能编译出TAG来,
/*这两句是将R7,和R6的值暂时存起来*/
MOVA,R7
MOVR4,0x06//以为51单片机中没有MOVR4,R6这条指令,所以用这条代替
//典型的双字节变量减1程序
DECR7//低八位先减1
JNZTAG2//减1之前,如果不是0则跳到TAG2,是0则继续执行
DECR6//高八位再减1
TAG2:
ORLA,R4//减一之前的高八位和低八位进行或运算
JNZTAG1//如果是0则结束,如果不是0,则返回TAG1继续
//这在C里就是while(i--);
㈤ dll文件如何反汇编成源码,C++语言编写
1、动态调试,你加载DLL文件,然后跟进去。这种方法适合逆向DLL中某个特定的导出函专数代码属。
2、静态反汇编分析,那也挺累的。
看你反汇编的意图,最好用Lord Pe 加载一下,查看一下导出表中的函数,使用第一种方法。。
㈥ 反编译和反汇编有什么区别
有一定区别~
一般编译型语言的程序叫反编译~
解释型语言的程序叫反汇编~
用IDA的一个插件可以做到反汇编一些程序的到源代码的~
㈦ 反汇编后的代码是什么
现在的调试器(如OLLYDBG),反汇编器(IDA)默认情况下会将可执行文件反成80386的汇编,不过对一些.COM文件或未知格式的文件,IDA可能会将其反汇编为8086的汇编。要看懂汇编,很简单,不停地看,遇到不懂的上网查,当然最好找点相关的书学习下。
有个很好的学习方法,自己在VC下写代码,设置断点调试,当程序断下来的时候,右键->Go to Disassembly,就可以看到你写的C语言代码中每条语句对应的汇编代码。至于WIN32汇编,貌似不需要,反正我不懂。
㈧ 反汇编是不是能够将软件的源代码反编译出来
不是反编译出来.而是要你自己去看.你如果汇编精通,也懂高级语言,那么先尝试把自己写的程序用反汇编出来也就是俗称的逆向
如果软件脱过壳之后你可以试试.
反汇编的工具很多像微软官方的WINDBG 像ollydbg IDA PRO
都可以的.如果你逆向自己的程序.像Visual Studio 有有反汇编功能.看下就懂了
希望能帮到你
㈨ 反汇编能否将代码弄出来
常规意义上不能。就算勉强可以那也不会得到和原来一样的代码(比较。NET的中间语言)。
反汇编 把目标代码转为汇编代码的过程.
通常,编写程序是利用高级语言如C,Pascal等语言进行编程的,后再经过编译程序生成可以 被计算机系统 直接执行的执行文件。反汇编即是指将这些执行文件反编译还原成 汇编语言或其他 高级语言。但通常反编译出来的程序与原程序会存在许多不同,虽然执行效果相同,但程序代码 会发生很大的变化,非编程高手很难读懂。
㈩ 反汇编是什么
反汇编:把目标代码转为汇编代码的过程。
通常,编写程序是利用高级语言如C,Pascal等高级语言进行编程的,然后再经过编译程序生成可以被计算机系统直接执行的文件。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。但通常反编译出来的程序与原程序会存在许多不同,虽然执行效果相同,但程序代码 会发生很大的变化,非编程高手很难读懂。
另外,有许多程序也可以 进行逆向操作即反编译以求修改,例如Flash的文件生成的SWF文件,也可以被反汇编成Flash原码,但会发现与原程序有很大变化。反汇编可以通过反汇编的一些软件实现DEBUG也能反汇编的,DEBUG文件位置-u,这样就能实现了。
静态反汇编是从反汇编出来的程序清单上分析,从提示信息入手进行分析。目前,大多数软件在设计时,都采用了人机对话方式。所谓人机对话,即在软件运行过程中,需要由用户选择的地方,软件即显示相应的提示信息,并等待用户按键选择。而在执行完某一段程序之后,便显示一串提示信息,以反映该段程序运行后的状态,是正常运行,还是出现错误,或者提示用户进行下一步工作的帮助信息。为此,如果我们对静态反汇编出来的程序清单进行阅读,可了解软件的编程思路,以便顺利破解。
常用的静态分析工具是W32DASM、OllyDbg IDA和HIEW等。简单地讲,反汇编可以看到软件作者的编程思路,可以破解部分资源,可以将软件汉化等,例如找到它是如何注册的,从而解出它的注册码。