好友
阅读权限10
听众
最后登录1970-1-1
|
25吾爱币
一、最近看了点(安卓逆向这挡事),产生了浓厚的兴趣,然后想起最近玩的款手游,就想捣鼓捣鼓,过程中遇到点问题,请懂行的大佬帮助看看怎么弄。二、平常玩游戏有用到2个app,第一个是官方下载原生app登录平台,第二个是通过海鲜平台买的个修改版app(有免广告、无限加速效果等),修改版通过购买卡密网络验证登录,买的永久卡密,但是最近老是更换网络验证平台,更换新的卡密需给什么维护费,永久卡密就是包更新的,居然不守诚信,就想到了逆向这挡事。
三、修改版app是打开app后弹出卡密登录网页,验证成功后加载js,输入游戏账号密码后登录游戏,开起辅助效果;
我首先找到弹出网页代码位置
.method private loadUrl(Ljava/lang/String;)V
.registers 3
.line 90
iget-object v0, p0, Lcom/ssjj/fnhf/app/MainActivity;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_f
const-string p1, "http://1*3.1*3.1*3.1*3..html?fn_url_id=jl*JHUry"\\(弹出的就是这个网络验证地址)
.line 91
invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
.line 92
iget-object p1, p0, Lcom/ssjj/fnhf/app/MainActivity;->mWebView:Landroid/webkit/WebView;
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/webkit/WebView;->setVisibility(I)V
:cond_f
return-void
.end method
-----------------------------------------------------------分割线------------------------------------------------------------
再来找出原生app该处的代码,来做个比较,红色部分为不同
.method private loadUrl(Ljava/lang/String;)V
.registers 3
.line 90
iget-object v0, p0, Lcom/ssjj/fnhf/app/MainActivity;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_d
.line 91
invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
.line 92
iget-object p1, p0, Lcom/ssjj/fnhf/app/MainActivity;->mWebView:Landroid/webkit/WebView;
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/webkit/WebView;->setVisibility(I)V
:cond_d
return-void
.end method
四、如果跳过const-string p1, "http://1*3.1*3.1*3.1*3.html?fn_url_id=jl*JHUry"这行代码进游戏就没有辅助效果,那就是这个网址验证成功后返回了值,然后我通过抓包发现网络验证成功后游戏加载了一个js文件http://1*3.1*3.1*3.1*3.script.js,打开js文件发现了修改游戏参数的一些字符,那应该就是它。
五、因为老弟是0基础,所以直接 把const-string p1, "http://1*3.1*3.1*3.1*3..html?fn_url_id=jl*JHUry"修改为const-string p1, "http://1*3.1*3.1*3.1*3.script.js",保存打开app,首页直接显示成了js里面的代码,这确实有点sb,但是我不知道怎么让游戏直接加载这个js文件。
求大佬帮忙给个方案,把这个代码const-string p1, "http://1*3.1*3.1*3.1*3.html?fn_url_id=jl*JHUry"更换成直接加载js的代码, 跪谢
|
最佳答案
查看完整内容
我理解你想绕过修改版手游的卡密验证,直接加载辅助功能的 JS 文件。你尝试直接替换 URL 的方法是行不通的,因为加载网页和加载 JS 文件是不同的操作。
以下是一些可能的方案,但成功率取决于游戏的具体实现:
**1. 拦截网络请求:**
* 使用工具(例如 HTTP Debugger Pro)拦截游戏发出的网络请求。
* 找到加载 `http://1*3.1*3.1*3.1*3.script.js` 的请求,并将其替换为你本地存放的 JS 文件地址。
* 这种方法需要你找 ...
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|