1.会看smali代码逻辑
一.快速定位关键代码
1.分析流程
搜索特征字符串
搜索关键 api
通过方法名来判断方法的功能
2.快速定位关键代码
反编译 APK 程序
AndroidManifest.xml=>包名/系统版本/组件
程序的主 activity(程序入口界面)
每个 Android 程序有日只有一个主 Activity
分析程序的执行流程
需重点关注的 application
application 执行时间
授权验证
3.定位关键代码的技巧
信息反馈法(资源 id/字符串)
特征函数法(api 函数)
顺序查看法(分析程序执行流程/病毒分析)
代码注入法(动态调式/插入 log/查看logcat/分析加解密)
栈跟踪法(动态调式/函数调用流程)
Method Profiling(方法剖析=>动态调式/热点分析//函数调用流程)
特征关键词
关键词
skill 技能
icon 选英雄那个界面的图像
effect 效果
show 显示
battle 战斗
Bust 大招
Circl 圈
Small 小
loading 加载图
和游戏搜索:onResult
联通游戏搜索:OnPayResult
电信爱游戏搜索:
paySuccess
成功
payCancel
取消
payFailed
失败
onFinished
完成
移动mm搜索:onBillingFinish
支付宝和银行卡方法名:handlemessage
支付宝搜索字符串:9000
360支付:onfinished onActiv ityresult
发送短信权限
android.permission.SEND_SMS
锁定支付模式关键字符串
CHINA_TELECOM
话说怎么去除sim卡检测
安装包 xml里面找到
android.permission.SEND_SMS 删除即可
const-string v0, "弹窗内容,可填unicode码"
const/4 v1, 0x1
invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
金币 gold、coin
钱,钞票 Money
现金 cash
钻石、宝石 Gem、diamond
生命 health、life、HP、Max hp
蓝 mp、sp、Power
攻击 attack(atk)、fight、hit、damage
防御 defence(def)
护甲 Armor
物理 physic(phy)
魔法 magic(mag)
暴击 Crit(cri)(crt)
闪避 Dodge
范围 rangegem
速度、频率 speed
改路 Rate
恢复 Recover
取 get
置 set
支付 bill、billing、pay、purchase
成功 success
失败 fail
取消 cancel
分数 Score
死亡 Dead
英雄、玩家 Hero、player
怪物、敌人 monster、Enemies(enemy)
初始化 init
力量 power、str、strength
智力 int、Intelligence
运气 luk、luck
敏捷 AGI、agile
体质 vital、vit、stamina
技能伤害 skilldamage
换弹速度 initalize
支付上限:
carrier_pay_out_limit
no_propriate_pay_method
和游戏搜索方法名:
onResult,onchinabi11ing,
resulton,
Paycenter,CalIback
联通游戏搜索方法名:
0nPayResult,
Activity,
PyaResulton,
cal1back
result,
电信爱游戏搜索方法名:
paySuccess 成功,
payCancel 取消,
payFai1ed失败
移动mm搜索方法名:
Cal1Back
onBillingFinish,Billing,
支付宝和银行卡方法名:
handle,
message
支付宝搜索字符串
9000,
360 支付
Activityresult
onfiniShedon,
发送短信限:
android.permission.SEND_SMS
发送短信锁定支付式关建字符
串:
CHI NA_ TELECOM
中国电信
46003,
46005,
46011
CHI NA_ MOBI LE
中国移动
46007
46020,
46000,
46002,
CHI NA_UN
微信:
onresp
谷歌广告:
Missing internet permission in AndroidManifest.xml
4399:
notifydelivergoods
上限:
isowned
关卡:
level
爱游戏:
invoke-interface {v3,v2} Lcn/egame/terminal/paysdk/EgamePayListener;->paySuccess(Ljava/util/Map;)V
return-void
弹窗:
const-string v0, "内容"
const/4 v1, 0x1
invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0},Landroid/widget/Toast;->show()V
方法名:
和游戏方法名onResult,onchinabilling,resulton,Paycenter,Callback
爱游戏方法名:paySuccess(成功)payFailed(失败)payCancel(成功)
沃游戏方法名:OnPayResult,PyaResulton,Activity,result,callback
4399游戏方法名:notifydelivergoods
支付宝和银行卡方法名:handle,message
移动MM方法名:onBillingFinish,Billing,CallBack
360支付:onfinished onActiv ityresult
支付宝搜索字符串:9000
咪咕游戏搜索常量:onresult
发送短信权:android.permission.SEND_SMS
锁定支付模式关键字符串:CHINA_TELECOM
支付上限:carrier_pay_out_limit, no_propriate_pay_method
谷歌广告:Missing internet permission in AndroidManifest.xml
-----------------------------------------------------------分割线
运营商网络特征码备注:
中国移动46000、46002、46007、46020return 0 getMobileType
中国联通46001、46006、46010return 2 getOperatorType
中国电信46003、46005、46011return 1 getSimType
-----------------------------------------------------------分割线
修改dll
skill 技能
icon 选英雄那个界面的图像
effect 效果
show 显示
battle 战斗
Bust 大招
Circl 圈
Small 小
loading 加载图
gold、coin 金币
Money 钱,钞票
cash 现金
Gem 钻石
diamond 宝石
health、life、HP、Max hp 生命
mp、sp、Power 蓝
attack(atk)、fight、hit、damage 攻击
defence(def) 防御
Armor 护甲
physic(phy) 物理
magic(mag) 魔法
Crit(cri)(crt) 暴击
rangegem 范围
Dodge 闪避
Rate 改路
speed 速度、频率
Recover 恢复
get 取
set 置
bill、billing、pay、purchase 支付
success 成功
fail 失败
cancel 取消
Score 分数
Dead 死亡
Hero、player 英雄、玩家
monster、Enemies(enemy)怪物、敌人
init 初始化
power、str、strength 力量
int、Intelligence 智力
luk、luck 运气
AGI、agile 敏捷
vital、vit、stamina 体质
skilldamage 技能伤害
initalize? ?换弹速度
isowned 上限
level 关卡
onresp 微信
create 创造
toxicity 毒性
CHR 魅力
cool time、cd skill cool time 冷却
fame 名声
KARMA 因果值
-----------------------------------------------------------分割线
AllEnemiesDead() : Boolean 所有敌人死亡
AllHeroDead() : Boolean 所有英雄死亡
EndBattle() : Void 结束战斗
-----------------------------------------------------------分割线
1、无敌(被撞机以后会死,免疫子弹)
关键词:max hp 最大血量
PlayerControl.init() : Void(增加自己的血量)
2.无敌(无限复活,全免疫)
关键词:damage 伤害
PlayerControl.Hurt(Single) : Void(玩家伤害承受,是否死亡判断)
3.秒杀
关键词:max hp 最大血量 monster 怪物
Monster.initMonster(String, Int32, Int32, Int32, Single, Vector3, Vector3, Single, Boolean, String[], String[], String[], Single[], String[], Single[], Int32) : Void (初始化怪物数据)
------------------------------------------------------------------分割线
HeroLvModel.get_HP() : Int32(绝对是血量,成功)
HeroModel.get_HP() : Int32(绝对是血量,成功)
HeroLvModel.get_GoldCoinAddition() : Single(感觉是金币加成,成功)
------------------------------------------------------------------分割线
存档调用代码:
invoke-static/range {p0 .. p0}, Lcom/savegame/SavesRestoring;->DoSmth(Landroid/content/Context;)V
------------------------------------------------------------------分割线
一般游戏属性英文缩写如下:
ATN物理攻击力
DEF防御力
INT魔法攻击力,
ATT攻击力
SPD速度,回避物理攻击之类的
HIT命中率或者连击之类的
RES魔法防御力
STR力量(微量增加生命值、近战伤害.力、负重力)
CON体质(增加生命值、负重力、精力上限)
DEX灵巧(增加命中率、微量减少受到的物理损伤)
PER感知力(回避力、远程伤害加给、暴击率)
LER学识(法力_上限、技能的成长率)
WIL意志力(影响生命值、法力、精力上限,大多数医疗、增益法术的优势属性)
MAG魔力( 影响法力,上限,大多数攻击法术的优势属性)
CHR魅力( 影响NPC如何对待角色,同时也影响商店道具的售价、表演收入、能有多少宠物)
SPEED决定角色经过多久之后是一回合,同时也影响在世界地图.上的移动力
LIFE角色每级HP的成长率(100%是标准值)