精华内容
下载资源
问答
  • Android反编译工具包(升级)官方绿色版

    万次下载 热门讨论 2012-10-10 19:18:30
    Android反编译工具包,内含图形和命令两种反编译方式,命令支持windows和linux平台,亲测验证成功!详见博客:Android APK反编译详解(附图) http://blog.csdn.net/sunboy_2050/article/details/6727581
  • apktool 反编译工具 绿色版

    万次下载 热门讨论 2014-03-11 20:18:37
    apktool功能:反编译出apk资源文件。 使用方式: 把apktool 解压到任意位置 执行 在dos 改目录下 执行 apktool d xxx.apk test ,便会把编译后的资源存入test文件夹下。
  • 2020年支持java8的Java反编译工具汇总

    万次阅读 多人点赞 2018-06-29 10:58:53
    luyten是一款操作简单、功能实用的java反编译工具,软件支持*.JAR、*.zip、*.class等类型文件的反编译操作,还原度非常高,支持更多功能设置,如显式导入、类型、合成组件等等,用户可根据不同的需求选择合适的显示...

         大多商业软件,会对程序进行加密、加壳等安全措施以防范软件被破解,从而使得反编译越来越难。反编译是一个对目标可执行程序进行逆向分析,从而得到源代码的过程。尤其是像Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。

          我们知道,在代码支撑方面,JDK 1.7引入了字符串Switch、泛型接口改进等新功能,1.8增加了lambda表达式、方法传递、多重注解等新特性,这使得反编译工具的编写难度加大。今天我们盘点一下目前仍然可用的、相对功能很强大的Java反编译工具(Eclipse插件不做评价),比较老的反编译工具很难支持Java8及其以上版本。

     

    1、Java 反编译器 JD-GUI

    JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse、IntelliJ的插件JD-IntelliJ。JD-GUI不需要安装,直接点击运行,可以反编译jar,class文件。

    最新版本1.4.0,官方网站:http://jd.benow.ca/

     

    2、Java 反编译器 procyon-decompiler及其window下独立UI工具luyten

         Procyon-Decompiler支持JDK1.8类的反编译,在很多方面做得非常不错,如反编译匿名类、内部类、Java8 Lambda等等。Procyon-Decompiler支持JDK1.8类的反编译,在很多方面做得非常不错:字符串的Switch、枚举声明方面、注解方面、匿名类、内部类、Java8新接口规范、Java8 Lambda表达式、Java8 方法传递等。

          luytenProcyon的GUI,是一款操作简单、功能实用的java反编译工具,软件支持*.JAR、*.zip、*.class等类型文件的反编译操作,还原度非常高,支持更多功能设置,如显式导入、类型、合成组件等等,用户可根据不同的需求选择合适的显示项目,结果更明了。

         luyten的最新版本0.53,官方网址:https://github.com/deathmarine/Luyten,只需要下载luyten即可,不用下载ProcyonProcyon最新版本0.5.30。

     

    3、Android反编译gui工具Jadx

         jadx是一款Android反编译gui工具,它支持apk、dex、jar、class、zip、aar等文件。jadx操作方便,反编译后的代码可读性高,同时还拥有较完善的gui界面,除去混淆部分的代码,jadx已经非常接近源代码了。

       Jadx最高版本v0.7.1,官方地址https://github.com/skylot/jadx/

       三个工具中JD-GUI打开jar文件反编译速度飞快、luyten次之、Jadx最慢(有时候需要等好一会,喝杯咖啡先。三者都会遇到反编译不出来的情况,建议配合使用。

    展开全文
  • APK防反编译技术PPT

    千次下载 热门讨论 2014-01-27 18:33:38
    我们的APK实际上就是一个ZIP压缩文件,里面包含有一个classes.dex,我们编译后生成的程序代码就全部在那里了,通过apktool等工具可以轻松地将它们反编译成smali代码。有了这些反编译出来的smali代码之后,我们就可以...
  • 2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编译出文件,使用jd-gui工具进行查看; 3.Auto-Sign:自动签名工具,将重新打包的apk进行签名,如果不签名,无法安装使用...

    一、工具介绍:

    1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,apk重新打包;

    2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编译出文件,使用jd-gui工具进行查看;

    3.Auto-Sign:自动签名工具,将重新打包的apk进行签名,如果不签名,无法安装使用。

    工具下载地址:https://download.csdn.net/download/sxk874890728/10443156 (需要3CSDN积分,原本我设置3积分的,不知道为什么涨到16积分了......)

    使用场景:项目源码丢失,只有线上apk,并且没有加固,要求修改apk接口地址,并且重新打包,再发布。

    二、工具使用:

    解压后工具包如图:

    这里写图片描述

    1.思路:使用工具dex2jar反编译,并用jd-gui工具进行查看项目结构,查看源码,并且找到接口地址类,修改接口地址;

    步骤一:下载好工具,将需要反编译的APK后缀名改为.rar或则 .zip,并解压,如图:

    这里写图片描述

    得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的

    classes.dex复制到解压出来的工具dex2jar-0.0.9.15 文件夹内

    在命令行下,进入到dex2jar.bat所在目录,输入命令:

    dex2jar.bat   classes.dex
    • 1

    效果如下:

    这里写图片描述

    步骤二:运行结束后,在该目录下会生成一个classes_dex2jar.jar的文件,如图:

    这里写图片描述

    然后打开工具jd-gui文件夹里的jd-gui.exe,用该工具打开生成的classes_dex2jar.jar文件,便可以看到源码

    了,效果如下:

    这里写图片描述

    2.思路:apktool,反编译修改smali文件,进行重新打包,通过用jd-gui工具找到接口地址类后,与相应

    的smali文件进行对比,修改接口地址;

    下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的

    APK文件放到该目录下,如图:

    这里写图片描述

    打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:

    apktool.bat d -f test.apk -o test    
    • 1
    apktool -f [待反编译的apk] -o [反编译之后存放文件夹] 
    • 1

    如图:

    这里写图片描述

    反编译之后会得到test 文件夹,打开test文件夹,里边就是反编译出来的各种资源文件

    这里写图片描述

    使用jd-gui查看源码找到地址类,然后在smali文件里找到地址的smali文件,更改smali文件内接口地址。 
    如图:

    这里写图片描述

    smali文件内找到与之对应的地址smali文件

    这里写图片描述

    这里写图片描述

    修改接口smali文件里的地址将Ip更换成域名如图:

    这里写图片描述

    修改后,保存。

    3.重新打包。 执行打包命令

    apktool.bat b test
    • 1

    在test文件内会多出两个文件如下图所示:

    这里写图片描述

    dist文件内就是我们需要的apk。

    4.签名apk,重新发布。

    接下来就要用到签名工具了,如果不经过签名是不能正确运行的。工具: auto-sign.zip

    将打包好的test.apk 拷贝到解压好的auto-sign文件夹下,执行命令:

    java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk test_signed.apk 
    • 1

    test_signed.apk就是签名后的apk :

    5.运行之后,发现在5.0上运行会直接崩溃,android studio捕捉到错误所在:

    这里写图片描述

    这里是在jd-gui上查看到了源码位置

    错误原因:

     Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.sun3d.culturejingan.communication.link }
    • 1

    如错误提示所示,在android 5.0版本以后,service intent必须为显式指出。

    那么就需要修改smali文件相关类,这里就用到将java2smali文件

    6.java2smali插件,地址:https://plugins.jetbrains.com/plugin/7385-java2smali

    插件安装,选择本地安装,不懂怎么安装插件,请百度下。

    找到相应问题的smali文件代码定位:

    这里写图片描述

    由于不太懂smali语法的书写,所以我们直接将写好java代码用插件转换为smali语法,拷贝进来,替换原有smali代码 
    这是java代码 
    这里写图片描述

    转换成smali代码

    这里写图片描述

    相应代码会直接展示,找到相应转换结果:

    这里写图片描述

    替换反编译出的相应smali文件里的相应代码,然后执行重新打包命令,签名命令,执行第3步。

    整个过程并不复杂,只要有耐心就可以更改成功。

    展开全文
  • 二维码识别之Android完整编译Zbar

    万次阅读 多人点赞 2017-05-11 16:41:43
    本文将教会你从头开始,基于zbar和libiconv完整的编译一个纯净版的zbar。本文提供了jni源代码、jar文件和so文件、远程依赖等三种方式使用原生zbar。又单独提供了一个基于zbar封装的相机,提供了一个自定义View,通过...

    版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com

    大概刚做Android开发的时候就做过二维码扫描,那时候懂的东西少,就搜出来了ZXing和Zbar两个库。ZXing是纯Java代码实现的,适用于Android平台;Zbar是C实现的,可以供很多语言和平台使用,比如Java、iOS平台、Android平台,Python等等。很明显Zbar的识别率和速度都是明显快于ZXing的,但是无奈那时候不会编译Zbar,只好下载了ZXing,但是由于当时技术能力不足,对于ZXing自定义剪切框也做不出来,只好下载了别人编译好的Zbar,可能由于别人修改了代码或者编译的不是很完整,后期bug层出,废了好大劲才完善好。

    后来一直没有机会学习二维码扫描,直到前几天需要给我们平台的APP加上了二维码扫描功能,我决定使用ZBar,于是我完整的编译了一次,今天把这个过程记录下来,希望可以帮助到需要的同学。

    比如微信使用的是ZXing,但是我肯定的说他们修改了不少源码,而且有很多地方应该改成了jni实现,所以微信的识别速率和准确率是相当高的,不过今天我编译后的封装也是秒秒钟就可以识别。

    因为Zbar是基于LGPL-2.1开源的,因此我基于LGPL-2.1协议,我把一个完整的项目源码和sample放到Github上了,提供直接调用zbar的识别byte[]数据的功能和调用相机识别二维码的功能:
    https://github.com/yanzhenjie/android-zbar-sdk

    特别声明:本文已经修复了zbar识别中文乱码的问题!!!


    编译Zbar

    在正式编译之前要注意:编译Zbar需要先编译libiconv,编译libiconv需要linux环境,需要用到gcc。如果你没有linux环境也没有关系,我已经提供了编译好的libiconv。

    其实在Zbar的官网也可以下载到他们已经编译好的so和jar,但是so文件他们只提供了armeabiarmeabi-v7ax86平台:
    https://sourceforge.net/projects/zbar/files/?source=navbar

    所以我就抛弃了提供的编译包,自己编译了,下面是步骤。

    首先在Zbar的开源主页下载Zbar源码:
    https://github.com/ZBar/ZBar

    顺便在开源主页点开android文件夹,发现编译Zbar需要libiconv,接下来下载libiconv:
    http://www.gnu.org/software/libiconv

    对于libiconv我是下载的在2017-02-02时发布的最新版1.15。

    一、编译libiconv

    如果你没有linux环境编译libiconv,那么你可以在这里下载我已经编译好的libiconv1.15
    http://download.csdn.net/detail/yanzhenjie1003/9833225,下好好文件后,你就可以直接跳过这一节,看下面Zbar和libiconv一起编译了。

    如果你有linux环境可以编译libiconv,那么继续往下看。
    下载好libiconv后,进入libiconv文件夹,如果报权限错误进不去的话执行sudo chmod 777 -R libiconv就可以了:
    libiconv

    进来后先执行:./configure,如果提示没权限那么执行:sudo chmod 777 configure,然后重新执行/.configure即可。

    ./configure执行完后再执行make命令即可完成编译

    编译时可能遇到以下错误:
    1、configure: error: no acceptable C compiler found in $PATH
    这个是说你没有安装gcc,安装gcc后再次执行未完成命令即可。

    二、Zbar和libiconv一起编译

    libiconv编译完成了,接下来把Zbar和libiconv放到一起,编译出我们需要的so文件。

    1. 把刚才编译好的libiconv放入我们项目的jni文件夹。
    2. 解压刚才下载好的Zbar,首先把Zbar的头文件所在文件夹zbar/include放入我们项目的jni文件夹下。
    3. 把Zbar对java的接口文件zbarjni.c放入我们项目的jni文件夹,zbrjni.c在zbar/java文件夹下。
    4. 把Zbar的核心库文件所在的文件夹zbar/zbar放到我们项目的jni文件夹下。
    5. 把Zbar编译时需要的Android.mkApplicaiton.mkconfig.hzbar\android\jni下拷贝到我们项目的jni文件夹下。

    此时我们项目的jni文件夹是这样的:
    zbar

    理论上现在可以开始编译了吧,但是呢因为我们改动了zbar的文件夹结构,所以我们要对Android.mk进行改动,主要改的是文件夹路径和文件路径,修改后的Android.mk的内容如下:

    MY_LOCAL_PATH := $(call my-dir)
    
    # libiconv
    include $(CLEAR_VARS)
    LOCAL_PATH := $(MY_LOCAL_PATH)
    LOCAL_MODULE := libiconv
    LOCAL_CFLAGS := \
        -Wno-multichar \
        -D_ANDROID \
        -DLIBDIR="c" \
        -DBUILDING_LIBICONV \
        -DBUILDING_LIBCHARSET \
        -DIN_LIBRARY
    
    LOCAL_SRC_FILES := \
        libiconv-1.15/lib/iconv.c \
        libiconv-1.15/libcharset/lib/localcharset.c \
        libiconv-1.15/lib/relocatable.c
    
    LOCAL_C_INCLUDES := \
        $(LOCAL_PATH)/libiconv-1.15/include \
        $(LOCAL_PATH)/libiconv-1.15/libcharset \
        $(LOCAL_PATH)/libiconv-1.15/libcharset/include
    
    include $(BUILD_SHARED_LIBRARY)
    
    LOCAL_LDLIBS := -llog -lcharset
    
    # -----------------------------------------------------
    
    # libzbar
    include $(CLEAR_VARS)
    LOCAL_PATH := $(MY_LOCAL_PATH)
    LOCAL_MODULE := zbar
    LOCAL_SRC_FILES := \
                zbarjni.c \
                zbar/img_scanner.c \
                zbar/decoder.c \
                zbar/image.c \
                zbar/symbol.c \
                zbar/convert.c \
                zbar/config.c \
                zbar/scanner.c \
                zbar/error.c \
                zbar/refcnt.c \
                zbar/video.c \
                zbar/video/null.c \
                zbar/decoder/code128.c \
                zbar/decoder/code39.c \
                zbar/decoder/code93.c \
                zbar/decoder/codabar.c \
                zbar/decoder/databar.c \
                zbar/decoder/ean.c \
                zbar/decoder/i25.c \
                zbar/decoder/qr_finder.c \
                zbar/qrcode/bch15_5.c \
                zbar/qrcode/binarize.c \
                zbar/qrcode/isaac.c \
                zbar/qrcode/qrdec.c \
                zbar/qrcode/qrdectxt.c \
                zbar/qrcode/rs.c \
                zbar/qrcode/util.c
    
    LOCAL_C_INCLUDES := \
                $(LOCAL_PATH)/include \
                $(LOCAL_PATH)/zbar \
                $(LOCAL_PATH)/libiconv-1.15/include
    
    LOCAL_SHARED_LIBRARIES := libiconv
    
    include $(BUILD_SHARED_LIBRARY)

    然后在Application.mk中填写你要编译的平台,如果想全部编译:

    APP_ABI := all

    如果要指定编译某几个平台,把平台名称依次空格隔开写上即可:

    APP_ABI := armeabi armeabi-v7a x86 x86_64 mips mips_64 arm64_v8a

    此时我们用命令行进入项目的jni文件夹的父母路,比如一般jni情况下jni文件夹位于ProjectName/ModuleName/src/main/jni,那么我们就进入这个main,然后此时执行ndk-build进行编译。

    如果提示没有ndk-build这个命令,那么你需要从http://developer.android.com下载ndk并且在电脑上配置PATH。

    ndk-build执行完后会在libs下生成所有平台的so文件夹,文件夹里面是需要的libiconvzbar的so文件。

    编译Zbar和libiconv时遇到的错误解决

    编译过程中可能发现如下错误,请按照修改方案修改即可。

    1、libiconv-1.15/jni/libcharset/lib/localcharset.c:51:24: error: langinfo.h: No such file or directory
    打开libiconv-1.15/libcharset/config.h文件,搜索#define HAVE_LANGINFO_CODESET,大概在14行,把这行注释了即可:

    /* #define HAVE_LANGINFO_CODESET 1 */

    2、…c undeclaired…
    打开libiconv-1.15/libcharset/lib/localcharset.c,搜索到函数get_charset_aliases(),大概在124行。

    大概在195行左右,有一个int c;(没有的话你可以搜索int c;),把这个一行代码移动到get_charset_aliases()开头:
    移动之前:
    移动之前

    移动之后:
    移动之后

    zbar的jar包

    现在so文件有了,剩下的就是怎么调用so中的函数来识别条码/二维码了,首先把zbar/java下在net.sourceforge.zbar包和里边的java文件拷贝到你的项目的java目录下,大概结构如下:
    这里写图片描述

    当然你也像这样使用源码,也可以把这几个类打包成jar包。

    调用Zbar识别二维码

    现在全部都编译好了,jar文件也有了,我们可以调用jar中封装的方法来识别二维码了:

    byte[] imageData = ...;
    
    Image barcode = new Image(size.width, size.height, "Y800");
    barcode.setData(imageData);
    // 指定二维码在图片中的区域,也可以不指定,识别全图。
    // barcode.setCrop(startX, startY, width, height);
    
    String qrCodeString = null;
    
    int result = mImageScanner.scanImage(barcode);
    if (result != 0) {
        SymbolSet symSet = mImageScanner.getResults();
        for (Symbol sym : symSet)
            qrCodeString = sym.getData();
    }
    
    if (!TextUtils.isEmpty(qrCodeString)) {
        // 成功识别二维码,qrCodeString就是数据。
    }

    如何和相机结合使用等复杂操作这里不再说了,一个完整的项目我放到Github上了:
    https://github.com/yanzhenjie/android-zbar-sdk

    山高水远,江湖再见!


    版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com

    展开全文
  • win10+cmake+vs2019编译64位libevent

    万次阅读 2021-01-31 12:33:00
    win10+cmake+vs2019编译64位libevent 概要: 使用平台:win10_64位 使用工具:cmake、vs2019 目的:在windows下编译libevent的库文件 可以实现任意版本的libevent手动编译 工具依赖 1.libevent下载,下载链接: ...

    win10+cmake+vs2019编译64位libevent

    概要:

    1. 使用平台:win10_64位
    2. 使用工具:cmake、vs2019
    3. 目的:在windows下编译libevent的库文件
    4. 可以实现任意版本的libevent手动编译

    工具依赖

    1.libevent下载,下载链接:
    https://github.com/libevent/libevent.git

    2.openssl下载,下载链接:
    https://github.com/openssl/openssl

    3.MbedTLS下载,下载链接:
    https://github.com/ARMmbed/mbedtls.git

    4.perl下载,下载链接:
      perl有两种解决方案:

    5.nasm下载:https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/

    工具说明:

      编译openssl需要依赖perl、nasm,具体详情可以访问github中的相关介绍,相关链接:https://github.com/openssl/openssl/blob/master/NOTES-Windows.txt

    Quick start
     -----------
    
     1. Install Perl
    
     2. Install NASM
    
     3. Make sure both Perl and NASM are on your %PATH%
    
     4. Use Visual Studio Developer Command Prompt with administrative privileges,
        choosing one of its variants depending on the intended architecture.
        Or run "cmd" and execute "vcvarsall.bat" with one of the options x86,
        x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm, or amd64_arm64.
        This sets up the environment variables needed for nmake.exe, cl.exe, etc.
        See also
        <https://docs.microsoft.com/cpp/build/building-on-the-command-line>
    
     5. From the root of the OpenSSL source directory enter
        perl Configure VC-WIN32    if you want 32-bit OpenSSL or
        perl Configure VC-WIN64A   if you want 64-bit OpenSSL or
        perl Configure             to let Configure figure out the platform
    
     6. nmake
    
     7. nmake test
    
     8. nmake install
    

    openssl安装过程中需要注意的事项为:

    1. 检查perl的版本,以及perl是否在环境变量path中,查看perl版本时需注意,显示的版本是否与你预期的相同;例如我在编译时,就出现了perl版本与我预期版本不一致的问题,我的问题导致的原因是我安装mysys2,在mysys中安装过perl,而且系统环境变量中指向该perl的路径在我后来安装的perl的路径之前,这就导致了我使用perl时候出现的版本问题。其次避免使用perl的时候出错,建议使用strawberryperl
    2. 检查nasm是否在系统环境变量中
    3. perl、nasm安装成功后,按照上面的操作教程就可以编译成功openssl,至于你想编译32位、还是64位的就可以自己选择。

    openssl最简单的安装方式是:使用python,用python安装openssl就存在头文件与lib文件,不影响使用。不想自己编译openssl的同志,完全可以使用python的安装方式去安装

    编译 MbedTLS

    编译MbedTLS是必不可少的步骤,下载好MbedTLS源文件后使用cmake_gui生成vs的工程,然后使用vs编译MbedTLS即可。需要注意的事情是,cmake中使用config之后记得更改install的路径,因为在vs中编译的时候默认没有权限在改默认路径中创建文件夹以及复制生成好的lib文件;

    编译libevent

    1.如上链接下载libevent的源代码
    2.使用cmake
    3.如果没有找到MbedTLS报错,配置MbedTLS的路径:
    在这里插入图片描述
    该路径为上面编译MbedTLS后其lib所在文件路径

    展开全文
  • 在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题...
  • 我们的代码会经过这4个环节,从而形成最终文件,c语言作为编译语言,用来向计算机发出指令。让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 预处理, 展开头文件/宏...
  • 我的一种解决方法就是 简单的设置一下 前提:安装时这两个重要额部件要有!...工具---编译选项---编辑器---设置编辑器配置---(选择)MinGW GCC 4.7.2 32-bit,然后就可以了 结果是: 希望对你有所帮助!
  • Android APK反编译详解(附图)

    万次阅读 多人点赞 2011-08-28 22:42:11
    这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的...
  • 编译微信小程序(最新)

    万次阅读 多人点赞 2019-10-14 09:39:41
    首先声明:本文章仅供学习之用,不可它用。 一、前言 看到人家上线的小程序的效果,...反编译,其实还是简单的,要想拿到微信小程序源码,找到源文件在手机存放的位置就行,源文件拿到,用反编译脚本跑一下,微...
  • APK反编译

    万次阅读 多人点赞 2017-12-27 17:31:39
    学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译。我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装...
  • visual studio 2008 编译 filezilla

    万次阅读 2011-04-24 13:41:00
    <br />...注意这里直接编译的话是编译不过的,会有很多错误,因为filezilla工程依赖其他一些项目: 可以用记事本打开build文件看一下 FileZilla depends on the following
  • Android源码编译速度优化 -- ccache设置

    万次阅读 2021-02-04 16:32:23
    Android源码编译时,设置ccache可有效的降低编译时间。 谷歌给出的指导方法(优化编译环境章节):点击进入 2. 方法 要想长久方便使用,需要将以下环境 变量写入/etc/profile或者~/.bashrc中 export USE_CCACHE=1 ...
  • 安卓apk反编译、修改、重新打包、签名全过程

    万次阅读 多人点赞 2016-10-16 01:52:37
    首先明确,反编译别人apk是一件不厚道的事情。代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的。这也说明,代码混淆是非常重要的。本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么反...
  • 条件编译#ifdef的妙用详解_透彻

    万次阅读 多人点赞 2018-03-05 10:44:24
    本文主要介绍c语言中条件编译相关的预编译指令,包括 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define 定义一个预处理宏#undef 取消宏的定义#if 编译预处理中的条件命令,相当于C...
  • (3)软件发布 :小型程序直接采用编译简单文件,直接编译、之后将依赖文件和exe文件打包,可以使用EnigmaVritual Box,如果是大型软件,可以采用好压直接压缩成自解压文件,或者其它的打包文件 不同编译方式的区别...
  • 将窗体编译成类库

    千次下载 热门讨论 2015-06-11 12:52:42
    将窗体编译成类库
  • openssl的编译与交叉编译

    万次阅读 2019-01-26 17:57:09
    1、下载openssl源码包 ...2、Ubuntu编译与安装openssl ./config配置生成Makefile,-shared 表示生成动态库,也可通过参数 -prefix=xxx 自行指定安装目录,如下不配置则为默认安装路径。 # tar zxvf o...
  • 在Ubuntu 18.04上编译Linux内核

    万次阅读 多人点赞 2018-10-14 23:30:18
    编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本 请确保磁盘空间足够,笔者之前20G编译到最后空间不足,还得重来 如果你想要查看您的空间大小或者扩充磁盘,请...
  • Java编译涉及到非常多的知识层面:...下面我们先来看下Java体系中的三种编译方式:前端编译、即时编译(JIT编译)、静态提前编译(AOT编译)解它们各有什么优点和缺点,再来看看主流的前端编译+JIT编译方式的运作过程。
  • Android反编译工具

    千次下载 热门讨论 2012-08-21 15:43:41
    Android反编译工具,博客请见:Android APK反编译详解(附图) http://blog.csdn.net/sunboy_2050/article/details/6727581
  • 一、前言 Android系统在编译时,在执行lunch操作时,会让用户选择编译类型:eng、user、userdebug。 二、编译类型的区别 区别见下图: 三、其它 上图摘自《深入解析Android5.0系统》,page 31。
  • 我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译...
  • 搭建编译环境编译OpenWrt需要Linux环境或mac环境
  • 众所周知,我们开发所用的手机App安装包都是apk文件,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件供用户安装,这时候就很难再看到开发这个应用时使用的资源文件以及代码了,所以就有了反编译这个...
  • python文件编译与pyc反编译

    千次阅读 2020-07-10 17:02:41
    pyc是编译py之后生成的二进制文件。当我们发布系统的时候不想让别人看到源代码,就需要将py文件编译生成pyc文件,对外只提供pyc文件。同样,如果拿到一个python程序,只有pyc文件,我们就无法看到源码,希望有办法反...
  • Android APK反编译就这么简单 详解(附图)

    万次阅读 多人点赞 2014-03-11 22:06:09
    你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考...
  • Java| 编译和反编译

    万次阅读 多人点赞 2018-04-20 15:49:18
    什么是编程语言?... 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language)。编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level La...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,925,940
精华内容 1,570,376
关键字:

编译