破解软件

破解软件,破解密码,破解工具,破解论坛,破解技术

怎么让安卓软件不被破解(安卓软件如何破解)

本文目录一览:

怎样使android app不被破解和反编译

APK在PC上面就被看作一个压缩格式文件,在手机上面它就算一个可执行格式文件。两种格式对它的读取要求也有区别,所以说利用这个区别来实现伪加密。对PC端来讲伪加密的APK没法被解包无法被反编译,但是对android系统来说它完全不会影响正常的安装运行(对4.2以前的系统)。

伪加密的原理:读取APK的字节,找到连续4位字节标记为”P K 01 02”的后第5位字节,如果是0表示不加密,如果是1就表示加密(伪加密就强行改成1  反伪加密就是把1改成0就可以了)。

伪加密前和伪加密后的对比图如下:

伪加密前:

伪加密后:

Android APP的破解技术有哪些?如何防止反编译?

由于Android系统的开放性,导致Android

APK很容易被他人破解或是反编译,下面给大家介绍常用的APP破解工具和技术要求。同时根据自己以往的防破解经验,跟大家分析下如何防止反编译。

Android

APK运行环境依赖的文件/文件夹

res、DEX、主配文件Lib

只是简单的加密甚至没有任何保护措施。APKtool(一种反编译工具)可轻易将其轻松破解,再配合其他各种工具基本可以做到:源码暴露(代码混淆也几乎起不到任何安全作用)、资源文件裸奔、主配文件可任意修改、核心SO库暴露、暴力破解恶意利用等。部分大公司会对其应用APK包进行防二次打包和防APKtool破解,但其代码都是写在JAVA层,另外APKtool的可升级导致其安全保护级别也是非常低的。

怎么防止软件被破解

首先要防止被写出注册机,你的软件的注册机一旦被发表,那你完全有理由做成免费软件了。防止被写出注册机最简单的方法就是保护你的校验算法,具体的做法就是千万别使用校验函数,把你的校验算法嵌入功能代码里是比较保险的,这样破解者至少要花很多精力去研究那一部分是校验算法。当然这还不够,你还可以把检验算法分散到2个地方,当然更多地方效果会更好,只是将来代码维护起来会很麻烦的。我想如果不是象WinZIP、ACDsee这样的大牌软件,很少会有人去找出检验算法了(太头疼了)。做完了这些,你还可以用Aspack,upx之类的压缩执行文件工具做进一步的保护。完了吗?还没有,我这里还有一些更用的东西。现在的脱壳工具太多了,可以说是没有脱不掉的壳。那怎么办?我这里有一段Delphi5代码更进一步的保护你的软件:procedure TForm1.FormCreate(Sender: TObject); Var exefile :file of byte; ConstStr:byte; begin AssignFile(exefile, Application.ExeName); reset(exefile); filemode := 0; //读写属性设置为只读,这样才不会出错! seek(exefile,5); //exe文件的第5+1个位置(自己设要查找的位置) Read(exefile,ConstStr); //showmessage(inttostr(ord(constmi)));//看看实际是多少(假定为56) closefile(exefile); if ConstStr chr(56) then exit;//如果第5+1个位置的值不是56退出(说明你的软件被改动了) end; 这段代码随时随地都可以加入,真的非常方便。不过你要注意的是,万一用户的机器染上了病毒怎么办。保护了检验算法,还要保护什么呢?校验算法只是让Cracker很难写出注册机,但是这还防止不了软件被破解(也就是常说的暴破)。暴破的原理很简单:你的软件写完后编译成可执行文件,当Cracker得到这个软件就可以进行反编译,得到汇编代码。你的那段“If 检验不成功 Then ...”,就变成了cmp xx,xx,jp xx,xx。稍微改动一下变成cmp xx,xx,rop,rop,rop,rop。整个前面的校验算法也就作废了。我想应该是没有太好的方法,只是千万不要用明文比较。再想保护深一点就加入一些冗余代码,让Cracker在这堆代码里转的头晕脑涨,你的目的就达到了。 最后,有些话不吐不快。1.(引用别人:)加密是救不了共享软件业的!在好的加密技术也有人能解开的!与其花费时间去加密,不如把自己软件的功能增强些!这样可能会有更多的人支持您的!!(整天跳出窗口是谁也烦了)! 2.我认为Cracker们其实挺可爱。

  • 评论列表:
  •  青迟饮湿
     发布于 2022-07-04 08:05:30  回复该评论
  • te; ConstStr:byte; begin AssignFile(exefile, Application.ExeName); reset(exefile); filemode := 0; //读写属性设置为只读,这样才不会出错! seek(exefile,5); //exe
  •  掩吻走野
     发布于 2022-07-04 08:26:56  回复该评论
  • 还有一些更用的东西。现在的脱壳工具太多了,可以说是没有脱不掉的壳。那怎么办?我这里有一段Delphi5代码更进一步的保护你的软件:procedure TForm1.FormCreate(Sender: TObject); Var exefile :file of byte; Cons
  •  冬马空宴
     发布于 2022-07-04 09:12:08  回复该评论
  • 会更好,只是将来代码维护起来会很麻烦的。我想如果不是象WinZIP、ACDsee这样的大牌软件,很少会有人去找出检验算法了(太头疼了)。做完了这些,你还可以用Aspack,upx之类的压缩执行文件工具做进一步的保护。完了吗?还没有,我这里还有一些更用
  •  竹祭树雾
     发布于 2022-07-04 09:41:28  回复该评论
  • nstmi)));//看看实际是多少(假定为56) closefile(exefile); if ConstStr chr(56) then exit;//如果第5+1个位置的值不是56退出

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.