美文网首页
Apk反编译工具ApkTool

Apk反编译工具ApkTool

作者: 姚宏民 | 来源:发表于2017-12-14 22:04 被阅读0次

    相关资源百度网盘

    apktool

    usage: apktool
     -advance,--advanced   prints advance information.
     -version,--version    prints the version then exits
    usage: apktool if|install-framework [options] <framework.apk>
     -p,--frame-path <dir>   Stores framework files into <dir>.
     -t,--tag <tag>          Tag frameworks using <tag>.
    usage: apktool d[ecode] [options] <file_apk>
     -f,--force              Force delete destination directory.
     -o,--output <dir>       The name of folder that gets written. Default is apk.out
    > -p,--frame-path <dir>   Uses framework files located in <dir>.
     -r,--no-res             Do not decode resources.
     -s,--no-src             Do not decode sources.
     -t,--frame-tag <tag>    Uses framework files tagged by <tag>.
    #####usage: apktool b[uild] [options] <app_path>
     -f,--force-all          Skip changes detection and build all files.
     -o,--output <dir>       The name of apk that gets written. Default is dist/name.apk
     -p,--frame-path <dir>   Uses framework files located in <dir>.
    For additional info, see: http://ibotpeaches.github.io/Apktool/
    For smali/baksmali info, see: https://github.com/JesusFreke/smali
    

    java -jar apktool.jar d [file.apk] -o [folder]
    java -jar apktool.jar b [folder] -o [file.apk]

    ShakaApktool

    usage: ShakaApktool s[mali] [options] [--] [<smali-file>|folder]*
    assembles a set of smali files into a dex file
     -?,--help                      显示帮助文本后退出.为调试选项指定的两倍
     -a,--api-level <API_LEVEL>     将按照API级别生成文件信息, 例如.14是ICS. 如果不指定, 默认为 15 (ICS).
     -f,--list-fields <FILE>        Lists all the field references to FILE
                                    (<output_dex_filename>.fields by default)
     -j,--jobs <NUM_THREADS>        可用线程数量.默认为内核允许的数量,最大可调至6
     -m,--list-methods <FILE>       Lists all the method references to FILE
                                    (<output_dex_filename>.methods by default)
     -o,--output <FILE>             dex文件名将被记录,默认命名为 out.dex
     -t,--list-types <FILE>         Lists all the type references to FILE
                                    (<output_dex_filename>.types by default)
     -v,--version                   查看版本信息
     -x,--allow-odex-instructions   允许 odex 指令编译进 dex 文件.仅支持少数命令 -
                                    那些可以存放至固定代码路径并且不会导致 dalvik 拒绝的类
     -X,--experimental              启用实验操作码进行编译,即使还不一定被Android运行支持
    
    调试选项:
     -T,--print-tokens     显示每个完成的名字及文本
     -V,--verbose-errors   生成详细错误信息
    
    ******************** baksmali ********************
    
    usage: ShakaApktool bs|baksmali [options] <dex-file>
    disassembles and/or dumps a dex file
     -?,--help                                  显示帮助文本后退出.为调试选项指定的两倍
     -a,--api-level <API_LEVEL>                 The numeric api-level of the file
                                                being disassembled. 如果不指定, 默认为 15
                                                (ICS).
     -b,--no-debug-info                         不输出debug信息 (.local, .param, .line,
                                                etc.)
     -c,--bootclasspath <BOOTCLASSPATH>         A colon-separated list of
                                                bootclasspath jar/oat files to use
                                                for analysis. Add an initial colon
                                                to specify that the jars/oats should
                                                be appended to the default
                                                bootclasspath instead of replacing
                                                it
     -d,--bootclasspath-dir <DIR>               目录文件夹搜索 bootclasspath 文件.默认至当面目录
     -e,--dex-file <DEX_FILE>                   搜索文件名为 DEX_FILE 的dex文件,默认至
                                                classes.dex
     -f,--code-offsets                          反编译时添加注释包含代码的每个偏移
     -i,--resource-id-files <FILES>             the resource ID files to use, for
                                                analysis. A colon-separated list of
                                                prefix=file pairs.  For example
                                                R=res/values/public.xml:android.R=$A
                                                NDROID_HOME/platforms/android-19/dat
                                                a/res/values/public.xml
     -j,--jobs <NUM_THREADS>                    可用线程数量.默认为内核允许的数量,最大可调至6
     -k,--check-package-private-access          When deodexing, use the
                                                package-private access check when
                                                calculating vtable indexes. It
                                                should only be needed for 4.2.0
                                                odexes. The functionality was
                                                reverted for 4.2.1.
     -l,--use-locals                            output the .locals directive with
                                                the number of non-parameter
                                                registers, rather than the .register
                                                directive with the total number of
                                                register
     -li,--load-inline-method <file>            load inline method resolver from
                                                file
     -m,--no-accessor-comments                  don't output helper comments for
                                                synthetic accessors
     -n,--normalize-virtual-methods             Normalize virtual method references
                                                to the reference the base method.
     -o,--output <DIR>                          the directory where the disassembled
                                                files will be placed. The default is
                                                out
     -p,--no-parameter-registers                use the v<n> syntax instead of the
                                                p<n> syntax for registers mapped to
                                                method parameters
     -r,--register-info <REGISTER_INFO_TYPES>   print the specificed type(s) of
                                                register information for each
                                                instruction. "ARGS,DEST" is the
                                                default if no types are specified.
                                                Valid values are:
                                                ALL: all pre- and post-instruction
                                                registers.
                                                ALLPRE: all pre-instruction
                                                registers
                                                ALLPOST: all post-instruction
                                                registers
                                                ARGS: any pre-instruction registers
                                                used as arguments to the instruction
                                                DEST: the post-instruction
                                                destination register, if any
                                                MERGE: Any pre-instruction register
                                                has been merged from more than 1
                                                different post-instruction register
                                                from its predecessors
                                                FULLMERGE: For each register that
                                                would be printed by MERGE, also show
                                                the incoming register types that
                                                were merged
     -s,--sequential-labels                     create label names using a
                                                sequential numbering scheme per
                                                label type, rather than using the
                                                bytecode address
     -t,--implicit-references                   Use implicit (type-less) method and
                                                field references
     -v,--version                               查看版本信息
     -x,--deodex                                deodex the given odex file. This
                                                option is ignored if the input file
                                                is not an odex file
     -X,--experimental                          enable experimental opcodes to be
                                                disassembled, even if they aren't
                                                necessarily supported in the Android
                                                runtime yet
    
    调试选项:
     -D,--dump-to <FILE>        dumps the given dex file into a single annotated
                                dump file named FILE (<dexfile>.dump by default),
                                along with the normal disassembly
     -I,--ignore-errors         ignores any non-fatal errors that occur while
                                disassembling/deodexing, ignoring the class if
                                needed, and continuing with the next class. The
                                default behavior is to stop disassembling and exit
                                once an error is encountered
     -N,--no-disassembly        suppresses the output of the disassembly
     -T,--inline-table <FILE>   specify a file containing a custom inline method
                                table to use for deodexing
    

    java -jar ShakaApktool.jar d [file.apk] -o [folder]
    java -jar ShakaApktool.jar b [folder] -o [file.apk]

    问题记录

    apk回编的时候出现:error=206, 文件名或扩展名太长

    出现这个问题是因为反编译后在目标目录下的apktool.yml文件记录的doNotCompress内容太多。使用ShakaApktool3.0.0.jar版本代替Apktool.jar可以解决。

    相关文章

      网友评论

          本文标题:Apk反编译工具ApkTool

          本文链接:https://www.haomeiwen.com/subject/doxlwxtx.html