EXE文件反编译成代码后,能重新再生成EXE文件吗
如下参考:
1.单击「开始」菜单以选择「运行」。
EXE文件反编译成源码
EXE文件可以通过步骤来反编译成源码,具体步骤如下:
1、在网络上搜索下载反编译工具ILSpy,ILspy是一个开源的.net反编译软件,使用十分方便。解压后如图,双击.exe文件打开解压工具。
(2)文件反编译扩展阅读:
反编译也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行「逆向分析、研究」工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。
exe是编译好的程序文件 要看结构就得反编译 但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。 所以要要看结构不止要会反编译 还得精通汇编语言。
如何反编译IMG(内核)文件
先介绍一下编译核心的选项,希望能对大家消除对内核的神秘感有所帮助。
1.代码成熟等级
2..处理器类型和特色
3.对模块的支持
4.基本的选择
5.即插即用支持
6.块设备支持
7.网络选项
8.电话支持
9.SCSI设备的支持
10.I2O界面适配器
11.网络设备支持
12.配置业余无线广播
13.红外支持
14.ISDN的文件系统
15.旧型的光盘机类型(非IDE界面的光盘机)
16.字符设备
17.USB支持
18.文件系统
19.控制台驱动
20.音效卡驱动
21.Kernel hacking
第二节 内核版本
由于linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布
给他人使用。Linux的开发采用的是集市模型(bazaar,与cathedral--教堂模型--对应
),为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。一个树是稳
定树(stable tree),另一个树是非稳定树(unstable tree)或者开发树(developm
ent tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所
做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同
的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在
源程序的版本号中;源程序版本号的形式为x.y.z:对于稳定树来说,y是偶数;对于开
发树来说,y比相应的稳定树大一(因此,是奇数)。确定是以″ root ″的身份签入,
然后cd 到 /usr/src 。uname -r 这个指令将会显示版本。内核版本的更新可以访问<h
ttp://www.kernel.org/>。
第三节 编译原因
Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了
旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的
系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳
定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是
Linux使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主
要有下面四个考虑:
---自己定制编译的内核运行更快(具有更少的代码)
---系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
---不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
---将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
以上是针对成熟的Linux套件如Redhat Linux而言,我的目的是为建造嵌入式Linux操作系
统做准备,也是必由之路。
第四节 准备工作
第一部分 新版本内核的获取和更新
Linux内核版本发布的官方网站是< http://www.kernel.org/>,国内各大ftp上一般都可
以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另
外一种是patch文件,即补丁。完整的内核版本比较大,比如linux-2.4.0-test8.tar.b
z2就有18M之多。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别
是使用gzip或者bzip2进行压缩的文件,使用时需要解压缩。patch文件则比较小,一般
只有几十K到几百K,极少的会超过1M。但是patch文件是针对于特定的版本的,需要找到
自己对应的版本才能使用。
编译内核需要root权限。把需要升级的内 拷贝到/usr/src/下(下文中以2.2.16的内核
的linux-2.2.16tar.gz为例),命令为
#cp linux-2.2.16tar.gz /usr/src
先查看当前/usr/src的内容,注意到有一个linux的符号链接,它指向一个类似于linux
-2.2.14(对应于现在使用的内核版本号)的目录。首先删除这个链接:
#cd /usr/src
#rm -f linux
现在解压下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,使用命令:
#tar -xzvf linux-2.2.16tar.gz
如果下载的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令
#bzip2 -d linux-2.2.16tar.bz2
#tar -xvf linux-2.2.16tar
现在再来看一下/usr/src下的内容,发现现在有了一个名为linux的目录,里面就是需要
升级到的版本的内核的源程序。还记得那个名为linux的链接幺?之所以使用那个链接就
是防止在升级内核的时候会不慎把原来版本内核的源程序给覆盖掉了。现在也需要同样
处理:
#mv linux linux-2.2.16
#ln -s linux-2.2.16 linux
如果还下载了patch文件,比如patch-2.2.16,就可以进行patch操作(下面假设patch-
2.2.16已经位于/usr/src目录下了,否则需要先把该文件拷贝到/usr/src下):
#patch -p0 < patch-2.2.16
第二部分 准备主机板和相关硬件的说明手册
其实也不用太详细,只要知道您的硬件是属于哪一类型就行了。例如:有一张SCSI卡,
那就要知道这张卡的名字,有一台cd-rom,就要知道这台光盘机是哪一种牌子的,是否为标
准的IDE/ATAPI界面,还是另有专属界面卡呢?或者,主机版是否有支持Triton晶元(通
常586以上的计算机常有),这些信息能帮助我们,使得设定变得清楚且容易。
因此,不管您有什么使用手册,准备好吧。即使现在不用,将来还是会用到的(设X-w
indow system时要显示卡的手册)。
第三部分 检查音效卡的IRQ设定和其种类
如果配有一张音效卡,除了要知道卡的种类外(例如 Sound Blaster)还需要知道这张卡
的IRQ地址。一般来说,卢卡的IRQ地址是5或7而IO地址则为220。DMA则l,不过,有时不
同的音效卡可能会有不同的设定。因为稍后的选项里,就会要填入这些数字。
第四部分 编译核心的硬件需求
在编译核心时,确定您的RAM最好在8MB以上, 否则可能会很慢而且问题会很多,记得查
看swap有没有打开(用free指令)。此外,最好不要超频,不然很有可能会发生signal
11的错误,使得编到一半的核心停了下来,其实编译核心就好比编译程序一样,只是因
为构成核心的程序太多了,因此我们能小心尽量小心。
将EXE文件反编译成C文件
我不太清楚有没有工具可以反编译成C文件,一些工具也只能到汇编.事实上并不是所有exe都可以换成C的,C不充许改函数指针,还有一些应用了堆缠的技术是C无法写出的.为啥要反编译成C呢,黑客可都是用汇编的.
如何利用反编译软件打开并修改class文件
没办法完全反编译所以的class文件为java文件的,因为java中编译具有不可逆性。
但是可以将每个文件反编译,之后直接放到相应的包路径下来进行重新编码。
第一步:通过附件的「jd-gui」打开jar文件;
第二步:将每个class文件的内容,粘贴到一个新建的java工程中(包路径必须相同);
第三步:修改需要修改的类,之后如果运行没问题的话,直接导出为jar包即可。
备注:其实此过程中出错的几率还是很大的,如果能够实现百分百编译的话,那么所以的项目也就间接开源了,这肯定是不现实的。
怎样反编译程序
高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。
但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。
计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行「逆向分析、研究」工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。
反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件: VB: VBExplorer 、VB反编译精灵和VBRezQ;只能反编译界面图像,好像代码不能完全反编译 JAVA: JAD ;java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的 C++ : eXeScope Dephi: DEDE c#:Reflector 易语言:E-Code Explorer.exe(易格式可执行文件分析器)。
怎么把class文件反编译成java文件
Java中使用eclipse提供的插件对class进行反编译成java文件,如下步骤:
1、安装jadclipse插件
使用jadclipse插件一定要注意Eclipse版本。jadclipse_3.2.4,它对应的是Eclipse3.2版,jadclipse_3.3.0可以用于Eclipse3.3M6以上版。大家千万不要把jadclipse_3.3.0放到Eclipse3.2中,也不要把jadclipse_3.2.4放到Eclipse3.3中,将jadclipse插件(版本自己选择)直接到Eclipse目录中的plugins文件夹下,然后打开Eclipse,选择"窗口"-"首选项"-"常规"-"编辑器"-"文件关联",点击文件关联中的*.class,下面就会看到"JadClipse Class File Viewer",选中它,点击预设值,点击OK,将它设置为默认的类查看器。如图:
如何反编译hex文件
直接使用51反汇编软件或模拟,就可以实现;
Hex文件其实是机器指令码,其中包括操作码,操作数,以及地址等等内容,而的汇编语言指令代表的就是这些机器码,汇编就是将汇编语言编译成机器码的过程,反汇编就是将机器码变成指令的过程。
比如,C语言的编译先译成汇编再译成机器码,反汇编则反之。
用什么可以反编译dat文件
工具/原料
安装完整的EDIUS 6
方法/步骤
1、直接导入DAT文件到EDIUS素材库挥着时间线的时候,是不被识别的,因为DAT的视频编码是不被EDIUS识别的。
2、在DAT文件的文件夹里面,对这个DAT文件进行复制粘贴命令,复制出来另外一个文件供我们使用。
3、修改文件的后缀名字为mpg,系统会提示格式变化,我们点击确定即可。
4、把新修改了名字的 MPG文件导入EDIUS,EDIUS就会识别这个MOG文件,我们就能对其进行编辑了。
5、注意:DAT文件是以前我们常用的VCD格式的视频,由于当时的技术原因,画面尺寸是352X288,是清晰度很低的视频。我们在编辑的时候一定要注意不要放大画面。
6、导入EDIUS的时候,因为现在我们的格式一般是高清,EDIUS会自定放大DAT文件,以适应新的画面尺寸,所以导入之后要回复其百分比,以免画面失真。
