① 什么java反编译工具最好用,要是连注释也能编译出来就最好了。
不可能,class文件本身都没有注释。你怎么编译,jd-gui虽好但是反编译称java文件前面会有一些垃圾的注释,这些注释都是行数 比如/* 1 *//* 2 */ 而且每个编译出来的类都会有,无一例外。。
② 文件反编译中的注释有什么作用
1.打开ILSpy软件,点击File , 打开,选择所要反编译的.exe文件,点击确定。
2.选中要保存的反编译项目名称,点击保存代码。
5.注意,反编译出来的dll,及窗体文件都是在每个文件夹下面的,且是每个dll对应一个,如下图:
下面主要就反编译中出现的一些错误做下说明:
A.对应上面的如果是dll反编译出来的,如果是公司常用的dll,就可以直接把该项目中的文件夹删除,然后把原有的dll添加引用即可;
B.在打开窗体设计时,多数情况下会出现以下错误:
双击错误即可跳转到资源文件错误的代码行中去,可以根据上面提示的行号进行查找,找到后注释即可!
C.在处理完以上错误后,往窗体中添加控件时可能会引发以下错误error CS1508:
解决方法:在解决方案资源管理器中找到对应的窗体如名为X,在这个窗体的附近会新生成一个X.resoures,选中,右键,从项目中排除,再编译即可!如下图:
③ Java class文件反编译中的注释有什么作用
注释的内容是java字节码,注释掉是为了防止IDE等工具报语法错误。
出现这个现象的原因是反编译失败了,也就是说反编译不出该方法的源码,为了不让用户误认为这是个空方法,直接将字节码显示出来是个好主意,但是直接将字节码显示出来,IDE等工具是会报语法错误的,这时候以注释的形式来表现我觉得是最好的方式。
④ 我反编译了一个APK程序,里面void run() 是被注释的代码
这是因为这个方法比较长的原因,一般是反编译不出来的,这些你看到的是dalvik字节码,如果你研究过这种字节码,可以人为的去反编译成java代码,这些就是java代码对应的dalvik字节码形式
⑤ class文件反编译中的注释有什么作用
反编译class文件是为了获取java源码,一般是为了学习源码或者查看源码是否于新代码相同,有时eclipse编译后class文件并没有更新过,还是旧的代码,而你又不确定,此时反编译查看代码是否更新到最近的,我因为这个问题导致程序出错过
⑥ 反编译怎么不能产生注释
C++编译器在编译的时候 把无用的注释跳过了
因为如果把这些信息带上的话可执行代码会变大
如果是java的话,反编译了会有注释的,因为java只是把源文件编译成了字节码,同时注释也编译了,在运行的时候,会跳过注释的
⑦ 反编译工具能反编译出注释吗
编译的时候注释会变成一个空格.你能把空格反编译成什么?
⑧ 你见过哪些奇趣的代码注释
我说一个注释能起作用的。通过添加注释,躲过安全软件的检查。大概在07年前后,SQL注入还比较常见,许多小网站用asp,学习了一些基本的攻防技术,也是在那个时候听说了 @余弦等巨巨。渗透的话肯定要用到asp木马,海阳什么的。asp这个东西功能全靠ActiveX,具体来讲,比如Set wsh = server.CreateObject("wscript.shell")而当时基本上小网站都是虚拟主机,拥有的权限也不过是传上去自己的asp脚本而已。当时怎么检查是否被留下木马了呢?主要就是去搜是否调用了这种比较危险的ActiveX(直接用正则匹配)。其中一个好像是叫雷客图(其实主要是用来黑吃黑,找出别人留下的后门)。当然,asp木马为了避免被检查出来,会把敏感的组件名拼接起来。Set wsh = server.CreateObject("wscri"+"pt.shell")或者包一个函数Function CreateObj(str)Set CreateObj = server.CreateObject(str)End Function不过,查杀的人又不傻,直接把这两种情况都当作危险行为了。(出现字符串拼接,或者括号里面的是变量而没有引号)好,交代完背景,可以说那个有趣的注释了。当时我只加了一行注释就成功的躲过了检查,FunctionCreateObj(str)Set CreateObj = server.CreateObject(str) '"""")End Function因为当时所有的检查代码,正则表达式都没有设置模式,而VBS默认的是贪婪模式。所以用注释里的括号闭合前面的括号,然后把引号放在两个括号中间。这样就绕过了检查。现在想想挺弱的,不过高中时候发现自己除了会做几道物理题以外还能想出这种奇技淫巧还是挺得意的。