精华内容
下载资源
问答
  • 一键反编译微信小程序获取源码,并转换为uniapp或taro跨端项目
  • 记得2018年,公司在做小程序的三方平台时,接触到小程序反编译。根据网上博客,一步一步操作,bingo,搞定,so easy! 虽然很开心获取到了小程序反编译的源码,但是担心也逐渐浮上了心头。我们自己的小程序被...

        记得2018年,公司在做小程序的三方平台时,接触到小程序的反编译。根据网上博客,一步一步操作,bingo,搞定,so easy!

        虽然很开心获取到了小程序反编译的源码,但是担心也逐渐浮上了心头。我们自己的小程序被别人反编译了怎么办?而且后来也反编译了自己的小程序,反编译获取的代码竟然与源码基本相同。本人大学修的信息安全专业,对于安全方面比一般开发者更敏感。然后,就开始了搜集查找有什么防护手段。

        当时找了几天,得出的结论就是:微信小程序安全性做的很差,除了基本的代码混淆,来增加反编译后代码阅读难度,别无它法,只能期待微信自己对这个bug打补丁修复了。我们自己的小程序,即使别人反编译,也就是把UI给扒了,有价值的逻辑都没有写在小程序里,暂时可以不用太在意这个事情。后来又忙于其他业务,就没再关注这个事情了。

        最近,又负责微信小程序相关的业务了。有一个业务逻辑是这样的:小程序端需要上报用户是否观看了广告,以及根据用户观看广告的次数,对用户给予一定的奖励。如果保证不了上报信息的真实性,就尴尬了。先去查查,小程序还能不能被抓包反编译。艹,快三年了,竟然还没堵住这个漏洞。只是使用了法律武器,破解工具网上不那么好找了。

        小程序安全现状:仍可被抓包反编译(分包加载照样可以被反编译)。对于想抓包后,重新编译盗版上线的,无能为力,仍然停留在仅仅代码混淆层面(代码混淆,可以使用微信开发者工具的混淆勾选项,也可以使用其他的小程序开发框架来做,比如uniapp)。小程序开发者工具的本地配置里,现在加了一个代码保护的选项,网上说然并卵,我自己还没有尝试到底有没有用。下面说说目前的解决办法吧。

        一、单机版小程序。无法防止别人反编译后,重新编译上线。只能通过微信投诉和法律途径解决,但很难达到想要的效果。

        二、有网络交互的小程序。防不了别人偷你小程序端的代码,但可以放逐那些无耻的人再去偷你的数据。有几种方式:第一种,使用微信的登录获取到的token(用户无感知),到自己的服务器换取令牌(服务器拿着小程序给的数据需要到微信服务器验证,验证不通过则说明不是自己的小程序),给令牌一定的有效期,有效期内可以使用令牌与服务器进行数据交互;第二种,根据header的refer信息来判断请求是否来自自己的小程序(https://servicewechat.com/{appid}/{version}/page-frame.html,判断appid);第三种,使用云函数,把云函数当做一个网络请求的中间跳板来用,自己的小程序只能与自己创建的云函数进行交互,云服务再与自己的服务器进行数据交互,但是此方案的缺点也很明显,50万次/天的上限访问,有点坑,不够用呀。

        我们的小程序肯定是需要网络交互的小程序。那么问题来了,怎么满足我们的业务需求呢,选哪种比较好呢?一目了然,只有第三种能满足我们的要求,但访问次数的限制又导致我们不能用它。为什么呢?下面我来分析分析。我们不怕他们盗用我们的UI,数据也根据上面的思路可以防止不让他们用。但我们怕他们上报一些非正常数据,如果不使用云函数方案这个很难防住,因为小程序相当于裸奔,你怎么与服务器进行交互的,他们扒下来后裤衩都不剩了,他们只需要按照你请求的方式,请求你的API,给自己的账户增加虚拟币(假设为虚拟币),然后拿虚拟币兑换奖励我们就亏大了。云函数就不一样了,他们虽然扒下来,但是无法正常触发我们的云函数,从而保证我们数据交互的准确性。

        结论,小程序端仍然不能舒服地保证其安全性。云函数虽然是个办法,但次数受限。特别是保证通讯安全这块,APP开发那套保证安全的方法,在小程序反编译面前,完全失去了意义。当然,如果APP被反编译,被扒了个干净也是不能保证绝对安全的。但,显而易见的是,APP被反编译的难度是远高于小程序的。所以,各位看官,小程序想代码层实现安全目前就别想了,还是在业务层着手吧,尽量不要在小程序里做重利益的业务吧,比如像我们业务那样的(小程序端上报就增加用户虚拟资产,而且虚拟资产可以兑换实际奖励的),当然商城等类似的还是可以的(这种是sever为准的交互业务)。

        参考:

            https://developers.weixin.qq.com/community/develop/article/doc/0006eae23d09a00693a81ec0f5b813

            https://developers.weixin.qq.com/community/develop/doc/0004a6fe6bcdd8b4e117368d05bc00?highLine=%25E5%258F%258D%25E7%25BC%2596%25E8%25AF%2591&page=2#comment-list

            https://developers.weixin.qq.com/community/develop/doc/0004a6fe6bcdd8b4e117368d05bc00?highLine=%25E5%258F%258D%25E7%25BC%2596%25E8%25AF%2591

            https://developers.weixin.qq.com/community/minigame/doc/000cee70fe0c08f8f46778a2656c01

            https://developers.weixin.qq.com/community/develop/doc/000aee5cc24b90190cf67ecb751000?highLine=%25E5%258F%258D%25E7%25BC%2596%25E8%25AF%2591

        

    展开全文
  • 不用啰哩啰嗦的搭建那么多环境,还去找小程序打包文件,目录那么深,还不好拷贝出来,而且还要装虚拟机,你时间多的是啊? 极简答粗暴,你告诉我你要的时间...火速反编译源码给你邮箱发过去,有需要请排队盖楼了哈 ...

    不要看网上大同小异的文章,如果你真的爱研究,爱花时间去折腾,做时间与收益不对等的事情。那就看到这里就可以撤了。

    接下来我要说的,术业有专攻,专业的人干专业的事是最香的,不用啰哩啰嗦的搭建那么多环境,装node,装插件,还要装虚拟机,还去找小程序打包文件,目录那么深,还不好拷贝出来,你时间多的是啊?最关键的是小程序不停的升级防止反编译,不是一下子就可以成功生成,你需要会调试,你对这个需要专门有研究才可以事半功倍来处理成功。

    我的这个文章主要目的就是,为自己搞钱,顺便帮你不到一小时成功处理好你要的东西,源代码。极其简答粗暴,你告诉我你要的时间和小程序名称,剩下的交给我。

    我已经成功处理了不下20个了,可以调试解决多种问题,分包,缺少json,缺少wxss的都可以处理 ,直接留言评论或者紧急加v shilcheng

    火速反编译源码给你邮箱发过去,有需要请排队盖楼了哈

    展开全文
  • 如何反编译小程序

    千次阅读 2018-09-17 17:55:51
    以防万一我们的小程序源码丢失了。这个是我结合了自己的一些坑,网上看大神们的还是有点问题,所以自己再总结一下。 原文链接:https://blog.csdn.net/qq_36538012/article/details/81018677 首先我们需要node.js,...

    以防万一我们的小程序源码丢失了。这个是我结合了自己的一些坑,网上看大神们的还是有点问题,所以自己再总结一下。

    首先我们需要node.js,这个做前端开发的应该都有装我们就跳过不说了。从node之后的步骤开始说

    一、下载反编译的脚本(这个很重要,而且后面的反编译需要在这个文件下才能跑起来不然会报错)

    下载地址:https://github.com/qwerty472123/wxappUnpacker

    二、下载夜神模拟器

    下载地址:https://www.yeshen.com/

    三、在夜神模拟器上下载下载RE文件管理器(类似手机里面的文件管理)

    链接:https://pan.baidu.com/s/1Qm_yKxi1rR25BMRQK6jZFw 密码:i55a

    四、获取.wxapkg文件

    1.在夜神浏览器上安装qq、微信,把刚刚下载好的RE文件管理器也安装上去

    2.设置root权限(我的做法比较粗暴,把里面能开的权限全开了)

    yili
    yili
    这里写图片描述

    3.在模拟器里面运行微信内的小程序

    模拟器微信中运行一下后,直接切回模拟器桌面运行RE文件管理器

           >按照下面的目录结构找文件
    
            /data/data/com.tencent.mm/MicroMsg/{数字串}/appbrand/pkg/
    

    这里写图片描述

    大家可以根据时间找到自己想要反编译的小程序
    这里写图片描述
    最后打包存在电脑上,用qq发给自己的另一个qq之类的话请一定发压缩包

    五、反编译获取到的文件

    1.node命令窗口到你刚刚下载的反编译的脚本文件夹下依次安装如下依赖:
    这里写图片描述

       npm install esprima
       npm install css-tree
       npm install cssbeautify
       npm install vm2
       npm install uglify-es
    

    最后一步了,反编译 .wxapkg 文件
    在.wxapkg文件所在目录下输入 node wuWxapkg.js [-d] //files 就是你想要反编译的文件名 例如:我有一个需要反编译的文件 _163200311_32.wxapkg 已经解压到了D盘根目录下,那么就输出命令 node wuWxapkg.js D:_163200311_32.wxapkg

    就成功啦

    以下是其它博主提示的问题但我没有遇到过,这里做一下摘抄

    注意1:使用node wuWxapkg.js 反编译命令时,如果报 Cannot find module ‘xxx’ 这种类型的错误,

    就直接使用 npm install xxx 先安装

    注意2:如果node wuWxapkg.js 反编译命令时,报错如下:

    这里写图片描述
    那个请重新换一个.wxapkg文件。

    好啦就酱了。看到这里的各位程序员们祝您心明眼亮,加班不秃~

    展开全文
  • DOTNET防止反编译

    千次阅读 2019-05-23 17:43:21
    DOTNET防止反编译 目录 第一部分 相关理论 一 防止反编译概述 二 DOTNET编译原理简介 三 被反编译的后果 四 保护方案分类 第二部分 实践 一 Net强名称工具SN.EXE 二 使用Dotfuscator 三 Net加壳与脱壳 第三部分 ...

    DOTNET防止反编译

    目录

    第一部分 相关理论
    一 防止反编译概述
    二 DOTNET编译原理简介
    三 被反编译的后果
    四 保护方案分类

    第二部分 实践
    一 Net强名称工具SN.EXE
    二 使用Dotfuscator
    三 Net加壳与脱壳

    第三部分 推荐方案


    第一部分 相关理论


    一.DOTNET防止反编译概述
        作为商用程序,C#如同 java一样,很容易被反编译。甚至VS还自带了一个反编译的工具。打开 Visual Studio, “工具”->“ILDASM”,就可以直接看到所有的变量,结构体,函数名称,都和你的源码里一模一样。如果使用更强大的 Reflector,就直接看到C#源码了。这对于商用程序的知识产权的保护是很不利的。除了代码会泄露,写在程序里的连接数据库的用户名和密码,都成了明文。
     
    有一个办法就是进行混淆。使用它对生成的EXE进行转换。可以将变量名,过程名,都变成无意义字母,这样反编译得到的可读性就会降低好多了。
    也可以进行加壳,加壳后的EXE和DLL是不能被反编译出源代码的,但要防止脱壳;如被脱壳则可反编译出源代码。

    二.DOTNET编译原理简介
        Dotnet是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由DotNet编译器 JIT 解释映象为本机代码并交付CPU执行。这种语言的优点就是您不需要去考虑您的程序在那里运行,您只需要把功能做出来,虚拟机会在任何地方实现您的功能。但虚拟机的中间语言由于带了大量的“元数据”信息,所以也极容易被反编译。

    三.被反编译的后果。
    1.知识产权方面,辛苦研究出来的算法,被公开了。
    2.源代码泄漏,被竞争对手拿去和你竞争。
    从客户那里想办法copy回一份别的公司的产品,然后反编译后,改改图片,图片以及版权信息和注册信息,就拿出去卖了。正规的公司一套卖二万,它们一套才8千。
    3.自己产品的注册机满天飞
    4.被别人植入恶意程序,后果得由作者或开发商承担。
        Dotnet的程序集,不保护是不行的。

    四.保护方案分类
    <一>.由MS提供的非第三方保护方案
    a.强名称
    强名称使用 sn 命令。
    强名称的作用就是防止程序集被非法修改,当对程序集修改后,必须重新用您的私钥再对程序集加一次强名称,这也是如果含有强名称的程序集在混淆或加密后必须要重新加强名称的原因。
    网上破解强名称的方法很多,Ildasm反编译加过强名称的程序集后,在IL文件中将强名称的相关信息去掉,再利用Ilasm编译,就可以解除强名称的限制了。有人已经过测试,您的强名称的PublcKey不管是加在程序集中,还是加在Class中,都可以被去掉,所以强名称不是一个完善的保护方式。
        强名称的一个特殊用途,它可以使您的dll不被第三方调用。

    b.编译MSIL为本机代码
    可以使用 Ngen.exe 将 MSIL 代码编译为本机代码。
    Ngen是MS提供的 本机映象生成器,它可以将中间语言程序集编译为本机代码存放在缓存中。Dotnet在内存中建立了一个缓存,这个缓存中存放了许多常用的程序集编译后的本机代码,它们是常驻的,由此来加快Dotnet的执行速度。

    <二>.编程技巧保护方案
    a.人为混淆
    混淆,就是混乱,不明确的意思。MetaData中都有一个Rid,程序集运行时就已经和名称没什么关系了,都使用Rid来调用的,所以可以将名称省去。现在的Dotnet程序集的分析工具都很强大,正引用,反调用都可以用程序来实现,所以即实这么做了,没多大用处。Reflector就有这些功能。
        最简单的混淆是名称混淆,即将 命名空间名、类名、方法名、字段名等统统换成特殊符号或其它符号,目的就是让你不能与以前的名称建立关联。
        流程混淆就是把原来程序的执行流程打乱。比如把一个函数拆成三个小函数,三个小函数通过跳转等方式连接起来,功能和混淆之前的一样。以迷惑反编译者。

    b.隐藏程序集
    Reflector就是使用这种方式来隐藏自己的核心程序集的。Reflector并不是您看到的那一个可执行程序,它的可执行程序只是一个壳,里面是一个定义和接口,没有实例的方法。它是怎样做的呢?它的核心程序集事实上就是它的一个资源。而这个资源是一个加密的资源。Reflector是在双击第一个需要反编译的Method的时候开始释放这个资源,并对资源解密然后动态的加载。这样做的优点核心程序集是不会在硬盘上留下任何痕迹的,它只解在内存中解密并被加载,你基本上无法得到这个程序集。Dotnet是不允许内存 Dump的。
    你可以把你的核心代码加密后做成资源包在程序里,在使用的时候再解密出来,这只需要你自己去实现就可以了。

    c.将程序集中的相关Method(方法)编译成Unmanaged(非托管代码)
    它可称之为终极的保护手段。简单的说,托管代码就是需要Jit去解释的中间语言代码,而非托管代码就是本机代码。
    非托管代码是无法被现在的反编译工具反编译的。在Dotnet程序集中,允许托管代码和非托管代码共存。它的条件就是必须使用VC++.NET非托管方式来写dll,再用VC++托管方式建立工程引入这个本机代码的dll。最终生成一个Dotnet程序集的dll。那么这个程序集里面即有托管代码,又有非托管代码。托管代码是可以反编译的,而非托管代码不可能被反编译。
    <三>.第三方保护工具
    第三方保护工具较好的厂商有:
    Aiasted.SOFT,产品 :MaxtoCode ,种类 :加密、混淆
    PerEmptive Solutions,产品 :Dotfuscator Community ,种类 :混淆
    Remotesoft,产品 :Remotesoft Protect ,种类 :加密
                产品 :Remotesoft Dotfuscator ,种类 :混淆
    XenoCode,产品 :XenoCode ,种类:混淆

    第三方工具的保护方式分类
    a.混淆
    混淆软件一般都有三个功能:字符串加密;名称混淆;流程混淆。
    b.打包
    ThInstall 是一个打包工具,他可以打包几乎所有的应用程序,也包括Dotnet。将多个Dotnet程序集包在一个大程序里,达到无法反编译的目地。不过既然是打包,在需要运行时肯定会释放,如果找到了释放出来的文件,就跟没保护一样了。
    c.加密 
    加密保护的软件都有一个共同点,即把Dotnet的反编译引深到Win32的反汇编中了,可惜的是,也限制了Dotnet跨平台的优势。
    MaxtoCode的实现原理。MaxtoCode是中国第一款高强度的Dotnet保护软件,在世界的Dotnet保护水平线上也处于优势性的领先。MaxtoCode的原理,它是将程序集中所有的IL进行加密,所以使用反编译器无法看到IL,从而不能进行反编译。基于Framework提取Method的IL作为基础原理,当JIT需要IL时,我就将加过密的IL解密给JIT去编译,这就是MaxtoCode的基本原理。

    MaxtoCode 加密的过程及结果:
    1.选择程序集 
    2.选择高级加密的选项
    3.选择混淆的选项
    4.加密
    5.结果

    <四>.加壳
       加壳的全称是可执行程序资源压缩,是保护文件的常用手段。 加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码。
        加壳是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。附加指令在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。

    第二部分 实践


    一. Net强名称工具SN.EXE
    1 编写一个程序,按常规方式编译,提取编译后的程序集和公钥信息,结果如下图所示;

    公钥相关信息为空;

    2 用VS自带的命令行工具SN.EXE 生成一个公钥对;并存入test.snk 密钥文件;


    3 采用2的密钥文件,在命令行用强名称签名的方式对上述程序再次进行编译;


    4 再次运行程序提取程序的程序集和公钥信息,结果如下,程序中增加了公钥相关信息;

    当执行经过强名称签名的程序集时,如果在强名称签名后该程序集被修改过,则会报异常,不能运行。

    二. 使用Dotfuscator
    1 使用VS自带的未注册的Dotfuccator进行混淆
    Dotfuscator是VS里面一个自带的.NET混淆器和压缩器,它可以帮助您防止您的应用程序被反编译。用Dotfuscator混淆之前反编译的结果如下,可看到全部源代码:

    使用Dotfuscator混淆后,再反编译,结果如下;可看出已经有了一定的混淆效果;一些变量名称被替换成了无意义的a、b、c、d等;

    2 注册过的Dotfuscator功能有限,可配置选项较少
    3 Dotfuscator的配置
    安装好Dotfuscator ,打开界面,有几个需要配置的地方: Options、Input、Rename、String Encryption、Build。

    三 .Net加壳与脱壳
        以自编Winform程序StrongNamef.exe和xxxxxxxx.dll为需要保护的目标程序为例,来进行加壳与脱壳。
    1 未加壳之前用Reflector进行反编译,均可直接反编译出源代码,如下图所示;


    2 选择用Sixxpack_2.4进行加壳,加壳后不能反编译出源码,或直接不能反编译,如下二图所示;


    以下用各种.Net脱壳软件进行脱壳;

    3 使用NETUnpack对上述两个加壳后的程序脱壳,不能脱掉;
    4 使用de4dot对上述两个加壳后的程序脱壳,不能脱掉;
    5 使用DotnetDumper进行脱壳,该工具不能脱dll的壳,也不能脱StrongNamef.exe所加的壳;
    6 用查壳工具PEID V0.95进行查壳,查不到xxxxxxxx.dll所加的壳,对StrongNamef.exe则可查出程序是.Net开发的并带有GUI界面;如下图;如果查不出是什么壳也是安全的;


    如果PEID查到壳,则会显示出所查到壳的类型,以下是PEID查到一个叫Nullsoft PiMP Stub壳所显示的示例;


    7 用UnPack4Sixxpack进行脱壳,不能脱掉。


    8 加壳的注意事项:
    1) 关于图标文件,开发项目的图标文件要单独存一份,否则用Sixxpack加壳后程序图标会消失。
    2 ) 加壳后原文件有可能变大或变小。
    3) 加壳的保护时间一般为1年左右,1年之后有可能有人开发出所用加壳软件对应的脱壳软件放到网上,需要使用更高版本或更新的加壳软件进行加壳
    4) 文档需要保密,如果被反编译者知道所用的加壳软件,则可能比较容易被脱壳,从而被反编译。
    5) 加壳的程序发布之前需要测试,偶尔的情况下,360杀毒软件会把加过壳的程序误报为病毒。对于别的保护方式进行保护的程序,360也有可能误报为病毒。如果发生此情况,需要在360中选择信任此软件,以后就不会再误报。

    第三部分 推荐方案


    MactoCode工具的价格为一台电脑带狗1700元, 5台电脑带狗5000多元。
    Dotfuscator为VS附带的由第三方国外厂家提供的保护够工具,需要注册才能提供全部功能。登录该第三方厂家网站一直不能注册成功。网上下载的Dotfuscator仅支持到.Net Framework 3.5。

    鉴于以上,目前较好的一种方案是;
    如果系统可编译为.Net 3.5及以下版本,则先把系统编译为Net 3.5版本,然后用网上下载到的Dotfuscator破解版进行混淆;混淆之后再用Sixxpack_2.4进行加壳。
    如果系统须编译为.Net 4.0及以上版本,编译系统后,用Dotfuscator非注册版进行一定程度的混淆;然后再用Sixxpack_2.4进行加壳。

    以上方案在1年之后应该要更新所用工具的版本,或寻找更强的混淆和加壳工具。

    附件:
    程序1:
        提取.Net程序集中的公钥信息。
    程序2:
        一种.Net加壳机制的实现,把要保护的程序A作为程序B的嵌入资源,通过运行B来运行A,A作为嵌入资源不能被反编译。
    程序3:
        一个DLL,实现替换掉.Net项目中的所有注释为空,替换全部静态变量名为无意义名称。

    附件程序暂不提供,可作为了解;找不见了;
     

    展开全文
  • 本篇文章将详细讲解如何对线上的...获取需要反编译小程序的包 首先,要想反编译获得微信小程序源码,那我们必须先有这个微信小程序的一个包,那我们应该怎么去获取这个包呢?我们需要一台具有ROOT权限的手机,但在9012
  • 微信小程序反编译

    2021-01-04 14:43:04
    微信小程序反编译   最近公司想做地图业务,但是考虑到数据的重要性,我们就需要从各个角度进行评估,如何保证我们的程序安全;经过长期的调研发现微信小程序是没办法防止别人抓包的,只要连上charles就能随意...
  • 不难 玩明白的人 3-5 分钟反编译一个小程序反编译会得到全部代码么? 会得到前端的全部代码,wxml 、wxss、 js,包括一些代码包里面的静态图片。 其中 wxss 不管用什么框架开发 都会反编译下来 不会混淆 不会压缩...
  • 本篇文章将详细讲解如何对线上的微信小程序进行解包反编译,并处理独立分包加载、插件等情况下的解决方法,最终获得他的源码以用来学习,没错,就是学习。...获取需要反编译小程序的包 首先,要想反编
  • 微信小程序:反编译

    千次阅读 2018-06-16 16:02:41
    此技术源于github,仅供个人学习,请勿用于非法用途. 项目地址: 地址 第一步,下载nodejs  nodejs官网 安装完成后:打开命令行,输入node -v 和npm -v看是否安装完成 ...node wuWxapkg.js +后面这个是你要解压的小程序
  • 本篇文章将详细讲解如何对线上的微信小程序进行解包反编译,并处理独立分包加载、插件等情况下的解决方法,最终获得他的源码以用来学习,没错,就是学习。????本教程也仅用于学习。 所谓工欲善其事,必先利其器,...
  • 最近根据公司生产需求写了个脚本,想打包成exe文件分发给其他人使用,但又担心代码本反编译而泄露信息,所以花了一整天时间,磕磕绊绊的,终于搞定了!来之不易的“成果”需要总结和记载(毕竟耗费了生命中一天之...
  • 最近接到一个微信小程序的项目,本想把开发价格报高一点,可客户说他之前已经做了一版了,现在需要升级,但之前的...经过一翻度娘,得知可以通过模拟器获取小程序编译后的文件,即:wxapkg文件,然后用node进行破解.
  • .NET DLL可以包含托管堆代码(可以被反编译的)与非托管堆代码(不能被反编译)。 我们将核心逻辑代码置于非托堆代码中,由托管堆代码提供接口供外部调用,这样就保证不能被常规的手段对DLL进行反编译。 并加入...
  • 之前就有同学提问,如何让自己的小程序代码不被别人恶意反编译呢?社区里也有很多类似的投诉,辛辛苦苦做的小程序UI设计都被别人抄了去,一直没有很好的解决办法。 比如以下帖子的反馈: 针对微信小程序反编译问题...
  • 因为想研究某小程序的某功能实现,因此打算把小程序反编译,来研究一下源码 网上搜索发现了项目:wxappUnpacker 根据项目文档操作,拿到小程序wxapkg包,使用node wuWxapkg.js ../gw.wxapkg 开始反编译 中途报错: ...
  • Android如何防止apk程序反编译

    千次阅读 2019-01-30 20:02:11
    反编译地址及使用方法: 找到Android软件安装包中的class.dex: 把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。 工具准备: 1、把dex文件反编译为jar文件的...
  • android 防止反编译的若干方法

    千次阅读 2018-09-10 14:38:16
    我们在反编译apk之后,看到的代码类名,方法名,已经代码格式看起来不像正常的Android项目代码,那么这时候就会增加阅读难度,增加破解难度,像这样的代码混淆: 我们一般现在的破解查看J...
  • 背景 .net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT...纵观文献,常用的防止反编译方法:强签名+混淆+加密。 强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、..
  • 点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达作者| Zzzkis来源 | urlify.cn/2u2yEbjava作为解释型的语言,其高度抽象的特性意味其很容易被编...
  • Android开发之反编译防止反编译

    万次阅读 多人点赞 2014-09-10 22:17:50
    防止反编译是每个程序员的必修课,因为当你辛辛苦的研发一个应用,被人家三下五除二给反编译了,是一件多么尴尬的事啊。那么如何防止反编译啊?这里就用Google Android自带的代码混编的方式来防止反编译。孙子兵法中...
  • 这篇文章主要介绍了为Android的apk应用程序文件加壳以防止反编译的教程,同时对apk程序的解壳操作也有详细讲解,需要的朋友可以参考下
  • 反编译我 开源软件,用于.Net应用,BS和CS程序均可使用,减少程序大小,混淆代码,防止软件反编译
  • 其实现如今,在常见的开发语言中,无论是.NET还是Java,甚至人气排名第一的JavaScript都存在容易被反编译的风险,如何保护代码不受窃取,如何应用程序不受破坏,是所有开发人员最为关系的话题。 或许在软件开发的...
  • android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原。 因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译反编译他人的项目来学习。 2.3版本以上...
  • Java| 编译和反编译

    万次阅读 多人点赞 2018-04-20 15:49:18
    什么是编程语言?... 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language)。编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level La...
  • 现在最流行的App破解技术大多是基于一定相关技术的基础:如一定阅读Java代码的能力、有一些Android基础、会...有了这些前基础和工具,就可以破解很多没有加反编译保护措施的App。那么如何就安卓App安全进行保护了...
  • 这个报错是dex2jar无法反编译支付宝的部分代码,可能是支付宝混淆时防止dex2jar反编译的。 目前只得到了部分代码: 一共5个包,另外附上部分代码 这个大概是支付用的,没有注释,看了一部分就不想看了。 ...
  • Visual Studio 2019 C# exe文件防反编译

    千次阅读 2020-10-30 17:00:50
    安装混淆工具DotFuscator 操作方法
  • Android反编译xml文件 分类: Android开发 2012-04-19 14:46 15591人阅读 评论(3) 收藏 举报 androidxmllayoutencodingtools工具 一、前言: 大家好,今天给大家分享一下Android中的拿来主义,我们时常会碰到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,311
精华内容 20,524
关键字:

反编译小程序防止