21801| 298
|
[Android 原创] 某摄像头协议分析 |
发表于 2023-7-12 16:13
数据包结构清晰了,现在就要还原加解密算法了,在IDA里查看p2p_encrypt_and_decrypt伪码。
看起来就是简单的xor操作,但这里面有些函数比较陌生,比如
于是去问了一下Google,这种是ARM NENO指令集,一种基于SIMD思想的ARM技术,NEON结合了64-bit和128-bit的SIMD指令集,提供128-bit宽的向量运算(vector operations)。有兴趣的看下这篇文章NEON简介及基本架构,这里就不多赘述了。 那么接下来,就该祭出大杀器-ex咖喱棒了
以下是chatgpt的回答:
通过HOOK p2p_encrypt_and_decrypt函数可知,a1为加解密原数据,a2为数据长度,a3为加解密所需的key。 我们逐句翻译IDA伪码,使用Python复现。
将a3转换成4个short32的值并赋值给128 位向量变量V3。我们使用numpy库去实现。
.n128_u64[0]代表128位的前64位,.n128_u64[1]代表128位的后64位,而v9为4个int32的数组。根据高低位再把128位分为4个32位整数即可。小端计算。
v10同理。
vaddq_s32(v9, v3),v9 和v3 中的对应元素相加,short32类型保存。Python中使用lambda表达式实现相加,并转化为list数组。
v10同理。
其他就是正常翻译就行了。完整代码如下:
至此,magic: 接下来我们看另外一个数据,magic: 上面提到该数据包含两种数据结构,经过观察研究发现,一种是加密数据,一种是明文音视频数据。 magic:
|
magic | connection id | unknown | packet id | packet size | payload |
---|---|---|---|---|---|
10 cf 87 2a | 79 15 00 00 | 00 00 00 00 | 00 00 00 01 | 01 dc 00 00 | 14..... |
10 cf 87 2a
00000000
到这本想投机取巧一下,大胆猜测是同一种加解密方法,于是就用magic: 3acf872a
数据的解密方法,拿Connection ID当作key尝试解密了一下,结果失败了。
到这只能继续分析找出该数据块的解密方法。
本想跟上一个数据一样通过字符串去定位,最终失败。只能通过调试去慢慢寻找,多线程操作,跳来跳去,真的掉头发哦。
x64dbg这块玩的并不是很熟,所以并不知道如何快速在调用堆栈中找到相关线程,有大佬知道的话,烦请指导一二,不甚感激!!!!
查了查Google也没找到技巧,那就只能铁杵磨成针,一个一个的拿着地址去IDA里面看。最后发现了一个线程里的函数代码非常的像。
反编译伪码如下:
我们在函数头和循环异或这里打个断点看一下。运行程序,断在函数头。
可以看到eax里的值即为去掉第一个数据结构(10 cf 87 2a)后的数据。再次F9断下刚刚循环异或的地方。
mov edx, [ebp+10h]
mov ecx, edx
sub ecx, esi
lea eax, [esi+ecx]
and eax, 7
计算byte_F942224的index。
lea esi, [esi+1]
mov al, byte_F942224[eax]
xor al, dl
xor [esi-1], al
sub edi, 1
esi地址存储的为加密数据,每次取一个字节与byte_F942224数组里的一字节异或。
将其翻译为Python代码如下:
def xml_decrypt(ba, offset):
key = bytearray([0x1f, 0x2d, 0x3c, 0x4b, 0x5a, 0x69, 0x78, 0xff])
e = bytearray(len(ba))
for i in range(len(ba)):
xor_result = operator.xor(offset & 0xFF, operator.xor(ba[i], key[(i + offset) % 8]))
e[i] = xor_result
print(e.decode('utf-8'))
return e
magic:f0debc0a
数据的加密方式就分析完了。通过上述代码分析,可得该数据结构大体为以下几种:
magic | message id | message length | encryption offset | encrypt | message class | payload |
---|---|---|---|---|---|---|
f0 de bc 0a | 01 00 00 00 | 2c 07 00 00 | 00 00 00 01 | 01 dc | 14 65 | 2d..... |
f0 de bc 0a
Or
Magic | Message ID | Message Length | Encryption Offset | Status Code | Message Class | payload |
---|---|---|---|---|---|---|
f0 de bc 0a | 01 00 00 00 | 28 01 00 00 | 00 00 00 01 | c8 00 | 14 64 | 3b.... |
<br/>
4 Bytes magic: f0 de bc 0a
4 Bytes Message ID: 消息ID
4 Bytes Message Length: 消息体长度
4 Bytes Encryption Offset: 加密key
2 bytes Status Code:消息状态码
2 bytes Message class:消息类型
n bytes Payload:加密数据
音视频magic如下:
视频数据内容如下:
还是经典的10 cf 87 2a
结构,去除这个结构后就是视频数据结构了。结构大体如下:
音频数据内容如下:
头部数据相同,这里不再赘述,直接看音频数据部分。
<br/>
到这里有关该摄像头的所有流量就分析完成了。
参与人数 126 | 吾爱币 +107 | 热心值 +110 | 收起 理由 |
---|---|---|---|
mrlaoa | + 1 | + 1 | 我很赞同! |
windowxp03 | + 1 | + 1 | 用心讨论,共获提升! |
cszcz | + 1 | + 1 | 我很赞同! |
Dilmurat | + 1 | 我很赞同! | |
rng1234 | + 1 | 我很赞同! | |
lynni | + 1 | + 1 | 用心讨论,共获提升! |
mmqqll | + 1 | 我很赞同! | |
yppsniper | + 1 | + 1 | 我很赞同! |
evolution1 | + 1 | + 1 | 热心回复! |
zd53011 | + 1 | 热心回复! | |
zhuzhuxia111 | + 1 | + 1 | 我很赞同! |
穿透骨頭撫摸妳 | + 1 | + 1 | 谢谢@Thanks! |
gpsp800 | + 1 | + 1 | 我很赞同! |
bury咩 | + 1 | + 1 | 热心回复! |
心比天傲 | + 1 | 我很赞同! | |
CISHENZF | + 1 | + 1 | 鼓励转贴优秀软件安全工具和文档! |
GAOtest-too | + 1 | 我很赞同! | |
amjake | + 1 | 谢谢@Thanks! | |
15322375082wu | + 1 | 我很赞同! | |
luster | + 1 | 谢谢@Thanks! | |
suma69s | + 1 | + 1 | 鼓励转贴优秀软件安全工具和文档! |
kinfnight | + 1 | + 1 | 用心讨论,共获提升! |
小高231 | + 1 | + 1 | 我很赞同! |
currys | + 1 | 用心讨论,共获提升! | |
hanchao2021 | + 1 | 我很赞同! | |
maomaochongguoh | + 1 | + 1 | 赞同 |
qingyise | + 1 | + 1 | 我很赞同! |
GXGXGX | + 1 | 我很赞同! | |
leonardo86 | + 1 | + 1 | 热心回复! |
swkqy | + 1 | 热心回复! | |
aabbcc123123 | + 1 | + 1 | 谢谢@Thanks! |
b12312312 | + 1 | + 1 | 热心回复! |
cjh19910527 | + 1 | 我很赞同! | |
exile321 | + 1 | 我很赞同! | |
junjia215 | + 1 | + 1 | 用心讨论,共获提升! |
komakoma | + 1 | 谢谢@Thanks! | |
Garyqiang | + 1 | + 1 | 谢谢@Thanks! |
Redempation | + 1 | + 1 | 我很赞同! |
HOOK_XYS | + 1 | + 1 | 学习 |
Tiphis | + 1 | + 1 | 大佬牛逼! |
xg3092 | + 1 | 我很赞同! | |
cl836 | + 1 | + 1 | 我很赞同! |
sakilzy | + 1 | 用心讨论,共获提升! | |
renhe | + 1 | 感谢发布原创作品,吾爱破解论坛因你更精彩! | |
zkl998 | + 1 | 热心回复! | |
jiang8121 | + 1 | 我很赞同! | |
hzqp | + 1 | + 1 | 热心回复! |
liujian228 | + 1 | + 1 | 我很赞同! |
wuzhijiangying | + 1 | + 1 | 我很赞同! |
lhkTop123 | + 1 | 感谢发布原创作品,吾爱破解论坛因你更精彩! | |
scnjzhang | + 1 | 我很赞同! | |
bcmgzht | + 1 | + 1 | 用心讨论,共获提升! |
rwj1990 | + 1 | 用心讨论,共获提升! | |
pumpkinking | + 1 | + 1 | 热心回复! |
Iamfather | + 1 | + 1 | 我很赞同! |
bnuzgn | + 1 | + 1 | 用心讨论,共获提升! |
apksign | + 1 | 用心讨论,共获提升! | |
Adriahhh | + 1 | + 1 | 用心讨论,共获提升! |
linden007x | + 1 | 感谢发布原创作品,吾爱破解论坛因你更精彩! | |
1MajorTom1 | + 1 | 热心回复! | |
www65088369 | + 1 | + 1 | 谢谢@Thanks! |
天生骄傲 | + 1 | + 1 | 很牛逼,完全看不懂! |
我今天是大佬 | + 1 | 用心讨论,共获提升! | |
离恨天095 | + 1 | + 1 | 我很赞同! |
gaogaogao | + 1 | + 1 | 用心讨论,共获提升! |
caolcx | + 1 | 用心讨论,共获提升! | |
jasonA | + 1 | + 1 | 热心回复! |
bugof52pj | + 1 | 谢谢@Thanks! | |
yahuning | + 1 | + 1 | 热心回复! |
mouccc | + 1 | + 1 | 谢谢@Thanks! |
Kenny2022 | + 1 | + 1 | 谢谢@Thanks! |
Savitar301 | + 1 | 我很赞同! | |
好大只锅 | + 1 | 我很赞同!盲赞 | |
alanhays | + 1 | + 1 | 我很赞同! |
繁华l落尽 | + 1 | + 1 | 谢谢@Thanks! |
victos | + 1 | + 1 | 谢谢@Thanks! |
sywee | + 1 | 用心讨论,共获提升! | |
Chinawlcc | + 1 | + 1 | 谢谢@Thanks! |
linzixiaocao | + 1 | + 1 | 我很赞同! |
三滑稽甲苯 | + 1 | 用心讨论,共获提升! | |
漫步时光 | + 1 | + 1 | 鼓励转贴优秀软件安全工具和文档! |
Joinwib | + 1 | + 1 | 我很赞同! |
heimaojingzhang | + 1 | + 1 | 用心讨论,共获提升! |
sherlockhlomez | + 1 | + 1 | 我很赞同! |
Akihi6 | + 1 | + 1 | 我很赞同! |
DeathMeeting | + 1 | + 1 | 我很赞同! |
爱情一路走好 | + 1 | 我很赞同! | |
南方棋生 | + 1 | + 1 | 用心讨论,共获提升! |
SharsDela | + 1 | + 1 | tql |
杨辣子 | + 1 | + 1 | 用心讨论,共获提升! |
fengbolee | + 2 | + 1 | 欢迎分析讨论交流,吾爱破解论坛有你更精彩! |
tomhex | + 1 | + 1 | 我很赞同! |
FFF全部成为F | + 1 | 感谢大佬的热心分享! | |
17315044449 | + 1 | + 1 | 我很赞同! |
gaosld | + 1 | + 1 | 热心回复! |
xlwllm | + 1 | + 1 | 我很赞同! |
a731062834 | + 1 | + 1 | 用心讨论,共获提升! |
zhp_king | + 1 | 用心讨论,共获提升! | |
qjlfl | + 1 | 用心讨论,共获提升! | |
wang13 | + 1 | 用心讨论,共获提升! |
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
发表于 2023-7-12 17:25
| ||
发表于 2023-7-12 16:28
| ||
发表于 2023-7-12 16:34
| ||
头像被屏蔽
|
发表于 2023-7-12 16:44
| |
发表于 2023-7-12 16:46
| ||
RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )
GMT+8, 2024-11-21 19:50
Powered by Discuz!
Copyright © 2001-2020, Tencent Cloud.