AdSense
Monday, May 22, 2017
11 - Extracting and analyzing firmware of KANKUN SMART PLUG
EXTRACTING AND ANALYZING FIRMWARE OF KANKUN SMART PLUG
- Layout for this exercise:
1 - Getting the mobile application
- As the product booklet indicates, this is the downloading page for the mobile application software smartwifi.apk:
http://kk.huafeng.com:8081/none/android/smartwifi.apk
2 - Decompiling the mobile application with jadx
- Once smartwifi.apk downloaded, let's decompile the apk file with jadx:
https://sourceforge.net/projects/jadx/
- Copying the .apk into the folder /jadx/bin:
- Decompiling, the original Java source code of the application is available:
- Although several error messages are prompted to the user, eventually a new folder smartwifi is created:
- Copying the newly created folder to ~/kankun:
- Going into the folder smartwifi there are the Java class files of the mobile application:
3 - Getting the firmware
- Examining the contents of AndroidManifest.xml we find that the package of the applications is hangzhou.zx:
- Going into hangzhou:
- Going into zx:
- Opening PreferencesUtil.java:
- There is a very interesting line that gives us a hint about where to download the firmware from:
- Downloading the firmware with wget:
- Now, the firmware of the application kkeps.bin is available for further study and analysis:
- Checking the file type:
4 - Extracting the root file system with binwalk
- Extracting the file system of the binary (LZMA compressed and Squashfs filesystem):
- A new folder _kkeps.bin.extracted is available:
- Going into _kkeps.bin.extracted there is the root file system squashfs-root:
- Going into squashfs-root the entire root file system is found: