前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

用jad.exe把class文件批量反编译生成java文件 | 素包子 素包子 己所不欲,勿劝他人 首页 别嫌弃父母 首页 > 技术点滴 > 用jad.exe把class文件批量反编译生成java文件 用jad.exe把class文件批量反编译生成java文件 2011年10月6日 baoz 阅读评论 最近还是想把某个东西倒腾下,打算批量反编译一些class文件,然后grep之。需要批量的工具,decafe pro支持batch mode,但是要注册,在百度一搜“java class 反编译 批量”,搜到了想要的结果,爽。如果就是想一个一个文件的看,DJ_JAVA_Decompiler_v3.9.9.91_READ_NFO_Incl_Patch-DIGERATI 还是很不错,关联class文件,阅读的时候自己反编译,可惜不支持批量操作和tab。 原文来自 http://apps.hi.baidu.com/share/detail/31636101?转载开始 对新版本的class支持不好。用jd-gui更好,支持版本新,另存为即可把代码批量反编译 http://java.decompiler.free.fr/?q=jdgui 如果用3版本有问题可以选择2版本 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip This is README file for Jad &#8211; the fast Java Decompiler. Jad home page: http://www.kpdus.com/jad.html Copyright 2001 Pavel Kouznetsov (jad@kpdus.com). 0. Please read the disclaimer on the Jad home page. 1. Installation. Unzip jad.zip file into any appropriate directory on your hard drive. This will create two files: - an executable file named &#8216;jad.exe&#8217; (Windows *) or &#8216;jad&#8217; (*n*x) - this README file No other setup is required. 2. How to use Jad To decompile a single JAVA class file &#8216;example1.class&#8217; type the following: jad example1.class This command creates file &#8216;example1.jad&#8217; in the current directory. If such file already exists Jad asks whether you want to overwrite it or not. Option -o permits overwriting without a confirmation. You can omit .class extension and/or use wildcards in the names of input files. Option -s <ext> allows to change output file extension: jad -sjava example1.class This command creates file &#8216;example1.java&#8217;. Be careful when using options -o and -sjava together, because Jad can accidentally overwrite your own source files. Jad uses JAVA class name as an output file name. For example, if class file &#8216;example1.class&#8217; contains JAVA class &#8216;test1&#8242; then Jad will create file &#8216;test1.jad&#8217; rather than &#8216;example1.jad&#8217;. If you want to specify your own output file name use the output redirection: jad -p example1.class > myexm1.java Option -d allows you to specify another directory for output files, which are created, by default, in the current directory. For example: jad -o -dtest -sjava *.class (or jad -o -d test -s java *.class, which has the same effect) This command decompiles all .class files in the current directory and places all output files with extension .java into directory &#8216;test&#8217;. If you want to decompile the whole tree of JAVA classes, use the following command: jad -o -r -sjava -dsrc tree/**/*.class This command decompiles all .class files located in all subdirectories of &#8216;tree&#8217; and creates output files in subdirectories of &#8216;src&#8217; according to package names of classes. For example, if file &#8216;tree/a/b/c.class&#8217; contains class &#8216;c&#8217; from package &#8216;a.b&#8217;, then output file will have a name &#8216;src/a/b/c.java&#8217;. Note the use of the &#8220;two stars&#8221; wildcard (&#8216;**&#8217;) in the previous command. It is handled by Jad rather than the command shell, so on UNIX the last argument should be single-quoted: jad -o -r -sjava -dsrc &#8216;tree/**/*.class&#8217; In a case you want to check the accuracy of the decompilation or just curious, there is an option -a which tells Jad to annotate the output with JAVA Virtual Machine bytecodes. Jad supports the inner and anonymous classes. When Jad expands wildcards in the input file names, it automatically skips matching inner classes. On UNIX Jad skips inner classes if there is more than one class specified in the command line. Jad looks for inner classes in the directory of their top-level container class. 3. List of the command-line options. Jad accepts the following options: -a?????? &#8211; annotate the output with JVM bytecodes (default: off) -af????? &#8211; same as -a, but output fully qualified names when annotating -clear?? &#8211; clear all prefixes, including the default ones (can be abbreviated as -cl) -b?????? &#8211; output redundant braces (e.g., if(a) { b(); }, default: off) -d <dir> &#8211; directory for output files (will be created when necessary) -dead??? &#8211; try to decompile dead parts of code (if any) (default: off) -disass? &#8211; disassemble method bytecodes (no JAVA source generated) -f?????? &#8211; output fully qualified names for classes/fields/methods (default: off) -ff????? &#8211; output class fields before methods (default: after methods) -i?????? &#8211; output default initializers for all non-final fields -l<num>? &#8211; split strings into pieces of maximum <num> chars (default: off) -lnc???? &#8211; annotate the output with line numbers (default: off) -lradix<num> &#8211; display long integers using the specified radix (8, 10 or 16) -nl????? &#8211; split strings on newline character (default: off) -nocast? &#8211; don&#8217;t generate auxiliary casts -nocode? &#8211; don&#8217;t generate the source code for methods -noconv? &#8211; don&#8217;t convert Java identifiers (default: convert) -noctor? &#8211; suppress the empty constructors -nodos?? &#8211; do not check for class files written in DOS mode (CR before NL, default: check) -nofd??? &#8211; don&#8217;t disambiguate fields with the same names by adding signatures to their names (default: do) -noinner &#8211; turn off the support of inner classes (default: on) -nolvt?? &#8211; ignore Local Variable Table information -nonlb?? &#8211; don&#8217;t output a newline before opening brace (default: do) -o?????? &#8211; overwrite output files without confirmation (default: off) -p?????? &#8211; send decompiled code to STDOUT (e.g., for piping) -pi<num> &#8211; pack imports into one line after <num> imports (default: 3) -pv<num> &#8211; pack fields with identical types into one line (default: off) -pa <pfx>- prefix for all packages in generated source files -pc <pfx>- prefix for classes with numerical names (default: _cls) -pf <pfx>- prefix for fields with numerical names (default: _fld) -pe <pfx>- prefix for unused exception names (default: _ex) -pl <pfx>- prefix for locals with numerical names (default: _lcl) -pm <pfx>- prefix for methods with numerical names (default: _mth) -pp <pfx>- prefix for method parms with numerical names (default: _prm) -r?????? &#8211; restore package directory structrure -radix<num> &#8211; display integers using the specified radix (8, 10 or 16) -s <ext> &#8211; output file extension (by default &#8216;.jad&#8217;) -safe??? &#8211; generate additional casts to disambiguate methods/fields (default: off) -space?? &#8211; output space between keyword (if/for/while/etc) and expression (default: off) -stat??? &#8211; display the total number of processed classes/methods/fields -t?????? &#8211; use tabs instead of spaces for indentation -t<num>? &#8211; use <num> spaces for indentation (default: 4) -v?????? &#8211; display method names being decompiled -8?????? &#8211; convert UNICODE strings into 8-bit strings using the current ANSI code page (Win32 only) -&?????? &#8211; redirect STDERR to STDOUT (Win32 only) All single-word options have three formats: -o??? &#8211; &#8216;reverses&#8217; value of an option -o+?? &#8211; set value to &#8216;true&#8217; or &#8216;on&#8217; -o-?? &#8211; set value to &#8216;false&#8217; or &#8216;off&#8217; You can specify the options you want to be set by default in the environment variable JAD_OPTIONS. For example: JAD_OPTIONS=-ff+ -nonlb+ -t+ -space+ Related posts: java的class程序破解 java程序报错分析 反编译,调试程序需要 鉴定java的class文件版本号 findbugs,免费的java静态分析程序 分类: 技术点滴 标签: class, java, 反编译, 批量 评论 (0) 发表评论 本文目前尚无任何评论. 昵称 电子邮箱 (我们会为您保密) 网址 订阅评论 Please type "280555": Leave this field empty please: Notify me of followup comments via e-mail Security Question: What is 13 + 11 ? Please leave these two fields as-is: IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-) 异步编程经典 读skipfish源码 查找国外安全产品的好地方 联系方式:perlish(at)gmail.com 订阅 Google 有道 鲜果 抓虾 My Yahoo! newsgator Bloglines 哪吒 Recent Comments baoz: 看log和app,从finvis获取的 ian: 360是其他厂商的心病啊! asker: 请问我按照这个流程,执行显示没有找到结果,我想可能是没有获得 行情数据,请问下这个是怎么获取呢? 虾姑: 易迅的用户体验的确不错,但是唯一的问题是,如果没有太大的利益 诱惑,我不愿意从淘宝分流我的消费,因为马云能给我一个全年直观 的消费数据! sk: 国内用的多的还是apche+mod_php 和nginx+php-cgi这种。攻击的思路不错。值得学习 链接表 !HUC-红客联盟 68flash素材 80sec @爱吃素 AcOol air-storm caoz cnhawk coolc feng fooying IT Technical Notes jiaozhu killer linux安全网 metasploit meteor Ms07ster&#039;s blog neeao Ninty oldjun pentestday QQ表情 Reistlin ring04h shallwe sofeREC sowhat t00ls TK Trojans try2实验室 wjs Wooyun xhming xiexie YongGan ャ鬼爷’s blog 中国黑客榜中榜 佛教辞典 佛教辞典 冷漠 北北 半个农民 可乐 墨迹哥 宇宙软件站 安全公会 安全焦点 安致资源网 峰云 折扣宝 文清的博客 无言 曹飞燕的个人网站 海林的博客 爱用软件 狂人山庄 猪猪 男人KTV 眼镜蛇 知痛风,治痛风 神刀网 神秘小强 红色联盟 网管小王 美国买什么 肥泥鳅 葙守 超级巡警 超级无敌猛小蛇 运维人生 阿新乱站 阿木呜呼 阿熊的窝 阿飞 陆羽&#039;s blog 雨夜的空间 青岛酒吧 鲜橙加冰的安全 鸡蛋仔 黑小子&#039;s blog 黑海洋 回到顶部 WordPress 百度Sitemap 百度Sitemap HTML 谷歌Sitemap Internet baoz.net