SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Android Hook -
Xposed Framework
[Android Penetration Testing] Elven
2016/06
Who am I?
• Elven Liu
•
•
•
•
• HITCON GIRLS [Android Penetration Testing]
• liuelven@gmail.com
• www.linkedin.com/in/liu-elven
Outline
• Zygote
• Xposed Framework
•
• Hook System Clock
Zygote
Zygote
•
• =
• zygote system/bin/app_process
• Android
Zygote
Activity
Service
New
Activity
Process
Accept Socket
Connection
Select fd
Read Argument
Parse Argument
Fork() a app_process
Zygote
Socket 



fork() 

Android
Activity
Service
New
Activity
Process
Accept Socket
Connection
Select fd
Read Argument
Parse Argument
Fork() a app_process
Zygote
Fork()
Xposed
Framework
• rovo89, Tungstwenty
• Source: https://github.com/rovo89
• Module Repository: http://repo.xposed.info/
• systemui,
systemserver…….
• XposedBridge API xposed framework Java
Jar Package
• XposeInstall Xposed APP
• Xposed: xposed app_process /system/
bin/ app_process .orig
WARNING ROM Xposed 

Xposed Recovery 

Activity
Service
New
Activity
Process
Accept Socket
Connection
Select fd
Read Argument
Parse Argument
Fork() a app_process
Zygote
com.android.internal.os.ZygoteInit
Activity
Service
New
Activity
Process
Accept Socket
Connection
Select fd
Read Argument
Parse Argument
Fork() a app_process
Zygote
de.robv.android.xposed.XposedBridge
Activity
Service
New
Activity
Process
Accept Socket
Connection
Select fd
Read Argument
Parse Argument
Fork() a app_process
Zygote
de.robv.android.xposed.XposedBridge
Input
Android
Xposed

Installer APK (4.0)
URL: http://repo.xposed.info/
module/
Xposed
Bridge API (54)
URL: http://forum.xda-developers.com/
xposed/xposed-api-changelog-developer-
news-t2714067
Hook
Static Analysis
Hook
Find Target APK
Find Target APK
Static Analysis
reset
Decompiler apk
Find Target

*package Name

*class
*function
Create a Project
Import xposed api
write java code
Root
Hook Success
exposed install
Hook
System Clock
https://github.com/rovo89/XposedBridge/
wiki/Development-tutorial
Create a Project
build.gradle
1
2
3
AndroidManifest.xml
<meta-data
android:name="xposedmodule"
android:value="true"/>
<meta-data
android:name="xposeddescription"
android:value="Hooking Module for Clock" />
<meta-data
android:name="xposedminversion"
android:value="54" />
assets
create java class
• Xposed API
• http://api.xposed.info/reference/de/robv/android/
xposed/
XC_MethodHook.MethodHookParam.html
Demo
Android Hook - Xposed Framework (Elven Liu)
Android Hook - Xposed Framework (Elven Liu)

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (20)

HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
 
HITCON GIRLS: CTF 介紹 (小魚&念奇)
HITCON GIRLS: CTF 介紹 (小魚&念奇)HITCON GIRLS: CTF 介紹 (小魚&念奇)
HITCON GIRLS: CTF 介紹 (小魚&念奇)
 
HITCON CTF 2016導覽
HITCON CTF 2016導覽HITCON CTF 2016導覽
HITCON CTF 2016導覽
 
HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)
 
HITCON GIRLS 成大講座 基礎知識(蜘子珣)
HITCON GIRLS 成大講座 基礎知識(蜘子珣)HITCON GIRLS 成大講座 基礎知識(蜘子珣)
HITCON GIRLS 成大講座 基礎知識(蜘子珣)
 
HITCON GIRLS 成大講座 惡意程式分析(Turkey)
HITCON GIRLS 成大講座 惡意程式分析(Turkey)HITCON GIRLS 成大講座 惡意程式分析(Turkey)
HITCON GIRLS 成大講座 惡意程式分析(Turkey)
 
HITCON TALK 技術解析 SWIFT Network 攻擊
HITCON TALK 技術解析 SWIFT Network 攻擊 HITCON TALK 技術解析 SWIFT Network 攻擊
HITCON TALK 技術解析 SWIFT Network 攻擊
 
HITCON TALK ATM 金融攻擊事件解析
HITCON TALK ATM 金融攻擊事件解析HITCON TALK ATM 金融攻擊事件解析
HITCON TALK ATM 金融攻擊事件解析
 
HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介
 
CTF 經驗分享
CTF 經驗分享CTF 經驗分享
CTF 經驗分享
 
HITCON TALK 產業視野下的 InfoSec
HITCON TALK 產業視野下的 InfoSecHITCON TALK 產業視野下的 InfoSec
HITCON TALK 產業視野下的 InfoSec
 
台灣資安人才培育現況
台灣資安人才培育現況台灣資安人才培育現況
台灣資安人才培育現況
 
2015 資安從業人員的寶(鬼)島求生
2015 資安從業人員的寶(鬼)島求生2015 資安從業人員的寶(鬼)島求生
2015 資安從業人員的寶(鬼)島求生
 
HITCON GIRLS Malware Analysis
HITCON GIRLS Malware AnalysisHITCON GIRLS Malware Analysis
HITCON GIRLS Malware Analysis
 
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With XposedBSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
 
Xposed framework
Xposed frameworkXposed framework
Xposed framework
 
Q4 Threat Report 2016
Q4 Threat Report 2016Q4 Threat Report 2016
Q4 Threat Report 2016
 
連貓也會輕鬆安裝Burp suite
連貓也會輕鬆安裝Burp suite連貓也會輕鬆安裝Burp suite
連貓也會輕鬆安裝Burp suite
 
Practical Attacks Against Encrypted VoIP Communications
Practical Attacks Against Encrypted VoIP CommunicationsPractical Attacks Against Encrypted VoIP Communications
Practical Attacks Against Encrypted VoIP Communications
 
HITCON CTF 導覽
HITCON CTF 導覽HITCON CTF 導覽
HITCON CTF 導覽
 

Ähnlich wie Android Hook - Xposed Framework (Elven Liu)

Connecting to-web-services-on-android-4577
Connecting to-web-services-on-android-4577Connecting to-web-services-on-android-4577
Connecting to-web-services-on-android-4577
sharvari123
 
Automated software testing using Selenium WebDriver
Automated software testing using Selenium WebDriverAutomated software testing using Selenium WebDriver
Automated software testing using Selenium WebDriver
Ilir Kosumi
 
DevQuiz 2011 の模範解答 Android編
DevQuiz 2011 の模範解答 Android編DevQuiz 2011 の模範解答 Android編
DevQuiz 2011 の模範解答 Android編
Makoto Yamazaki
 
Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012
Volkan Özçelik
 

Ähnlich wie Android Hook - Xposed Framework (Elven Liu) (20)

手機自動化測試和持續整合
手機自動化測試和持續整合手機自動化測試和持續整合
手機自動化測試和持續整合
 
Connecting to-web-services-on-android-4577
Connecting to-web-services-on-android-4577Connecting to-web-services-on-android-4577
Connecting to-web-services-on-android-4577
 
Automated software testing using Selenium WebDriver
Automated software testing using Selenium WebDriverAutomated software testing using Selenium WebDriver
Automated software testing using Selenium WebDriver
 
Try EarlGrey | 20161118 iOS Test Night
Try EarlGrey | 20161118 iOS Test NightTry EarlGrey | 20161118 iOS Test Night
Try EarlGrey | 20161118 iOS Test Night
 
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake DubliniOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
React Native Masterclass
React Native MasterclassReact Native Masterclass
React Native Masterclass
 
Toward dynamic analysis of obfuscated android malware
Toward dynamic analysis of obfuscated android malwareToward dynamic analysis of obfuscated android malware
Toward dynamic analysis of obfuscated android malware
 
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
 
DevQuiz 2011 の模範解答 Android編
DevQuiz 2011 の模範解答 Android編DevQuiz 2011 の模範解答 Android編
DevQuiz 2011 の模範解答 Android編
 
33rd degree
33rd degree33rd degree
33rd degree
 
JavaOne 2014 Security Testing for Developers using OWASP ZAP
JavaOne 2014 Security Testing for Developers using OWASP ZAPJavaOne 2014 Security Testing for Developers using OWASP ZAP
JavaOne 2014 Security Testing for Developers using OWASP ZAP
 
Barcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot FrameworkBarcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot Framework
 
Web-App Remote Code Execution Via Scripting Engines
Web-App Remote Code Execution Via Scripting EnginesWeb-App Remote Code Execution Via Scripting Engines
Web-App Remote Code Execution Via Scripting Engines
 
Connecting to Web Services on Android June 2 2010
Connecting to Web Services on Android June 2 2010Connecting to Web Services on Android June 2 2010
Connecting to Web Services on Android June 2 2010
 
DanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino APIDanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino API
 
External JavaScript Widget Development Best Practices
External JavaScript Widget Development Best PracticesExternal JavaScript Widget Development Best Practices
External JavaScript Widget Development Best Practices
 
Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012
 
Fastlane
FastlaneFastlane
Fastlane
 

Mehr von HITCON GIRLS

Mehr von HITCON GIRLS (20)

20200810_資訊洩漏所帶來的資安問題_turkey
20200810_資訊洩漏所帶來的資安問題_turkey20200810_資訊洩漏所帶來的資安問題_turkey
20200810_資訊洩漏所帶來的資安問題_turkey
 
CYBERSEC 2020 臺灣資安大會 windows malware hot 5 - 短短
CYBERSEC 2020 臺灣資安大會 windows malware hot 5  - 短短CYBERSEC 2020 臺灣資安大會 windows malware hot 5  - 短短
CYBERSEC 2020 臺灣資安大會 windows malware hot 5 - 短短
 
HITCON CTF 介紹 - HG 導覽活動
HITCON CTF 介紹 - HG 導覽活動HITCON CTF 介紹 - HG 導覽活動
HITCON CTF 介紹 - HG 導覽活動
 
HITCON CTF 2019 特色 - HG 導覽活動
HITCON CTF 2019 特色 - HG 導覽活動HITCON CTF 2019 特色 - HG 導覽活動
HITCON CTF 2019 特色 - HG 導覽活動
 
HITCON CTF 2017 特色 - HG 導覽活動
HITCON CTF 2017 特色 - HG 導覽活動HITCON CTF 2017 特色 - HG 導覽活動
HITCON CTF 2017 特色 - HG 導覽活動
 
HITCON CTF 2016 特色 - HG 導覽活動
HITCON CTF 2016 特色 - HG 導覽活動HITCON CTF 2016 特色 - HG 導覽活動
HITCON CTF 2016 特色 - HG 導覽活動
 
iThome 資安大會 2019 資安大會_AI 的逆襲,眼見真的為憑嗎? - Turkey&Melody.pdf
iThome 資安大會 2019 資安大會_AI 的逆襲,眼見真的為憑嗎? - Turkey&Melody.pdfiThome 資安大會 2019 資安大會_AI 的逆襲,眼見真的為憑嗎? - Turkey&Melody.pdf
iThome 資安大會 2019 資安大會_AI 的逆襲,眼見真的為憑嗎? - Turkey&Melody.pdf
 
iThome 資安大會 2019 駭客如何利用公開工具在內部網路中暢行無阻 - YCY.pdf
iThome 資安大會 2019 駭客如何利用公開工具在內部網路中暢行無阻 - YCY.pdfiThome 資安大會 2019 駭客如何利用公開工具在內部網路中暢行無阻 - YCY.pdf
iThome 資安大會 2019 駭客如何利用公開工具在內部網路中暢行無阻 - YCY.pdf
 
Birds of a Feather 2017: 邀請分享 Light Up The Korean DarkWeb - Dasom Kim
Birds of a Feather 2017: 邀請分享 Light Up The Korean DarkWeb - Dasom KimBirds of a Feather 2017: 邀請分享 Light Up The Korean DarkWeb - Dasom Kim
Birds of a Feather 2017: 邀請分享 Light Up The Korean DarkWeb - Dasom Kim
 
Birds of a Feather 2017: 邀請分享 Glance into the Enterprise InfoSec Field - Howard
Birds of a Feather 2017: 邀請分享 Glance into the Enterprise InfoSec Field - HowardBirds of a Feather 2017: 邀請分享 Glance into the Enterprise InfoSec Field - Howard
Birds of a Feather 2017: 邀請分享 Glance into the Enterprise InfoSec Field - Howard
 
Birds of a Feather 2017: 邀請分享 IoT, SDR, and Car Security - Aaron
Birds of a Feather 2017: 邀請分享 IoT, SDR, and Car Security - AaronBirds of a Feather 2017: 邀請分享 IoT, SDR, and Car Security - Aaron
Birds of a Feather 2017: 邀請分享 IoT, SDR, and Car Security - Aaron
 
Birds of a Feather 2017: 邀請分享 Place of Attribution in Threat Intelligence - F...
Birds of a Feather 2017: 邀請分享 Place of Attribution in Threat Intelligence - F...Birds of a Feather 2017: 邀請分享 Place of Attribution in Threat Intelligence - F...
Birds of a Feather 2017: 邀請分享 Place of Attribution in Threat Intelligence - F...
 
未來大人物【互動工作坊】社群網路滲透生活,我們如何保護個資不外洩 蜘子珣&Turkey
未來大人物【互動工作坊】社群網路滲透生活,我們如何保護個資不外洩 蜘子珣&Turkey未來大人物【互動工作坊】社群網路滲透生活,我們如何保護個資不外洩 蜘子珣&Turkey
未來大人物【互動工作坊】社群網路滲透生活,我們如何保護個資不外洩 蜘子珣&Turkey
 
HITCON GIRLS 資安萌芽推廣 2017: 從 CVE 找材料
HITCON GIRLS 資安萌芽推廣 2017: 從 CVE 找材料HITCON GIRLS 資安萌芽推廣 2017: 從 CVE 找材料
HITCON GIRLS 資安萌芽推廣 2017: 從 CVE 找材料
 
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
 
HITCON GIRLS 資安萌芽推廣 2017: 密碼學深入淺出 阿毛 - 台科資管碩士生&圓圓 - 台科資管碩士生
HITCON GIRLS 資安萌芽推廣 2017: 密碼學深入淺出 阿毛 - 台科資管碩士生&圓圓 - 台科資管碩士生HITCON GIRLS 資安萌芽推廣 2017: 密碼學深入淺出 阿毛 - 台科資管碩士生&圓圓 - 台科資管碩士生
HITCON GIRLS 資安萌芽推廣 2017: 密碼學深入淺出 阿毛 - 台科資管碩士生&圓圓 - 台科資管碩士生
 
HITCON GIRLS 資安萌芽推廣 2017: 探索駭客的世界 - Turkey
HITCON GIRLS 資安萌芽推廣 2017: 探索駭客的世界 - TurkeyHITCON GIRLS 資安萌芽推廣 2017: 探索駭客的世界 - Turkey
HITCON GIRLS 資安萌芽推廣 2017: 探索駭客的世界 - Turkey
 
HITCON GIRLS 資安萌芽推廣 2017: 還能不能好好玩遊戲了
HITCON GIRLS 資安萌芽推廣 2017: 還能不能好好玩遊戲了HITCON GIRLS 資安萌芽推廣 2017: 還能不能好好玩遊戲了
HITCON GIRLS 資安萌芽推廣 2017: 還能不能好好玩遊戲了
 
HITCON GIRLS 資安萌芽推廣 2017: 從研究生轉職資安工程師 - 蜘子珣
HITCON GIRLS 資安萌芽推廣 2017: 從研究生轉職資安工程師 - 蜘子珣HITCON GIRLS 資安萌芽推廣 2017: 從研究生轉職資安工程師 - 蜘子珣
HITCON GIRLS 資安萌芽推廣 2017: 從研究生轉職資安工程師 - 蜘子珣
 
HITCON GIRLS 資安萌芽推廣 2017: 資安工作很酷嘛?當然! - Belinda
HITCON GIRLS 資安萌芽推廣 2017: 資安工作很酷嘛?當然! - BelindaHITCON GIRLS 資安萌芽推廣 2017: 資安工作很酷嘛?當然! - Belinda
HITCON GIRLS 資安萌芽推廣 2017: 資安工作很酷嘛?當然! - Belinda
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Android Hook - Xposed Framework (Elven Liu)