请问apktool助手怎么把界面注册机和IMEI注册机通史添加 - 爱问答

(爱问答)

请问apktool助手怎么把界面注册机和IMEI注册机通史添加

 首先得了解,一个Android程序由一个或多个Activity以及其他组件组成,每个Activity都是Android程序的一个展示“页面”,负责数据的处理和展示工作。并且每个Android程序有且仅有一个主Activity(隐藏程序没有主Activity)它是程序启动的第一个Activity。知道了这些,我们就看看追魂Call3的第一个“页面”即是展示注册机制的Activity包含了哪些元素。

然后打开追魂Call3的VerifyActivity.smali,其instance fields已经显示出所引用的组件:

[java] view plain copy
  1. //两个按钮  
  2. .field private a:Landroid/widget/Button;  
  3. .field private b:Landroid/widget/Button;  
  4. //一个浏览文本  
  5. .field private c:Landroid/widget/TextView;  
  6. //一个编辑框  
  7. .field private d:Landroid/widget/EditText;  
  8. //验证注册的本地SharedPreferences  
  9. .field private e:Landroid/content/SharedPreferences;  
  10. //获取手机通讯状态相关的方法,这个会涉及到系统权限  
  11. .field private f:Landroid/telephony/TelephonyManager;  
  12. //提示框  
  13. .field private g:Landroid/app/ProgressDialog;  

VerifyActivity中各种的方法:1、在a()方法中有引用DESUtil.smali的encryptDES解密方法。

[java] view plain copy
  1. invoke-static {v0}, Lcom/call3/DESUtil;->encryptDES(Ljava/lang/String;)Ljava/lang/String;  

注意:这里面也有启动主Activity

2、在onclick()方法中有一个资源ID:0x7f070014

[html] view plain copy
  1. :pswitch_data_0  
  2. .packed-switch 0x7f070014  
  3.     :pswitch_0  
  4.     :pswitch_1  
  5. .end packed-switch  

3、在onCreate()方法中资源ID有:0x7f030001、0x7f070012、0x7f070014、0x7f070015、0x7f070013。还有一个启动主功能MainActivity

[java] view plain copy
  1. new-instance v0, Landroid/content/Intent;  
  2. const-class v1, Lcom/call3/MainActivity;  
  3. invoke-direct {v0, p0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V  
  4. invoke-virtual {p0, v0}, Lcom/call3/VerifyActivity;->startActivity(Landroid/content/Intent;)V  

对于DESUtil.smali,它又引用了Base64.smali文件中的encode方法:

[java] view plain copy
  1. invoke-static {v0}, Lcom/call3/Base64;->encode([B)Ljava/lang/String;  

这样,答题的流程我们就知道了:首先在AndroidMainfest.xml中配置主Activity为VerifyActivity,然后导入layout布局文件activity_main.xml,同时还要引用DESUtil.smali和Base64.smali。同时要注意TelephonyManager有关权限的增加。

[java] view plain copy
  1. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
  2. <uses-permission android:name="android.permission.CALL_PHONE"/>  
  3. <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>  

好了,我们开始动工吧。开始操作1、将SuperChm程序的主Activity修改为VerifyActivity,原主Activity变为一般;2、在原主Activity的文件夹下导入:VerifyActivity.smali、DESUtil.smali和Base64.smali。在layout布局文件夹下,导入activity_verify.xml。3、将VerifyActivity.smali、DESUtil.smali、Base64.smali文件中的“Lcom/call3/”全部替换成“Lcom/jrzheng/superchm/Activity/”。更改VerifyActivity.smali中启动的主Activity,即:

[java] view plain copy
  1. const-class v1, Lcom/call3/MainActivity;  

改为:

[java] view plain copy
  1. const-class v1, Lcom/jrzheng/superchm/Activity/MainActivity;  

4、开始最艰辛的一个过程,设置资源ID。自行对比吧。

[java] view plain copy
  1. 添加color:colors.xml、public.xml、R$color.smali;  
  2. 添加“btn_verify”:ids.xml、public.xml&id、R$id;  
  3. 添加“activity_verify”:public.xml&layout、R$layout;  
  4. 添加“tv_imei”:ids.xml、public.xml&id、R$id;  
  5. 添加“btn_close”:ids.xml、public.xml&id、R$id;  
  6. 添加“et_pwd”:ids.xml、public.xml&id、R$id;  
  7. 添加“tv_title”,ids.xml、public.xml&id、R$id;  

 

[java] view plain copy
  1. 0x7f070014->btn_verify的ID  
  2. 0x7f030001->activity_verify的ID  
  3. 0x7f070012->tv_imei的ID  
  4. 0x7f070015->btn_close的ID  
  5. 0x7f06007f->et_pwd的ID  

 

这个追魂Call3的注册机制还有一个好处就是注册成功以后,再打开就不再显示注册界面。

 

相关下载

包括追魂Call3、注册机、SuperChm、SuperChm_Verfiried


相关标签:apk

下一篇:Windows10怎么设置绝地求生不卡

上一篇:微星GTX9602GD6显卡能玩GTA5和使命召唤11高级战争吗

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?