反编译阅读
❶ C#写出来的代码,反编译之后能看到源代码,怎么样防止别人的反编译。求高手指点
C#代码最终会被编译为 IL,对 IL 进行逆向工程比较简单,因此一种办法是向第三方购买一个混淆器(obfuscator),能通过打乱程序集元数据中的私有符合名称,让人难以阅读。但本质上,这种保护是有限的,只是难以阅读,而不能从根本上避免。
另一种办法是,在非托管模块中实现你比较重要的算法,然后通过 CLR 的平台互操作,来使托管代码调用它,这样程序仍然能够正常工作,但对非托管的本地代码进行反编译,就很困难。
一般来说,除非你的这部分代码非常重要,或涉及核心机密,才需要考虑防止反编译的做法。一般来说,混淆器也足够了。
❷ 请问如何做电子书
用云展网,在线免费一键转换制作翻页电子书,简单!
题主只需要自己排版设计好PDF,上传PDF就能转换成3D翻页电子书/电子杂志/电子画册等。可通过二维码扫描、微信分享、QQ分享等,读者无需登录账号即可通过手机、平板和电脑阅读到你的电子书。
说到这里,你是不是觉得云展网不仅是一个方便的pdf制作电子画册平台?还能美化电子画册,利于分享等
❸ 不是说程序都是反编译的吗那病毒等程序的源代码别人是如何知道的
反编译只是让其他人不容易获得源代码而已,理论上只要能执行的程序都可以通过机器码变为汇编代码,大家可以研究其代码。
由于病毒程序一般较小,代码被反编译后更容易阅读。
如果把windowsXP反编译,阅读的工作量将是一个天文数字!
❹ 如何反编译PDF文档以方便进行文档操作
有三种方法——————
1、对于打字文件制作的PDF文件,福昕PDF阅读器就可以把它另存为TXT文本;
2、对于扫描文件制作的PDF文件,用汉王PDF OCR8.1把它识别为TXT文件;
3、用福昕PDF编辑器处理,但个人觉得那个技术不容易掌握。
❺ java反编译工具有什么作用
和javap功能差不多,就是进行反编译~把.class文件反编译成原来的JAVA代码~
❻ exe文件能不能反编译
本身就是不能反编译的,请看:程序:#includestdio.hvoidmain()
和程序:#includestdio.hvoidmain()
反汇编各得5071行,没有区分。如果编译时用了/O2,再反汇编回来,得到行数不同。要想反编译成原文件,明显不可能。除非开发1个新编译器,把源程序用注解方式写进去,就可以反编译回来。
❼ java反编译
如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++!
作者因最近分析一些JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助。
JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。
经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于\JDK\BIN\ 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。
这里我用了一个简单例子来说明问题。
JAVA的源程序hello_java.java如下:
import java.applet.*;
import java.awt.*;
public class hello_java extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello Java!\n",20,20);
}
}
经用反编译命令:javap -c -package -public -private hello_java hello.java
得到的反编译结果(hello.java)如下:(有关javap命令的选择参数请见其使用说明,这里-c表示选择了反编译)
Compiled from hello_java.java
public synchronized class hello_java extends java.applet.Applet
/* ACC_SUPER bit set */
{
public void paint(java.awt.Graphics);
public hello_java();
Method void paint(java.awt.Graphics)
0 aload_1
1 ldc #1
3 bipush 20
5 bipush 20
7 invokevirtual #6
10 return
Method hello_java()
0 aload_0
1 invokespecial #5 ()V>
4 return
}