安卓,问如何给apk哪种加密软件好?使用者安装后需要找作者要密码才能使用?

1.5k 次阅读
最近准备从x86上转移到linux上, 于是乎弄了个手游来玩, 正巧朋友推荐了一个修改软件,类似于八门神器、CE,用于搜索修改游戏数据,于是抱着好奇的心理初步研究了下该软件的原理:
研究了下软件, 搜索,修改,暂停游戏,实现BT都有,比较齐全,猜测应该核心功能是基于SO上实现的。
打开AndroidKiller.exe,拖进APK,很顺利的反编译完成
在目录结构并没有发现so相关的东西, 搜索LoadLibrary也一无所获,看下进程信息
我擦,竟然没有进程信息。。。纠结了。先通过smail看它现有的信息吧。
搜索它的catch_.me_.if_.you_.can_,也依然一无所获, 那么搜索它的版本号呢,
这里定义的版本号,继续往下浏览, 发现:
这里的代码,通过插入输出信息,可以知道,它这里获取了包名,接着原名被替换掉了,至此原来不是没有找到,而是被替换了,所以按照原来的去找就肯定找不到了。
此举做法,应该是防止壳或者检测类软件检测它的进程信息。
接着继续看它的启动信息, 因为该软件能kill掉其他进程,所以它可能是守护进程。
在这里输出exec的参数,可以发现一个关键性的点:
好家伙果然有so 文件 ,那么目录中没有,这里又加载了,说明它的so是通过下载流dump出来的。
继续往下看,发现:
到这里OK,可以在该路径下把so文件给pull出来。
分析so部分
原来它用了ptrace该函数实现注入游戏进程。
通过这两个部分,同样可以对它实行一些检测,比如检测进程在被注入的情况下,进程状态, 检测TracerPid的值, 被注入调试,该值不为0。
菜鸟第一次挑战apk,结果整得怀疑人生,终于知道android apk加密的重要性了。apk如果不做防护,一个菜鸟花一点时间就能破解它,找个在线加密工具做防护还是很必要的,在网上找了几家加密做测试,发现几维安全的apk加密工具,dex文件加密用起来还不错,关键还是免费。平台可以免费使用加密工具,有需要的自取了!
操作方法非常简单只需四步:
1、登录官网注册几维安全账号;
2、上传所需加密文件(如.apk/.so等文件);
3、下载加密完成应用;
此平台也还有其他加密功能,例如:安全检测、安全监测、iOS加密等等。
由于是菜鸟初入门槛,水平所限,写的比较浅显,还请大神勿喷。
0 收藏&&|&&1
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。已解决问题
熟悉Android的牛人进 !! 我现在想做dex(apk)加密的问题,主要是对dex加密后自定义classloader来解密,问题有2个,1,dex加密后,android程序如何找到入口呢(入口不在dex里面么?)2,classloade...
提问时间: 16:03:28
浏览次数:5164
该答案已经被保护
最近需要对数据进行加密/解密, 因此选用了CryptoJS库, 对数据做DES算法的加密/解密 首选查看官方示例, 将密文进行Base64编码, 掉进一个大坑
对这些加密算法不了解, 只能求助Google des encrypion: js encrypted value does not match the java encrypted value In cryptoJS you have to convert the key to hex and useit as word just like above (otherwise it will be considered as passphrase) For the key, when you pass a string, it's treated as a passphrase and used to derive an actual key and IV. Or you can pass a WordArray that represents the actual key. 原来是我指定key的方式不对, 直接将字符串做为参数, 想当然的以为这就是key, 其实不然, CryptoJS会根据这个字符串算出真正的key和IV(各种新鲜名词不解释, 问我也没用, 我也不懂 -_-&) 那么我们只需要将key和iv对应的字符串转成CryptoJS的WordArray类型, 在DES加密时做为参数传入即可, 这样对Message这个字符串加密, 每次得到的密文都是YOa3le0I+dI= var keyHex = CryptoJS.enc.Utf8.parse('abcd1234'); var ivHex = CryptoJS.enc.Utf8.parse('inputvec'); var encrypted = CryptoJS.DES.encrypt('Message', keyHex, { iv: ivHex }); 这样是不是就万事OK了? 哪有, 谁知道这坑是一个接一个啊. 我们再试试Java这边的DES加密是不是和这个结果一样, 具体实现请参考Simple Java Class to DES Encrypt Strings 果真掉坑里了, Java通过DES加密Message这个字符串得到的结果是8dKft9vkZ4I=和CryptoJS算出来的不一样啊...亲 继续求助Google C# and Java DES Encryption value are not identical SunJCE provider uses ECB as the default mode, and PKCS5Padding as the default padding scheme for DES.(JCA Doc) This means that in the case of the SunJCE provider, Cipher c1 = Cipher.getInstance(&DES/ECB/PKCS5Padding&); and Cipher c1 = Cipher.getInstance(&DES&); are equivalent statements. 原来是CryptoJS进行DES加密时, 默认的模式和padding方式和Java默认的不一样造成的, 必须使用ECB mode和PKCS5Padding, 但是CryptoJS中只有Pkcs7, 不管了, 试试看...
咦...使用Pkcs7能得到和Java DES一样的结果了, 哇塞...好神奇 那我们试试统一Java也改成Cipher.getInstance(&DES/ECB/PKCS7Padding&)试试, 结果得到一个大大的错误 Error:java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES/ECB/PKCS7Padding 没办法, 继续Google java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/ECB/PKCS7PADDING I will point out that PKCS#5 and PKCS#7 actually specify exactly the same type of padding (they are the same!), but it's called #5 when used in this context. :) 这位大侠给出的解释是: PKCS#5和PKCS#7是一样的padding方式, 对加密算法一知半解, 我也只能暂且认可这个解释了. 忙完了DES的加密, 接下来就是使用CryptoJS来解密了. 我们需要直接解密DES加密后的base64密文字符串. CryptoJS好像没有提供直接解密DES密文字符串的方法啊, 他的整个加密/解密过程都是内部自己在玩, 解密时需要用到加密的结果对象, 这不是坑我吗? 只好研究下CryptoJS DES加密后返回的对象, 发现有一个属性ciphertext, 就是密文的WordArray, 那么解密的时候, 我们是不是只要提供这个就行了呢? var keyHex = CryptoJS.enc.Utf8.parse('abcd1234'); // direct decrypt ciphertext var decrypted = CryptoJS.DES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse('8dKft9vkZ4I=') }, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); console.log(decrypted.toString(CryptoJS.enc.Utf8)); 果不其然, 到此为止, 问题全部解决, 豁然开朗... 完整代码请参考CryptoJS-DES.html Use CryptoJS encrypt message by DES and direct decrypt ciphertext, compatible with Java Cipher.getInstance(&DES&)。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题android apk 加固有什么办法?有给apk加密的网站【wpe吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:205,652贴子:
android apk 加固有什么办法?有给apk加密的网站收藏
android apk 加固有什么办法?有给apk加密的网站吗?
android apk 加固有什么办法? 看了一些书和网上找的资料比较难做。有没有apk加密的网站?其他第三方的也可以。
酱油党莅临的地方,不仅仅是挽尊,不仅仅是消灭零回复,酱油所过暖意无边
有啊,我知道有爱加密,专门对Android apk 做加密保护的 ,你可以去他们官网看看,试试看。加密效果不错,加密的应用也很多知名的。
可以试试爱加密,他们提供的有基础版和定制服务版,基础版是免费的,楼主可以去体验一下试试,
水一个。。。
路过,,帮忙顶下。。。。学习学习。。
路过,学习一下
爱加密已经弱爆了,梆梆加固才是王道
看来竞争很激烈啊!
wpe 16-详询羽东电气科技,一家集工业自动化销售以及技术服务于一体的高新技术企业,欢迎来电详询
现在这个阵营大了啊
话说阵营加大了,会不会对最终用户造成不知道给如何选择的问题,比如我这种天生有选择困难症的人!希望好的越好,不好的就散了吧,不要影响了这个行业!
呵呵,竞争肯定是要有的,没有竞争,就会懒散,好的竞争受利的还是我们最后用户嘛
求人不如求己,打算在家挂一张自己黑白照片,买点菊花,放点水果,多给自己磕头试试。
登录百度帐号乐固是腾讯推出的移动应用一站式安全解决方案平台。是腾讯开放平台、腾讯云等推荐的应用安全的官方解决方案。
乐固的核心优势包括:
①业内顶级的安全检测引擎:乐固采用腾讯自研的安全检测引擎。腾讯旗下多款用户量上亿级应用均采用该引擎,历经市场考验,可帮助开发者尽早发现应用中存在的安全风险;
②优秀的加固性能:乐固严格控制加固对应用安装包大小及性能影响。加固基本不影响应用的体积、性能、兼容性等;
③良好的兼容性:乐固采用千余款真机而非虚拟机来验证加固稳定性,确保加固方案在主要机型上的兼容;
④全方位的渠道监控:乐固接入了腾讯的海量样本库;同时,也对国内几十个渠道进行不间断的监控,帮助开发者了解分发渠道上的正盗版情况;
若应用不做任何安全防护,极易被病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等,严重侵害开发者的利益。
开发者可以通过使用腾讯开平平台的官方加固方案(乐固)对应用进行安全防护,防止应用分发后,被反编译、调试、盗版、破解、二次打包等威胁,维护开发者的利益。
另外,乐固也提供了移动应用的一站式安全解决方案:包括应用加固(防盗版、防破解)、安全检测(漏洞扫描)、渠道监控(正盗版分发情况监控)和安全SDK(专业场景下的安全解决方案)等。
①若应用未加固:
A、上传安装包时会收到如下提示“您的应用易被破解、盗版,建议立即安全加固”:
B、点击“立即加固”后进入乐固介绍页面
C、点击介绍页面下方的“立即使用”
D、选择对应服务,如加固
E、等待服务完成,下载加固包
F、下载签名工具,对加固包重签名
②若应用使用了第三方加固:
A、上传第三方加固包,会收到如下提示“您使用了第三方加固,我们无法获知加固兼容性及可靠性。推荐您使用腾讯开放平台的官方加固方案”:
B、第三方加固包我们无法保障兼容性、可靠性及上架审核,建议替换为乐固加固包。可以替换为原始未加固包,然后点击“立即加固”,重复步骤①即可。
③若使用了乐固加固包,则会收到如下提示:“您的应用已使用乐固加固,可有效防盗版,反破解!”,您直接继续发布流程即可。
应用加固不可避免的会破坏原有签名,加固后必须对加固包重签名才能发布至应用市场,否则会被提示“应用未签名”。请务必确保加固前后的签名一致。
通常是因为未(正确)签名导致。应用加固不会影响应用既有功能,请排查以下可能问题:
①应用加固前后签名不一致,或者未签名;
②应用本身有签名、文件MD5校验等校验机制;
③多次重复加固极易导致程序异常,请确保使用一次加固。推荐您上传原始安装包,使用乐固进行加固。请勿用第三方加固包或乐固加固包再次加固;
对于无法确认的问题,您可以联系我们。乐固官方QQ群:
通常可能因网络原因造成超时,您可以选择重新加固。若多次失败,建议您联系我们,乐固官方QQ群:
乐固安全检测功能可以帮助开发者发现应用中存在的安全漏洞。我们建议您能根据扫描结果修复漏洞,避免漏洞发布后被利用。
另外,使用乐固的应用加固功能,可以极大的提高漏洞被利用的门槛。因为要利用这些漏洞,需要先破解逆向软件,对应用进行脱壳。因此推荐您使用乐固对应用进行加固,防止应用中的漏洞被轻易利用。
我们基于您的签名信息和包名信息,对市场上主流渠道进行信息分析。为您推送正版和盗版分发信息,让您对渠道分发情况一目了然。
对于渠道数据有疑问,欢迎联系我们。乐固官方QQ群:
乐固提供了诸如安全键盘、安全数据库等SDK,下载SDK的同时注明了SDK的用法和场景。
如果您对如何使用仍然有疑问,欢迎联系我们。乐固官方QQ群:
签名信息请向您的开发人员索取,签名文件一般为keystore或jks的扩展名文件。
部分开发者上传应用到Google Play的时可能会遇到 “您上传的Apk没有经过Zipalign处理”的失败提示。对于需上架Google Play的应用,我们建议勾选zipalign优化。
Zipalign优化是对Apk文件进行存档对齐,确保所有的未压缩数据都从文件的开始位置以指定的对齐方式排列。尤其是.apk压缩包中的图片资源和未加工处理的相关文件,对齐的方式是以4字节对齐。
Zipalign优化能够减少应用程序的RAM内存资源消耗。目前Google Play要求必须使用zipalign优化的安装包,其他应用市场暂无要求。是否选择zipalign您可以以自己的实际情况来自助选择
有其他问题无法解决,或建议意见,欢迎联系我们。乐固官方QQ群:您的位置: >
360app加固后安装失败怎么办
360app加固后安装失败怎么办
有的开发者使用360加固助手之后,发现加固后的apk无法安装了,或者有的安装之后出现了闪退的问题,如果出现这个问题怎么办呢,请看本站提供的解决方法
应用加固不会影响apk本身的功能和性能,如果加固后的apk无法安装或启动闪退,请按以下步骤自检:
1. 加固后需要对下载的apk进行重签名,且加固前后必须保持签名一致()
2. 加固前的原包如果是直接从AndroidStudio或导出的,请先用签名工具对该apk进行签名,再加固,并重新签名,保证加固前后都用签名工具签一次名()
3. 如果加固后使用命令行方式签名,请使用sha1签名算法()
4. 请确认apk本身是否带有校验机制,如签名/文件md5校验等,校验机制会导致与加固不兼容,出现该情况请联系技术QQ群:
使用360加固保是免费的吗?
360加固保线上服务永久免费。
虚拟机/第三方测试平台,测试加固后的APP有崩溃情况怎么办?
虚拟机/第三方测试平台,不能如实反馈加固后的APP在手机运行的真实情况,请使用真机进行测试安装。
为什么上传APP加固,提示&解析为空&?
360加固保有签名校验的功能,需要提交已签名的APP才可以加固,否则会提示&解析为空&。
上传APP加固时提示&已加密&怎么办(如03)?
已加密过的APP无法重复加固,请上传原包进行加固,加固前无需对APP进行代码混淆。
加固时提示&安检未通过&怎么办?(如03/3004)?
请根据提示将原包发送至:,注明:APP加固时安检失败。
为什么加固后的APP在第三方平台统计不到数据?
加固不影响数据统计及其他功能,如出现此类情况,请检查一下原因:
1. 是否把渠道文件写到了注释里,写到注释中会影响数据统计
2. 渠道文件是否在meta-inf中读取,因加固签名校验原因会把meta-inf删掉,所以加固后需要重新把渠道文件打回去。
上一篇: 下一篇:

我要回帖

更多关于 电脑文件夹加密 不压缩 的文章

 

随机推荐