當前位置:首頁 » 編程軟體 » 反編譯添加自啟管理

反編譯添加自啟管理

發布時間: 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,並私信咨詢。
需要相關下載資源請私信。
電腦

熱點內容
什麼編程軟體最好 發布:2025-03-15 05:57:13 瀏覽:602
安卓手機怎麼看國內 發布:2025-03-15 05:43:01 瀏覽:730
游戲中心密碼在哪裡看 發布:2025-03-15 05:41:09 瀏覽:942
微信支付android開發 發布:2025-03-15 05:29:35 瀏覽:656
密度值演算法 發布:2025-03-15 05:26:41 瀏覽:319
暑期學編程 發布:2025-03-15 05:21:33 瀏覽:347
加密與 發布:2025-03-15 05:21:25 瀏覽:720
安卓如何把時鍾插件調出來 發布:2025-03-15 05:19:11 瀏覽:50
安卓旋鈕主機音量大小怎麼調整 發布:2025-03-15 05:19:05 瀏覽:755
如何將支付密碼關掉 發布:2025-03-15 05:16:55 瀏覽:933