对某嵌入式设备声波配网的研究

一
前言

二
硬件分析


三
音频分析

音频处理
m4a转wav

import librosa
from pydub import AudioSegment
import matplotlib.pyplot as plt
import numpy as np
input_file = './声波配网信息.m4a'
output_file = './声波配网信息.wav'
# 将M4A文件转换为WAV格式
audio = AudioSegment.from_file(input_file, format='m4a')
audio.export(output_file, format='wav')
频谱生成
audio_path = './声波配网信息.wav'
audio_data, sample_rate = librosa.load(audio_path)
spectrogram = librosa.stft(audio_data)
plt.figure(figsize=(12, 8))
plt.title('Spectrogram')
plt.xlabel('Time')
plt.ylabel('Frequency')
plt.imshow(librosa.amplitude_to_db(abs(spectrogram), ref=np.max),
origin='lower', aspect='auto', cmap='coolwarm')
plt.colorbar(format='%+2.0f dB')
plt.tight_layout()
plt.show()

提取频率数组
# 使用librosa进行频谱分析,并将能量值转换为分贝单位
spectrogram = librosa.amplitude_to_db(librosa.stft(audio_data), ref=np.max)
# 设置阈值,只记录强度大于-10dB的频率
threshold = -10
# 初始化空的频率数组
frequencies = []
# 遍历每个时间帧
for i in range(spectrogram.shape[1]):
# 获取当前时间帧的能量值
frame = spectrogram[:, i]
# 获取强度大于阈值的频率索引
freq_indices = np.where(frame > threshold)[0]
# 将符合条件的频率添加到频率数组中
frequencies.extend(freq_indices)
# 去除重复的频率,并按升序排列
frequencies = sorted(set(frequencies))
print(frequencies)

尝试特殊的wifi和密码

四
通信细节分析
通信概要
接收方








发送方app的逆向分析
app脱壳



frida-dexdump -FU


定位关键dex











对原生库文件进行分析








五
协议分析







type0:全是数字(1111)
type1:前面是小写后面是数字(aa11)
type2:前面是除数字外的base64后面全是数字的(_A11)
type3:含有非base64的(@#$%)
type4:前面全是数字然后出现不是数字的base64的(11_a)
type5:全是小写(aaaa)
type6:只要是由base64组成的(a-_b)
type7:全是大写(AAAA)

function hook_java(){
Java.perform(function(){
Java.use("voice.encoder.DataEncoder").encodeSSIDWiFi.implementation = function(ssid,wifi){
console.log("java hooked");
console.log(ssid);
console.log(wifi);
var enc = this.encodeSSIDWiFi(ssid,wifi);
return enc;
}
Java.use("voice.encoder.DataEncoder").encodeData.implementation = function(a1,a2,a3){
//console.log("encode hooked");
let str = String.fromCharCode.apply(null, a1);
console.log("string before encode:"+str);
var enc = this.encodeData(a1,a2,a3);
return enc;
}
Java.use("voice.encoder.VoicePlayer").play.overload('java.lang.String', 'int', 'int').implementation = function(a1,a2,a3){
//console.log("play hooked");
console.log("string after encode:"+a1);
//console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
this.play(a1,a2,a3);
return;
}
});
}
hook_java();




六
后续的工作以及收尾
七
总结
看雪ID:Nameless_a
https://bbs.kanxue.com/user-home-943085.htm

# 往期推荐


球分享

球点赞

球在看
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- EnCirca如何PUSH域名?
- 第一代骁龙8+移动平台:未来影像,现在开启
- 中国移动携手高通实现业内首次基于5G切片的端边协同分离渲染无界XR技术演示
- 看雪2022 KCTF 春季赛 | 第二题设计思路及解析(含视频)
- 火线安全:Log4j2 史诗级漏洞波及全球6万+开源软件
- 雷军接连退出多家小米关联公司;苹果向安卓发布跟踪监测APP;谷歌杀死IE工具栏服务|极客头条
- Qualcomm招聘|期待高通与你,在2021冬日相遇
- 牛!
- 圣诞鹿拍了拍你,邀你跳支会飞的舞
- 科技垄断正在朝着纵向发展
- 个人信息究竟是如何泄露的?HTTPS可以防范个人信息泄露吗?
- DigiCert 为垂直行业客户赋能 满足中国客户加密需求
赞助链接