使用Androidaudio和方向传感器的机械安全破解

我正在编写一个应用程序,通过安全操作来帮助锁匠,主要是通过创build他们需要的图表。 当试图通过操纵进入安全区时,需要对“轮组”进行详细分析,并通过绘制“围栏”在“门”上的相对深度来完成。 如果所有的门都排列在包装上,围栏杆将落入凸轮门,锁将打开。 如果有人对更详细的解释感兴趣,你可以在这里findMatt Blaze的一个很棒的对待(从3.3开始):www.crypto.com/papers/safelocks.pdf

制作图表很重要,而且真正需要的是精确测量表盘上的两个位置,并logging两个声音之间的拨号距离。 所以说,“落入”点在10到15之间,可能发生在11.5和14.5的声音事件,或者下一次可能发生在12和15之间。数字,在图表上查找数字,缩小数字,也可能只是图表上的最低点。

我正在通过我的Android耳机插孔使用一个老式的收音机电话听筒(吸盘式麦克风)来收听声音事件。 为了在发生事件的表盘上精确测量,我简单的用魔术贴将手机挂在表盘上,并使用SensorManager根据手机从audio尖峰事件旋转到峰值的距离来计算声音之间的距离-事件。 这很好,但我想这样做,而不需要把手机挂在拨号盘上。 一些公司曾经通过networking摄像头来观察拨号盘本身,但是这样做似乎远不如安装手机那么准确,因为我可以使用小数的旋转angular度来获得更高的精度。

一旦你进入放置位置,你总是会打一个声音,然后将拨号盘备份到下一个声音,所以我想我可以简单地听声音事件,然后一旦拨盘反转方向测量到下一个声音事件,但是这将要求拨号盘不断移动,这在现实生活中不会发生。 而且我想我可以通过使用dynamic像素或舵机来为锁匠移动表盘,但是这不是一个好的解决scheme。 所以我的问题是,如果你们中的任何一个聪明的人都可以想象的方式,这些相关的速度(声音事件之间的距离和拨号位置的变化)可以量化,而无需将电话挂在拨号?

Solutions Collecting From Web of "使用Androidaudio和方向传感器的机械安全破解"

不是一个完整的答案,而是我可以抛给你的一些想法:

从控制系统工程师的angular度来看,我可以告诉你,准确测量旋转而不直接进入轴的方法是使用编码器 。

所以也许你可以使用Android的附件模式来读取你要安装在表盘上的一个编码器(可能是在编码器轴上放一个橡胶盘,然后用安全拨号盘接触它)。

这整个努力只是为了避免把整个手机粘在拨号盘上,并获得一些额外的精度。

一种不同的方法可能是在表盘上附加别的东西,以产生click声,您可以过滤声音以区分安全声音。 但是这绝对会降低你的精度。