技能接头 | 看我怎样破解一台自动售货机
副问题[/!--empirenews.page--]
声明:本文仅限技能接头,严禁用于任何犯科用途 毫无疑问,自动售货机长短常受接待的对象,我们总会从中购置获取一些小零食。早几年前,自动售货机只接管离线的硬币付出,之后,也逐步回收了遍及的NFC技能成果。假如我提及“COGES”售货呆板 (英国售货呆板厂商),我想必定会勾起许多人的柔美年华回想。年华辗转,一不把稳,有些工作就产生了根天性的变革,现现在,这已经是一个被收集万物互联的期间了。本日,我就来和各人分享一个,我是怎样黑掉一台自动售货机,重复实现充值和购置售货机中商品的事例。 工作因由 有一天,我憎恶了深入简出的无聊糊口,规划回田园晒晒太阳苏息苏息,临走前,我到了学校造访一个大学传授。穿过走廊,先生发起,我们去喝杯咖啡吧,于是,我们来到了自动售货机旁。
可以看到,这是一台Argenta自动售货机,其APP付出方法是基于蓝牙和NFC成果的,啊,假造钱包就是好啊! 此时,我内心闪过的动机 – 我能把它黑掉吗???
于是乎,我就抉择改天就开黑。 技能说明 某天,我把我的安卓手机配置开启了USB调试模式,然后从应用市肆中下载了自动售货机APP,并把原始APP的apk文件转储到条记本电脑中,用adb去调试说明:
用apktool对它举办反编译:
再用 jadx提取出个中的java源文件:
AndroidManifest.xml清单文件是每个Android措施中必需的文件,它是整个Android措施的全局描写文件,除了能声明措施中的Activities,Content Providers,Services,和Intent Receivers,还能指定应用的名称、行使的图标、包括的组件以及permissions和instrumentation(安详节制和测试)。这里,一开始,必要把AndroidManifest.xml文件中的调试属性变动为ture,之后才可在手机长举办调试,也就是往application 标签中添加一行 android:debuggable=”true” 属性。 接下来, 重建apk文件:
然后用器材keytool来建设一个新的密钥:
接着,行使该建设密钥,用jarsigner来对整个apk文件举办署名:
再用器材zipalign来对apk措施文件举办优化
最后,就可以安装这个重建好的apk文件了。
我在手机上安装运行了这个APP措施,并用器材logcat,通过包名对其措施日记举办过滤说明:
可是,没什么收成,我规划再从其源代码中看看能有什么线索。从AndroidManifest.xml文件中,我发明白指向RushOrm的多个引用。 以是,这里起首我找的要害字就是db_name,从这里我发明白argenta.db的影子: 接下来,在手机中,我用器材Root Explorer继承来看看这个argenta.db,真的是存在的: 然后,我用adb pull方法把手机中的这个文件拷贝到条记本电脑中来说明:
并实行用SQLite的数据库赏识器材SQLiteBrowser来打开这个db文件: 哦,显然,它是有暗码掩护的,打不开。 逆向工程 在源代码中,我说明白RushAndroidConfig.java: (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |