防止apk反编译的技术分析浅谈--内存修改器篇
声明:
1.本帖转载自http://jingyan.baidu.com/article/a24b33cd509eb719fe002b94.html,仅供自用,勿喷
Apk反编译修改器有很多。拿其中的比较出名的八门神器来说,该应用通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HP、MP、生命数等等参数。辛辛苦苦开发的游戏或应用被修改器一修改就悲催了。 就通过一个demo来讲下,怎么通过多数据关联来保护应用的重要数据不被修改。这个demo很简单,只有一个TextView和一个Button。点击Button,TextView加一。
运行八门神器,锁定gold内存地址,把值改为999。然后点击Button,click方法中,代码从内存中读取了被修改的gold值,并把它+1显示到TextView。TextView显示1000,数据修改成功。
下面我们对代码进行下修改,增加一个变量goldMd5用来存放加密后的gold值。这样我们就用了两个变量来保存gold的值,一份加密的和一份未加密的变量。
每次使用gold值时都对获取的gold进行md5加密然后与goldMd5进行比较。如果不相同,说明gold值被修改了。我们可以判断为作弊了,我这里对作弊的处理是把gold值改为0,并提示作弊。如果加密数据使用的des算法,还可以通过解密goldMd5,来获取真实的gold值。
下面测试下demo还能不能被修改。使用八门神器把gold改为999。然后点击Button,数据修改失败。
防止apk反编译的技术分析浅谈--内存修改器篇的更多相关文章
- 技术分析 | 浅谈在MySQL体系下SQL语句是如何在系统中执行的及可能遇到的问题
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 SQL语句大家并不陌生,但某种程度上来看,我们只是知道了这条语句是什么功能,它可 ...
- Android反编译,apk反编译技术总结
1.谷歌提供的工具:android-classyshark 下载地址:https://github.com/google/android-classyshark/releases,下载下来之后是一个可 ...
- Android apk反编译基础(apktoos)图文教程
本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...
- Android APK反编译(一)
apk是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP.反编译apk则是将该安卓工程的源码.资源文件等内容破解出来进行分析. 一.APK反编译基本原理 1.APK分析 apk文 ...
- APK反编译之一:基础知识—APK、Dalvik字节码和smali文件
refs: APK反编译之一:基础知识http://blog.csdn.net/lpohvbe/article/details/7981386 APK反编译之二:工具介绍http://blog.csd ...
- apk反编译——基础是内功,得牢,飞跃还得多看源码,不同思想的碰撞才能产生火花,加油!!!!!!!!
1.获取java源代码 1.1 dex2jar&jd-gui dex2jar:将apk反编译成class文件(classes.dex转化成jar文件) jd-gui:查看APK中classes ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- APK反编译之一:基础知识
作者:lpohvbe | http://blog.csdn.net/lpohvbe/article/details/7981386 这部分涉及的内容比较多,我会尽量从最基础开始说起,但需要读者一定的a ...
- 实践APP安全性检测(一):APK反编译
1.概述 APP安全性一般可以从以下几方面进行考量: 以及其他一些杂项(或者通用并不局限于APP的安全项): 本文讨论反编译问题. 2.APK反编译 安卓开发的APP,如果不做任何处理是很容易被反编译 ...
随机推荐
- K-means + PCA + T-SNE 实现高维数据的聚类与可视化
使用matlab完成高维数据的聚类与可视化 [idx,Centers]=kmeans(qy,) [COEFF,SCORE,latent] = pca(qy); SCORE = SCORE(:,:); ...
- Hyperledger_Fabric_Model
Hyperledger_Fabric_Model 本部分描述了Hyperledger Fabric的主要设计特点 Assets: 资产定义使得任何东西都可以通过货币值在网络中交易,从食物到老爷车再到期 ...
- scrapy-redis+selenium+webdriver 部署到linux上
背景:在使用selenium时,在本地使用windows,都会有一个图形界面,但是到了生产环境linux上没有了图形界面怎么部署呢? 解决方案: 1.安装图形化界面,不推荐,因为安装图形化界面会占用很 ...
- ArrayList中ensureCapacity的使用与优化
对于ArrayLis中有一个方法ensureCapacity(int n),这个方法可以对ArrayList低层的数组进行扩容,显示的调用这个函数,如果参数大于低层数组长度的1.5倍,那么这个数组的容 ...
- Friends and Cookies(思维)
Abood's birthday has come, and his n friends are aligned in a single line from 1 to n, waiting for t ...
- Python:元组操作总结
Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号,如下: tup1=('physics','chemistry',1997,2 ...
- Spring 依赖的Jar包简介
Spring 依赖的Jar包简介 Spring的依赖关系 依赖关系分组 JAR文件 说 明 ant ant.jar, ant-junit.jar, ant-launcher.jar Spring采用A ...
- linux +redis 安装 +mongo 安装
Linux 下redis安装 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://download.redis.io/releases/redis-2.8.17.tar ...
- 【软工实践】第四次作业--爬虫结合WordCount
结对同学博客链接 本次作业博客链接 github项目地址 具体分工 我主要负责用python写爬虫部分,他负责C++部分 PSP表格 解题思路 代码的核心思路是利用爬虫,爬取论文网址,之后吧对应信息( ...
- windows+ubuntu时间修改问题
只需要在ubuntu系统数输入一行指令即可 timedatectl set-local-rtc 1 --adjust-system-clock