Android

Android

353 人关注该话题

请问各位老师,学习Android开发是否一定要先学习Java? Android JAVA

默认分类 胡h 回复了问题 • 11 人关注 • 7 个回复 • 10872 次浏览 • 2017-02-15 17:58

史上最完整的APP商城源码(含服务器) Android

程序源码 / 资料 zheng_song888 回复了问题 • 11 人关注 • 7 个回复 • 6060 次浏览 • 2017-01-02 21:13

作为安卓开发者,你都用到哪些工具? 小调查 Android

扯淡 Checkiming 回复了问题 • 5 人关注 • 4 个回复 • 1018 次浏览 • 2017-01-02 21:03

小米手机如何在Android studio上真机调试 真机调试 AndroidStudio Android

使用问答 wantch2009 回复了问题 • 4 人关注 • 3 个回复 • 681 次浏览 • 2016-12-04 18:34

Android 模拟器为何无法创建新的手机或平板? AVD Android

Android SDK&TOOLS Season_zlc 回复了问题 • 2 人关注 • 1 个回复 • 364 次浏览 • 2016-11-29 13:45

第三方Android SDK安全么?第三方SDK是怎么个操作流程? Android Android SDK

Android SDK&TOOLS 风信子丶 发起了问题 • 2 人关注 • 0 个回复 • 154 次浏览 • 2016-11-28 12:43

AndroidLinker与SO加壳技术之下篇 应用加固 移动开发 app 腾讯御安全 Android

Android 开发 御安全 发起了问题 • 2 人关注 • 0 个回复 • 122 次浏览 • 2016-11-23 17:36

AndroidLinker与SO加壳技术之上篇 Android 应用加固 腾讯御安全

Android 开发 御安全 发起了问题 • 1 人关注 • 0 个回复 • 145 次浏览 • 2016-11-09 14:39

开发者能怎么减少游戏的外挂现象? Android 腾讯御安全

Android 开发 御安全 回复了问题 • 1 人关注 • 1 个回复 • 257 次浏览 • 2016-10-31 17:23

【移动开发】浅谈安卓开发代码混淆技术 Android 混淆技术 代码混淆 腾讯御安全

Android 开发 御安全 发起了问题 • 2 人关注 • 0 个回复 • 254 次浏览 • 2016-10-17 17:48

更多...
3

赞同来自: studio Faith Checkiming

1、中文叫机器人
2、我们称“安卓”,是手机、平板等上用的一种操作系统的名字。
3、还指安卓平台,是Android平台。
4、该OS越来越普及,广泛用于手机、平反、电视等智能电器上,约占市场60%,与之竞争的有IOS,WINDOW,但占比较小,
1、中文叫机器人
2、我们称“安卓”,是手机、平板等上用的一种操作系统的名字。
3、还指安卓平台,是Android平台。
4、该OS越来越普及,广泛用于手机、平反、电视等智能电器上,约占市场60%,与之竞争的有IOS,WINDOW,但占比较小,
1

赞同来自: ask

可以尝试把db文件放到assets文件夹下,直接当做资源来读取。参考一下代码:
{{{
public class DataBaseHelper extends SQLiteOpenHelper {
private Context mycontext;
... 显示全部 »
可以尝试把db文件放到assets文件夹下,直接当做资源来读取。参考一下代码:
{{{
public class DataBaseHelper extends SQLiteOpenHelper {
private Context mycontext;

//private String DB_PATH = mycontext.getApplicationContext().getPackageName()+"/databases/";
private static String DB_NAME = "(datbasename).sqlite";//拓展名可以是.sqlite 或者是 .db
public SQLiteDatabase myDataBase;
/*private String DB_PATH = "/data/data/"
+ mycontext.getApplicationContext().getPackageName()
+ "/databases/";*/

public DataBaseHelper(Context context) throws IOException {
super(context,DB_NAME,null,1);
this.mycontext=context;
boolean dbexist = checkdatabase();//首先判断下db是不是存在 存在的话就直接使用了
if (dbexist) {
//System.out.println("Database exists");
opendatabase(); //直接打开
} else {
System.out.println("Database doesn't exist");
createdatabase();//否则的话才去创建新的db
}
}

public void createdatabase() throws IOException {
boolean dbexist = checkdatabase();
if(dbexist) {
//System.out.println(" Database exists.");
} else {
this.getReadableDatabase();
try {
copydatabase();
} catch(IOException e) {
throw new Error("Error copying database");
}
}
}

private boolean checkdatabase() {
//SQLiteDatabase checkdb = null;
boolean checkdb = false;
try {
String myPath = DB_PATH + DB_NAME;
File dbfile = new File(myPath);
//checkdb = SQLiteDatabase.openDatabase(myPath,null,SQLiteDatabase.OPEN_READWRITE);
checkdb = dbfile.exists();
} catch(SQLiteException e) {
System.out.println("Database doesn't exist");
}
return checkdb;
}

private void copydatabase() throws IOException {
//Open your local db as the input stream
InputStream myinput = mycontext.getAssets().open(DB_NAME);

// Path to the just created empty db
String outfilename = DB_PATH + DB_NAME;

//Open the empty db as the output stream
OutputStream myoutput = new FileOutputStream("/data/data/(packagename)/databases /(datbasename).sqlite");

// transfer byte to inputfile to outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myinput.read(buffer))>0) {
myoutput.write(buffer,0,length);
}

//Close the streams
myoutput.flush();
myoutput.close();
myinput.close();
}

public void opendatabase() throws SQLException {
//Open the database
String mypath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(mypath, null, SQLiteDatabase.OPEN_READWRITE);
}

public synchronized void close() {
if(myDataBase != null) {
myDataBase.close();
}
super.close();
}

}
}}}
1

赞同来自: ask

一、 反外挂系统:现有的反外挂系统主要分为终端侧反外挂系统以及服务器侧反外挂系统。
1)服务器端防外挂系统
①游戏时间相关校验。客户端计时不可信,需要在服务器校验客户端上传的时间参数是否合理,校验游戏过程数据和时间之间的关系是否合理(例如里程、时间、速度关系... 显示全部 »
一、 反外挂系统:现有的反外挂系统主要分为终端侧反外挂系统以及服务器侧反外挂系统。
1)服务器端防外挂系统
①游戏时间相关校验。客户端计时不可信,需要在服务器校验客户端上传的时间参数是否合理,校验游戏过程数据和时间之间的关系是否合理(例如里程、时间、速度关系)
②游戏核心逻辑校验。每次操作均通过协议上传,服务器认可后再实际执行操作,每次操作服务器均要进行合理性判断,且判断结果实时反馈。
③玩家间数据相互校验。各玩家的操作经过服务器中转对其它玩家同步,如果核心逻辑在每个客户端单独计算,各玩家需定时上传各自游戏局势数据,服务器进行对比校验,如果核心逻辑在部分客户端计算,其他玩家需从该客户端同步局势数据,服务器需要校验主逻辑数据是否合理。
④游戏操作时序相关校验。部分操作有明确的时序要求,打乱时序可能导致额外收益。服务器端通过对客户端发送的操作时序进行校验,来判断客户端发送的请求时序是否合理。
服务器端防外挂的缺点:
(1)容易导致误杀
目前很多游戏的反外挂系统采用范围性的数值验证,由于本身的设计原因或者弱网络的原因,很多时候会造成误杀。
(2) 服务器端的设计非常复杂
由于服务器端的数据及流程校验和游戏的代码逻辑息息相关,所以服务器端防外挂的数据以及代码逻辑需要根据客户端的代码逻辑及数据进行设计和开发,这样会导致服务器端防外挂设计和客户端的代码逻辑进行紧耦合。客户端只要进行代码逻辑的修改,也有可能导致服务器端的防外挂系统进行修改。
(3)服务器端防外挂功能无法通用
每一款游戏都有自己的代码逻辑以及各种数据,所以服务器端的防外挂功能无法做到统一标准,对每一款游戏都使用。往往是只能针对特定的游戏进行定制化开发防外挂功能。
(4) 服务器端外挂系统维护成本高
综上所述,由于服务端外挂系统的复杂性以及定制化的多样性,必然导致开发成本以及维护成本不断增高。另外需要在服务器端进行各种逻辑和数据的校验,随着游戏的增多,系统设备的扩容以及系统的计算资源消耗也会越来越大,必然导致硬件成本及数据流量成本的增加。
2)客户端防外挂系统
针对服务器端防外挂系统的不足,御安全加固系统开发出了一种基于客户端加固的防外挂系统,它是一种基于APK加固和防外挂系统相结合的一种防外挂方案。
御安全APK加固技术主要功能:
①DEX文件保护。
采用分片式按需加载技术,攻击者无法在内存中获取完整的DEX文件,再加上DEX内存分散功能,攻击者无法从一片连续的内存中Dump出DEX文件,大大加大了攻击者获取DEX的难度
②SO文件保护。
御安全加固保护逻辑,通过源码级的混淆,采取多种混淆方式,攻击者无法逆向其代码逻辑,另外,基于动态加载的SO加壳技术,也使得攻击者无法逆向保护逻辑以及原APK中SO的代码逻辑。
③资源文件保护。
御安全加固系统,可以针对APK的Assets,Raw及Res目录下的所有文件进行加密保护并进行完整性校验,经过御安全加固系统加固后的APK,资源无法被篡改,例如无法增加广告界面,也无法盗版APK里面的资源。可以很好地保护开发者的知识产权。
④内存保护。
防止通过动态调试的方式对APK进行调试,加固APK在被调试,或者其内存被篡改后,加固APK将自动退出。也可以防止通过进程调试的方式对加固APK进行进程调试,加固APK被进程调试的时候,加固APK也将自动退出。经过御安全加固系统加固后的APK,可以防止市面上所有主流的外挂软件对加固APK进行内存修改,如烧饼修改器,八门神器,叉叉修改器等上十种主流外挂软件。
⑤防止内存dump。
APK在运行时候,会在内存中释放全部或者部分源码,攻击者可以在运行时刻利用dump命令把这些源码导出。御安全加固后的APK,可以有效防止攻击者从内存中复制源代码。
⑥防游戏加速。
攻击者或者游戏玩家,通过市面上的外挂软件,可以加快游戏速度,破坏游戏平衡,用于加快战斗速度或者等待时间等场景。御安全加固后的APK,一旦发现玩家或者攻击者有加速或者减速游戏的行为,APK将自动终止运行。
御安全的整体APK保护方案以及对协议关键代码的保护,可以防止攻击者逆向协议的流程或者算法,避免攻击者对协议进行攻击,防止外挂软件通过破解协议的方式,攻击加固后的游戏。

二、 云-端结合防外挂攻击
相对于服务器端的防外挂软件系统,终端侧的防外挂方法也有其弱点,因为攻击者能够得到终端侧防外挂功能的逻辑实体,尽管我们对其做了严密的保护,但是也难免可能被攻击者绕过防外挂功能。因此如果腾讯御安全加固系统能和服务器端防外挂系统的有效结合,就可以很好地阻止外挂软件对加固游戏的攻击,从而减少游戏开发商的损失。另外御安全加固APK,采取一键式的保护方式,可以方便,快捷地为游戏开发商提供保护服务器。加固后的APK,兼容性接近100%,加固后的APK运行Crash率控制在0.02%以内。启动速度以及其它性能影响,对用户无任何感知。
更多...

Android安全之Intent Scheme Url攻击 apk Android app 腾讯御安全 漏洞分析 url攻击

技巧/经验/BUG 御安全 发表了文章 • 0 个评论 • 127 次浏览 • 2016-12-13 15:51

AndroidNative层文件解析漏洞挖掘指南 apk app 应用加固 腾讯御安全 Android

Android 开发 御安全 发表了文章 • 5 个评论 • 142 次浏览 • 2016-12-01 17:34

Android Studio大课堂 - 7.1扩展功能 - 截屏或录制视频 Android Android Studio

投稿文章 浮游大虾 发表了文章 • 0 个评论 • 2166 次浏览 • 2015-02-15 00:08

Android Studio大课堂 - 6.2.打包 - 友盟多渠道包示例 Android AndroidStudio

投稿文章 浮游大虾 发表了文章 • 1 个评论 • 11978 次浏览 • 2015-02-15 00:04

Android Studio大课堂 - 6.1.打包 - 详解build.gradle Android AndroidStudio

投稿文章 浮游大虾 发表了文章 • 0 个评论 • 8387 次浏览 • 2015-02-14 23:54

Android Studio大课堂 - 5.编译&运行&调试&优化 AndroidStudio Android

投稿文章 浮游大虾 发表了文章 • 1 个评论 • 2783 次浏览 • 2015-02-14 23:47

Android Studio大课堂 - 4.3.Coding - 使用第三方库 Android AndroidStudio

投稿文章 浮游大虾 发表了文章 • 1 个评论 • 8602 次浏览 • 2015-02-14 23:30

Android Studio大课堂 - 4.2.Coding - 写代码 AndroidStudio Android

投稿文章 浮游大虾 发表了文章 • 0 个评论 • 1587 次浏览 • 2015-02-14 23:16

Android Studio大课堂 - 4.1.Coding - 定位目标 AndroidStudio Gradle Android

投稿文章 浮游大虾 发表了文章 • 1 个评论 • 1870 次浏览 • 2015-02-10 23:56

更多...