android 游戏sdk嫁接方式
来源:互联网 发布:淘宝零食货源 编辑:程序博客网 时间:2024/04/29 13:43
检测是不是模拟器
# direct methods
.method static constructor <clinit>()V
.locals 1
sget-object v0, Lcom/google/android/gms/ads/AdRequest;->DEVICE_ID_EMULATOR:Ljava/lang/String;
sput-object v0, Lcom/google/ads/AdRequest;->TEST_EMULATOR:Ljava/lang/String;
return-void
.end method
1:最恶心的一种嫁接方式,就是在启动页面的activity中加入代码,判断他的应用是否存在,不存在就不跳转,
什么也不做,造成游戏玩不了!7723
.method public isMobile_lewanExist()Z
##
if-lt v1,v0, :cond_0
:goto_1
const/4 v2,0x1
return v2
##
2:还有就是toast !7723、当乐a.d.cn
string v0,"\u78a.d.cn"
##
.show()
##
把.show()去掉就可以去除toast
3:启动页面的修改!当乐a.d.cn、安智、拇指玩
直接就把启动页修改,执行完自己的代码,跳回原来。
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:name="com.icecry.launcher.GoloRunnerStart" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
##
<activity android:name="com.muzhiwan.sdk.MzwShellActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN"/> 主函数
<category android:name="android.intent.category.LAUNCHER"/>启动页表示
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>随后启动
</intent-filter>
</activity>
##
上边<application ## 标签下的第一个Activity就有可能是原来的启动界面、启动类
<intent-filter/>可能就是原来启动标签写的位置
4:拇指玩的签名检验,在修改完启动页之后游戏出现闪退!Signature
先搜索Signature,
.method private static getSign(Landroid/content/Context;)I
.locals 5
.param p0, "context" # Landroid/content/Context;
.prologue
.line 12
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
.line 13
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
const/16 v4, 0x40
.line 12
invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 14
.local v1, "info":Landroid/content/pm/PackageInfo;
iget-object v2, v1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
const/4 v3, 0x0
aget-object v2, v2, v3
invoke-virtual {v2}, Landroid/content/pm/Signature;->toCharsString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
move-result v2
.line 18
.end local v1 # "info":Landroid/content/pm/PackageInfo;
:goto_0
return v2
.line 15
:catch_0
move-exception v0
.line 16
.local v0, "e":Ljava/lang/Throwable;
invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V
.line 18
const/4 v2, -0x1
goto :goto_0
.end method
这个获取签名,然后搜索getSign,在sdk/utils/Env.smali中有俩个getSign,分别是上边那个和下边这个
.method public static checkSign(Landroid/app/Activity;)V
.locals 3
.param p0, "context" # Landroid/app/Activity;
.prologue
.line 22
invoke-static {p0}, Lcom/muzhiwan/sdk/utils/Env;->getSign(Landroid/content/Context;)I
move-result v0
.line 24
.local v0, "sign":I
const v1, 0x396f215
#if-ne v0, v1, :cond_0
.line 31
:goto_0
return-void
.line 29
:cond_0
sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v2, "wrong sign!"
invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 30
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
goto :goto_0
.end method
改掉判断
- android 游戏sdk嫁接方式
- android项目嫁接过程经验总结
- cocos2djs游戏android sdk接入
- Android SDK国内下载方式
- Android 4.0 SDK的离线方式安装
- Android 4.0 SDK的离线方式安装
- Android 4.0 SDK的离线方式安装
- Android SDK无法更新终极解决方式
- 用命令行方式升级Android SDK
- Android SDK无法更新终极解决方式
- Android SDK无法更新终极解决方式
- 用命令行方式升级Android SDK
- 【unity】开发android游戏android SDK和Java JDK
- 开发Android第一步,安装SDK 1.6, 模拟器及安装游戏
- 开发Android第一步,安装SDK 1.6, 模拟器及安装游戏
- Android SDK实例之Snake游戏深入解析(一)
- android游戏的线程(sdk、jni相关)
- cocos2dx android工程接入电信爱游戏sdk
- 指针(一)
- C语言函数之可变参数原理:va_start、va_arg及va_end
- Activity打开另一个Activity
- L3:==、java.lang.Object 类、toString()
- vim编辑器常用命令
- android 游戏sdk嫁接方式
- ORACLE中创建表空间,创建表,修改表,授权
- linux系统时间同步,硬件时钟和系统时间同步,时区的设置
- jquery 连接在div中显示
- Quartz2D
- centos 重启网站服务器 httpd
- 瀑布流接口的设计以及应用(四)
- C语言中类型转换
- SQLite数据库