当前位置:首页 » 编程软件 » 反编译添加自启管理

反编译添加自启管理

发布时间: 2025-03-15 01:39:30

A. 在Android系统上启动知乎app时会唤醒微信是什么原因

本回答信息来自针对微信Android客户端以及知乎Android客户端的分析。

我手机上装了一键清理的软件,平时从来不让微信在后台运行,但是每当打开知乎,不出三秒,微信消息就来了,消息并不固定,只是感觉微信被打开了,我在想知乎是不是跟微信合作,后台打开微信,然后以此来赚钱的呢?
首先针对题主的疑问,准备的回答:不是

实际的情况是,知乎调用微信sdk中分享的相关接口,微信sdk的相关接口里面,给微信发送了一个广播,微信app就被唤醒了,这不是知乎的主观行为,而是微信的(而且结合实际的分析来看,这个应该也算是正常的功能)。

以下是详细分析:

1 首先说一下app的被唤醒(自启动)机制。
app自启动,基本上都是依靠Android的广播来实现的,而且是静态注册的广播(在AndroidManifest.xml文件中进行配置的广播),发送广播的方法在一般情况下是sendBroadcast。

2 按照惯例,反编译一下微信apk,然后搜索一下它能够由哪些静态广播进行唤醒,同时抓取广播相关的log。

结合微信的AndroidManifest.xml文件以及抓取的log,可以知道相关的BroadcastReceiver是EntryReceiver,相关的action 为

com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER

从其名称上看,是和注册/注销相关,具体接收到广播之后做了哪些处理,这些就不赘述了。

I/ActivityManager( 1107): Start proc com.tencent.mm for broadcast com.tencent.mm/.plugin.base.stub.WXEntryActivity$EntryReceiver: pid=28779 uid=10131 gids={50131, 3003, 1028, 1015, 3002, 3001}

<receiver android:name="com.tencent.mm.plugin.base.stub.WXEntryActivity$EntryReceiver">
<intent-filter>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER"/>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER"/>
</intent-filter>

3 接下来分析知乎的代码

搜索一下知乎反编译之后的smali文件(sendBroadcast),其中只有一条是和微信相关的

hu_2.0.3_176/smali/com/tencent/mm/sdk/openapi/j.smali: invoke-virtual {v0, v4, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V

再看一下反编译的java文件,能够比较清楚的看到,就是利用com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
这个action来进行注册,检查一些必要的信息。

根据这些信息,结合微信和知乎反编译之后的文件,已经可以完整的分析具体发生了哪些事情了。

com.tencent.mm.sdk.openapi.j

public final boolean a(String paramString)
{
if (!b("com.tencent.mm"))
{
com.tencent.mm.sdk.platformtools.a.a("MicroMsg.SDK.WXApiImplV10", "register app failed for wechat app signature check failed");
return false;
}
this.b = paramString;
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.WXApiImplV10", "register app " + this.a.getPackageName());
Context localContext = this.a;
String str1 = "weixin://registerapp?appid=" + this.b;
String str2 = "com.tencent.mm" + ".permission.MM_MESSAGE";
Intent localIntent = new Intent("com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER");
String str3 = localContext.getPackageName();
localIntent.putExtra("_mmessage_sdkVersion", 553910273);
localIntent.putExtra("_mmessage_appPackage", str3);
localIntent.putExtra("_mmessage_content", str1);
localIntent.putExtra("_mmessage_checksum", b.a(str1, str3));
localContext.sendBroadcast(localIntent, str2);
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.MMessage", "send mm message, intent=" + localIntent + ", perm=" + str2);
return true;
}

4 最后,因为偷懒,所以我只是大概的静态分析了相关代码,没发现知乎和微信做了什么丧失的事情,然后大概加了段log check了一下,从中也可以看出的确是和分享有关,至于使用时机及频率是否合适,这个和问题没什么关系,不做讨论。

D/hillwind( 5766): java.lang.Throwable
D/hillwind( 5766): at com.hillwind.android.util.RLog.printStackTrace(RLog.java:11)
D/hillwind( 5766): at com.tencent.mm.sdk.openapi.j.a(Unknown Source)
D/hillwind( 5766): at com.hu.android.util.af.b(WeChatHelper.java:43)
D/hillwind( 5766): at com.hu.android.widget.a.b(ActivityChooserModel.java:721)
D/hillwind( 5766): at com.hu.android.widget.ShareActionProvider.setShareIntent(ShareActionProvider.java:98)
D/hillwind( 5766): at com.hu.android.ui.fragment.bx.a(QuestionViewerFragment.java:221)
D/hillwind( 5766): at android.support.v4.app.j.a(FragmentManager.java:1973)
D/hillwind( 5766): at android.support.v4.app.g.onCreatePanelMenu(FragmentActivity.java:226)
D/hillwind( 5766): at android.support.v7.a.b.a(ActionBarActivity.java:233)
D/hillwind( 5766): at android.support.v7.a.g.a(ActionBarActivityDelegateICS.java:146)
D/hillwind( 5766): at android.support.v7.a.b.onCreatePanelMenu(ActionBarActivity.java:200)
D/hillwind( 5766): at android.support.v7.a.g$a.onCreatePanelMenu(ActionBarActivityDelegateICS.java:293)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:472)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:878)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:257)
D/hillwind( 5766): at android.os.Handler.handleCallback(Handler.java:733)
D/hillwind( 5766): at android.os.Handler.dispatchMessage(Handler.java:95)
D/hillwind( 5766): at android.os.Looper.loop(Looper.java:136)
D/hillwind( 5766): at android.app.ActivityThread.main(ActivityThread.java:5140)
D/hillwind( 5766): at java.lang.reflect.Method.invokeNative(Native Method)
D/hillwind( 5766): at java.lang.reflect.Method.invoke(Method.java:515)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
D/hillwind( 5766): at dalvik.system.NativeStart.main(Native Method)

B. 怎么把手机软件图标换成自己想要的

若使用的是vivo手机,进入手机设置--锁屏、桌面与壁纸--桌面设置--(图标风格)--图标圆角/图标样式中设置;若设置中没有此路径:可以进入手机i主题--主题--下载其他主题应用来更改软件图标。

C. 联想e40怎样设置u盘启动项

联想e40怎样设置u盘启动项(联想e40怎样设置u盘启动项目)新手说明:黑苹果,Search一下你懂得~~~
首先说明,作为新手,想用个人普通笔记本或PC安装初次尝试安装黑苹果,目的可能仅仅为使用MacOS丝滑般的流畅度。并且大学里使用windows笔记本mac版qq可以秀一手。
并且最可贵的是,mac版优酷,爱奇艺等可以跳跃广告,爆赞~~~
新手安装教程
镜像,声卡、网卡驱动均已提供下载链接,其他型号PC只需安装相应驱动即可。
小白入门(少走歪路):
1.镜像不区分主机型号,不同的笔记本机型只在Clover引导,与驱动有所区分。
2.出现黑屏或引导不成功,多为Clover配置问题。
3.显卡只支持集成显卡。如果是独显,需要在BIOS里设置为Intel集显。

【使用镜像】macOS High Sierra 10.13(17A405) Installer 电脑 with Clover 4238.dmg
【适配机型】
机型:联想笔记本E40-80 (其他机型一般也可以,但需要各位摸索)
处理器:Inter i5 5200U
显卡: Intel HD Graphics 5500
【主要问题】关于AHCI的问题,度娘搜了一大堆说是BIOS里设置,但是没找见。最后确定联想昭阳系列BIOS默认支持AHCI,无需配置BIOS。
硬件配置:cpu-z测试结果如下
【安装步骤】
一、【分区GPT+EFI】准备系统盘(磁盘或移动硬盘或SSD均可)
:DiskGenues
使用方法:Win下或者WinPE下打开,格式化系统盘。
分区:【1】MBR转换为GPT,新建300MEFI分区(也叫ESP)。
【2】系统分区

二、制作U盘启动盘,准备8G以上U盘(解压文件6G左右)
1.安装TransMac
2.提取镜像到U盘电脑
3.U盘引导安装
【启动问题】
开机按F2进入BIOS----禁用AMD独立显卡(只用HD5500显卡)----禁用VT------启用EFI引导模式;
【错误总结】
1、U盘启动盘进入后黑屏,显示输入标
问题:BIOS启动模式为Legacy,为改为EFI
2、进入系统后弹出若干命令行后报错:
Clover中config.plist文件不配合,更换改文件。
3、启动后卡在苹果logo或者出现禁行符,Clover引导不对,可更换镜像试试或者U盘插在了USB3.0接口,更换到笔记本的USB2.0接口。
【工具下载】因外链会被屏蔽,需要的私信
TransMac启动盘工具
黑苹果四叶草镜像
小度WIFI教程与下载地址
---------------------------高级进阶----------------------------------
【驱动安装】
0、无线网卡安装(用的小度WI-FI)
此驱动适用于小度wifi(360随身wifi),兼容MAC OS X 10.6 10.7 10.8 10.9 (10.10往下看哈!)
a.无线网卡功能:安装此驱动后,小度wifi在MAC OS X平台实现USB无线网卡功能。
b.wifi共享功能(白苹果适用):使用小度wifi接入互联网,使用mac中自带的AirPort设置为共享的Wifi热点。
1.安装RTUSB_D2870-4.2.9.10_UI-5.0.0.01.dmg
2.去\System\Library\Extensions\RT2870USBWirelessDriver.kext\Contents
中修改info.电脑plist
小度wifi使用的是联发科的MT7601芯片,它的pid是1001,vid是2955。换算为10进制pid是4097,vid是10581。将这个参数添加到info.plist中,我已经修改好了,大家使用我提供的info.plist将这个文件替换掉就行。
3.该驱动自带的管理面板总是闪退,因此我们需要使用其他面板辅助一下。
安装DWA-125_A2_for_MAC_v2.3.8.0,在安装的过程中我们选择最高的10.6版本就行。
4.在系统偏好设置中用户与群组中删除原来的驱动启动,添加下列路径中的app,MiniTaskUSB-DWA125 在 /System/Library/StartupItems/DWA125,然后开机就会自启动了!
5.使用Kext_Wizard重建缓存
6.大功告成,插上小度wifi,看桌面右上角。
如图:
小度wifi mac驱动为了稳定性,我们选择 系统偏好设置–>其他–>DWA-125。
如图:
电脑
使用这个面板进行无线的连接。如果要共享热点(白苹果适用),只需要再使用mac中自带的AirPort设置一个共享的Wifi热点即可。
360wifi的芯片也是MT7601,修改pid和vid后,此驱动也试用。
1、声卡驱动ALC235(最难驱动,搞了整整2天,现在无偿上传。给同型号联想E40-80的福利。。。)
一、Clover里放置AppleALC.kext与Lilu.kext文件,我下载的Clover镜像自带。
备注:万用声卡有杂音、电音不考虑;
二、EFI/Clover/config.plist使用Clover Configurator4.17.2修改Audio id为3,勾选ResetHDA选项。
三、笔记本需给DSDT文件打IRQ.txt补丁
步骤(Clover或者Ubuntut提取本机DSDT.aml原文件,使用iasl反编译为DSDT.dsl后,用MaciASL软件加载IRQ.txt补丁后,
另存为DSDT.aml文件。你们可直接将我上传的DSDT.aml放入EFI/Clover/ACPI/patched文件,重启后生效。

四、检查是否安装成功
系统偏好设置-》声音,出现内置扬声器,即安装成功!

2.显卡驱动
一、config.plist-〉Graphics里ig-platform-id默认值改为0x16160002重启即可识别。
二、检查驱动是否安装成功

【下载地址】
以下成果,无偿奉上。只需安装镜像,更换EFI即可。
1、镜像
2、E40-80的EFI
改机型的DSDT打IRQ补丁
3、Clover Configurator工具
4、小度WI-FI驱动
5、DSDT编译打补丁神器MaciASL
其他问题
欢迎新手关注头条ID,并私信咨询。
需要相关下载资源请私信。
电脑

热点内容
ajax多文件上传 发布:2025-03-15 06:08:37 浏览:842
游戏编程工作室 发布:2025-03-15 06:07:13 浏览:374
荣放先锋版的配置有哪些 发布:2025-03-15 06:06:37 浏览:484
什么编程软件最好 发布:2025-03-15 05:57:13 浏览:602
安卓手机怎么看国内 发布:2025-03-15 05:43:01 浏览:731
游戏中心密码在哪里看 发布:2025-03-15 05:41:09 浏览:943
微信支付android开发 发布:2025-03-15 05:29:35 浏览:658
密度值算法 发布:2025-03-15 05:26:41 浏览:319
暑期学编程 发布:2025-03-15 05:21:33 浏览:347
加密与 发布:2025-03-15 05:21:25 浏览:721