{"id":1132,"date":"2019-09-29T21:49:39","date_gmt":"2019-09-29T13:49:39","guid":{"rendered":"https:\/\/www.jarvisw.com\/?p=1132"},"modified":"2019-10-21T11:18:16","modified_gmt":"2019-10-21T03:18:16","slug":"%e9%9f%b3%e4%b9%90%e9%80%9a%e5%b0%8f%e6%8f%90%e7%90%b4%e9%99%aa%e7%bb%83%e6%9c%ba%e9%80%86%e5%90%91%e5%88%86%e6%9e%90%ef%bc%88%e9%99%84%e8%87%aa%e5%b7%b1%e6%b7%bb%e5%8a%a0%e4%b9%90%e8%b0%b1%e7%9a%84","status":"publish","type":"post","link":"https:\/\/www.jarvisw.com\/?p=1132","title":{"rendered":"\u97f3\u4e50\u901a(MITONE)\u5c0f\u63d0\u7434\u966a\u7ec3\u673a\u9006\u5411\u5206\u6790\uff08\u9644\u81ea\u5df1\u6dfb\u52a0\u4e50\u8c31\u7684\u65b9\u6cd5\uff09"},"content":{"rendered":"\n<p>\u3000\u3000\u6700\u8fd1\u5728\u5b66\u5c0f\u63d0\u7434\uff0c\u56e0\u4e3a\u5e73\u65f6\u662f\u81ea\u5df1\u7ec3\u7434\uff0c\u867d\u7136\u6709\u8001\u5e08\u6559\uff0c\u4f46\u662f\u4e0a\u7684\u7f51\u8bfe\uff0c\u8001\u5e08\u6ca1\u6cd5\u5b9e\u65f6\u5728\u7ec3\u7434\u7684\u65f6\u5019\u8fdb\u884c\u6307\u5bfc\u3002\u5c0f\u63d0\u7434\u548c\u5409\u4ed6\u94a2\u7434\u4e0d\u4e00\u6837\uff0c\u65e2\u4e0d\u50cf\u5409\u4ed6\u90a3\u6837\u5f88\u660e\u786e\u7684\u5206\u4e3a\u82e5\u5e72\u4e2a\u54c1\u683c\uff0c\u4e5f\u4e0d\u60f3\u94a2\u7434\u90a3\u6837\u6bcf\u4e2a\u97f3\u6709\u56fa\u5b9a\u7684\u6309\u952e\u3002\u8fd9\u4e24\u79cd\u4e50\u5668\u7684\u97f3\u51c6\u90fd\u662f\u660e\u786e\u7684\uff0c\u81ea\u5df1\u7ec3\u4e60\u65f6\u97f3\u51c6\u662f\u5426\u6b63\u786e\u53ef\u4ee5\u6709\u5f88\u76f4\u89c2\u7684\u53cd\u9988\u3002\u5c0f\u63d0\u7434\u5c31\u4e0d\u4e00\u6837\u4e86\uff0c\u5c0f\u63d0\u7434\u5c5e\u4e8e\u97f3\u9636\u8fde\u7eed\u53d8\u5316\u7684\u4e50\u5668\uff0c\u56e0\u6b64\u4e0d\u4f1a\u6709\u5f88\u660e\u786e\u7684\u5bf9\u6bcf\u4e2a\u97f3\u7684\u6807\u8bc6\uff0c\u6240\u4ee5\u8981\u4e86\u89e3\u81ea\u5df1\u6f14\u594f\u65f6\u7684\u97f3\u51c6\u662f\u4e0d\u5bb9\u6613\u7684\u3002\u56e0\u6b64\uff0c\u8001\u5e08\u63a8\u8350\u4e86\u6211\u4e00\u6b3e\u5c0f\u63d0\u7434\u7684\u966a\u7ec3\u673a\u5668\uff0c\u901a\u8fc7\u62fe\u97f3\u5668\u52a0\u8f7d\u7434\u7801\u4e0a\uff0c\u5b9e\u65f6\u91c7\u96c6\u6f14\u594f\u7684\u58f0\u97f3\u7528\u7b97\u6cd5\u5224\u65ad\u97f3\u51c6\uff0c\u80fd\u591f\u6709\u4e00\u4e2a\u5b9e\u65f6\u7684\u53cd\u9988\uff0c\u9632\u6b62\u8d8a\u7ec3\u8d8a\u9519\u3002\u8fd9\u7684\u786e\u662f\u4e2a\u597d\u4e1c\u897f\u554a\uff0c\u6240\u4ee5\u6211\u4e5f\u5c31\u6beb\u4e0d\u72b9\u8c6b\u5730\u4e0b\u5355\u4e70\u4e86\uff0c\u5c31\u662f\u8fd9\u73a9\u610f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1024x555.png\" alt=\"\" class=\"wp-image-1133\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1024x555.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-300x163.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-768x417.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image.png 1228w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u4e00\u770b\u4ef7\u683c\uff0c\u8fd8\u4e0d\u4fbf\u5b9c\uff0c\u4e0d\u8fc7\u4e3a\u4e86\u65e9\u65e5\u5b9e\u73b0\u81ea\u5df1\u6f14\u594f\u300a\u544a\u767d\u4e4b\u591c\u300b\u7684\u68a6\u60f3\uff0c\u8fd8\u662f\u4e70\u5427\uff0c\u4ece\u6b64\u5f00\u59cb\u4e86\u81ea\u5df1\u7684\u7ec3\u7434\u751f\u6daf\uff0c\u5176\u5b9e\u8fd8\u662f\u633a\u597d\u7528\u7684\uff0c\u53ef\u4ee5\u5b9e\u65f6\u8bc4\u5206\uff0c\u5224\u65ad\u97f3\u51c6\uff0c\u53e6\u5916\u8fd8\u6709\u6307\u4f4d\u63d0\u793a\u7684\u529f\u80fd\uff0c\u4e0d\u8fc7\u8fd9\u4e2a\u529f\u80fd\u5bf9\u4e8e\u6211\u6765\u8bf4\u5e76\u4e0d\u9700\u8981\uff0c\u6240\u4ee5\u6211\u4e0d\u592a\u7528\uff0c\u673a\u5668\u548c\u5b9e\u9645\u4f7f\u7528\u6548\u679c\u5982\u4e0b\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-2-1024x768.png\" alt=\"\" class=\"wp-image-1135\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-2-1024x768.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-2-300x225.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-2-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1-1024x576.png\" alt=\"\" class=\"wp-image-1134\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1-1024x576.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1-300x169.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1-768x432.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1-180x100.png 180w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u5c31\u8fd9\u6837\u7ec3\u4e60\u4e86\u4e24\u4e2a\u6708\u5de6\u53f3\u5427\uff0c\u6709\u4e00\u5929\u6211\u7a81\u7136\u53d1\u73b0\u91cc\u9762\u6709\u4e9b\u66f2\u8c31\u548c\u6211\u6559\u6750\u91cc\u7684\u4e0d\u4e00\u81f4\uff0c\u5f71\u54cd\u6211\u7ec3\u4e60\uff0c\u867d\u7136\u4ee5\u673a\u5668\u91cc\u7684\u4e50\u8c31\u4e3a\u51c6\u95ee\u9898\u4e5f\u4e0d\u5927\uff0c\u4f46\u662f\u4f5c\u4e3a\u4e00\u4e2a\u8ffd\u6c42\u5b8c\u7f8e\u7684\u4eba\u6765\u8bf4\uff0c\u975e\u5f97\u7ed9\u4ed6\u6298\u817e\u597d\u4e0d\u53ef\u3002\u4e3a\u6b64\u6211\u53bb\u4e13\u95e8\u95ee\u4e86\u5356\u5bb6\uff0c\u7ed3\u679c\u4e00\u95ee\u4e09\u4e0d\u77e5\uff0c\u4e0d\u662f\u8bf4\u597d\u7ec8\u8eab\u514d\u8d39\u5347\u7ea7\u7684\u5417\uff0c\u7ed3\u679c\u7adf\u7136\u56de\u7b54\u6211\u8bf4\u6559\u6750\u5e38\u7528\u7684\u90fd\u6709\u4e0d\u9700\u8981\u5347\u7ea7\uff1fAre you kidding me?\u8f6f\u78e8\u786c\u6ce1\u4e86\u534a\u5929\uff0c\u7ec8\u4e8e\u8bf4\u51fa\u4e86\u771f\u76f8\uff0c\u5356\u5bb6\u81ea\u5df1\u4e5f\u4e0d\u4f1a\u5347\u7ea7\uff0c\u7ed9\u4e86\u6211\u4e00\u4e2a\u5382\u5546\u7684\u5ba2\u670dQQ\u53f7\uff0c\u8ba9\u6211\u53bb\u76f4\u63a5\u95ee\u95ee\u5382\u5546\u3002\u95ee\u5c31\u95ee\u5427\uff0c\u6211\u5c31\u53bb\u52a0\u4e86\u5382\u5546\u7684\u5ba2\u670d\u95ee\u4e86\u4e00\u4e0b\u3002\u56de\u7b54\u8bf4\u662f\u53ef\u4ee5\u5e2e\u52a0\u4e50\u8c31\uff0c\u4f46\u662f\u5c31\u662f\u9700\u8981\u6211\u628a\u4e50\u8c31\u53d1\u7ed9\u4ed6\uff0c\u4ed6\u52a0\u597d\u53d1\u6211\u4e50\u8c31\u6587\u4ef6\u6211\u653e\u5230SD\u5361\u63d2\u5230\u673a\u5668\u4e0a\u81ea\u5df1\u5347\u7ea7\u3002\u6211\u95ee\u4ed6\u4eec\u662f\u600e\u4e48\u52a0\u4e50\u8c31\u7684\uff0c\u80fd\u4e0d\u80fd\u81ea\u5df1\u52a0\uff0c\u56de\u7b54\u8bf4\u4ed6\u4eec\u6709\u4e13\u95e8\u7684\u8f6f\u4ef6\uff0c\u4f46\u662f\u4e0d\u80fd\u7ed9\u6211\u3002\u8fd9\u3002\u3002\u3002\u3002\u3002\u597d\u5427\uff0c\u6211\u54ac\u54ac\u7259\u8ba9\u4ed6\u5e2e\u6211\u4fee\u6539\u4e86\u4e00\u9996\u6709\u9519\u8bef\u7684\u66f2\u8c31\uff0c\u8bf4\u662f\u4e24\u4e09\u5929\u5f04\u597d\uff0c\u7ed3\u679c\u540e\u9762\u76f4\u63a5\u4e0d\u7406\u6211\u4e86\u3002\u90fd\u4ec0\u4e48\u9b3c\uff0c\u8fd9\u670d\u52a1\u6001\u5ea6\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u7b97\u4e86\uff0c\u6c42\u4eba\u4e0d\u5982\u6c42\u81ea\u5df1\uff0c\u6211\u8fd8\u662f\u81ea\u5df1\u6765\u5206\u6790\u5427\uff0c\u4e8e\u662f\u5c31\u6709\u4e86\u8fd9\u6837\u4e00\u7bc7\u6587\u7ae0\uff0c\u90a3\u4e48\uff0c\u65e2\u7136\u8981\u5206\u6790\u7684\u8bdd\uff0c\u9996\u5148\u9700\u8981\u83b7\u5f97\u56fa\u4ef6\u3002\u6240\u4ee5\u7b2c\u4e00\u6b65\u2014\u2014\u62c6\uff01\u62c6\u5f00\u4ee5\u540e\uff0c\u6211\u9707\u60ca\u4e86\uff0c\u8fd9TM\u4ec0\u4e48\u73a9\u610f\uff0c\u8fd8\u5e26\u98de\u7ebf\u7684\uff0c\u91cf\u4ea7\u4ea7\u54c1\uff0c\u4e5f\u592a\u5f00\u73a9\u7b11\u4e86\u5427\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"842\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-3-1024x842.png\" alt=\"\" class=\"wp-image-1136\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-3-1024x842.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-3-300x247.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-3-768x632.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-3.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u4ece\u4e0a\u56fe\u4e2d\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u51fa\uff0c\u677f\u5b50\u4e0a\u7559\u4e86\u4e00\u4e2a\u8c03\u8bd5\u4e32\u53e3\u548c\u4e00\u4e2aUSB Header\uff0c\u63a8\u6d4b\u6709\u53ef\u80fd\u8fd9\u662f\u4e00\u4e2aUSB Device\uff0c\u5148\u4e0d\u7ba1\u4ed6\uff0c\u5148\u7528\u8c03\u8bd5\u4e32\u53e3\u8fde\u4e0a\u53bb\u770b\u770b\uff0c\u53d1\u73b0\u662fAllwinner\u7684\u65b9\u6848CPU\u5355\u6838\u5fc3\uff0c32\u4f4d\uff08\u63a8\u6d4b\u53ef\u80fd\u662fAllwinner A10\uff09\uff0c\u8dd1\u7684\u662fAndroid\u7cfb\u7edf\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"732\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-4-1024x732.png\" alt=\"\" class=\"wp-image-1137\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-4-1024x732.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-4-300x215.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-4-768x549.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-4.png 1247w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"735\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-5-1024x735.png\" alt=\"\" class=\"wp-image-1138\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-5-1024x735.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-5-300x215.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-5-768x551.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-5.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u4e00\u5f00\u59cb\u8fdb\u53bb\u53d1\u73b0\u6ca1\u6709shell\uff1f\u597d\u5947\u602a\uff0c\u7136\u540e\u540e\u6765\u53d1\u73b0\u5176\u5b9e\u662f\u53ef\u4ee5\u6267\u884c\u547d\u4ee4\u7684\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"731\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-6-1024x731.png\" alt=\"\" class=\"wp-image-1139\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-6-1024x731.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-6-300x214.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-6-768x548.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-6.png 1281w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u8fd9\u4e5f\u592a\u96be\u7528\u4e86\u5427\uff0c\u5c1d\u8bd5\u6267\u884c\/system\/bin\/sh\uff0c\u8fd9\u4e0b\u987a\u773c\u591a\u4e86\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"872\" height=\"324\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-7.png\" alt=\"\" class=\"wp-image-1140\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-7.png 872w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-7-300x111.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-7-768x285.png 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u679c\u7136\u662fAndroid\u65e0\u7591\u4e86\uff0c\u90a3\u4e48\u63a8\u6d4b\u4e4b\u524d\u7559\u4e0b\u7684\u90a3\u4e2aUSB Header\u5e94\u8be5\u662fUSB Device\u8c03\u8bd5\u63a5\u53e3\uff0c\u4e5f\u8bb8\u53ef\u4ee5adb\u5462\uff1f\u90a3\u4e48\u5c31\u8bd5\u8bd5\u5427\uff0c\u4e8e\u662f\u6211\u5c31\u5148\u710a\u4e00\u4e2aUSB\u63a5\u5934\u4e0a\u53bb\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"803\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-8-1024x803.png\" alt=\"\" class=\"wp-image-1141\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-8-1024x803.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-8-300x235.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-8-768x602.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-8.png 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u7136\u540e\u7528USB\u5bf9\u516c\u7ebf\u8fde\u63a5\u7535\u8111\uff0c\u987a\u4fbf\u628a\u663e\u793a\u5668\u4e00\u8d77\u63a5\u4e0a\uff0c\u65b9\u4fbf\u8c03\u8bd5\uff0c\u5982\u4e0b\u56fe\uff0c\u7ebf\u6bd4\u8f83\u591a\uff0c\u6709\u70b9\u96be\u53d7\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-12-768x1024.png\" alt=\"\" class=\"wp-image-1145\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-12-768x1024.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-12-225x300.png 225w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u7136\u800c\uff0cUSB\u7ebf\u8fde\u4e0a\u7535\u8111\u6ca1\u53cd\u5e94\uff0c\u96be\u9053\u662f\u6ca1\u5f00\u5f00\u53d1\u8005\u6a21\u5f0f\u5417\uff1f\u5c1d\u8bd5\u4ee5\u4e0b\u7528\u547d\u4ee4\u6253\u5f00adb\u670d\u52a1\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">echo 0  &gt; \/sys\/class\/android_usb\/android0\/enable\necho 18da1 &gt; \/sys\/class\/android_usb\/android0\/idVendor\necho D002 &gt; \/sys\/class\/android_usb\/android0\/idProduct \necho adb &gt; \/sys\/class\/android_usb\/android0\/functions \necho 1 &gt; \/sys\/class\/android_usb\/android0\/enable\nstart adbd<\/pre>\n\n\n<p>\u3000\u3000\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u4ee5\u540e\uff0c\u5c31\u80fd\u591f\u5728\u7535\u8111\u4e2d\u51fa\u73b0\u4e00\u4e2aadb\u8bbe\u5907\u4e86\uff0c\u7136\u540e\uff0c\u8fd9\u6837\u63d0\u53d6\u56fa\u4ef6\u5c31\u65b9\u4fbf\u4e86\uff0c\u5728adb shell\u91cc\u7a0d\u5fae\u627e\u4e86\u4e00\u5708\uff0c\u6700\u7ec8\u53d1\u73b0\u5728\/sdcard\u4e2d\u6709\u4e00\u4e2aMITONE\u76ee\u5f55\uff0c\u5148\u4e0d\u7ba1\u4ed6\u5427\uff0c\u5bf9\u4e8e\u5b89\u5353\uff0c\u6211\u4eec\u76f4\u63a5\u628a\/system\/app\u76ee\u5f55\u548c\/sdcard\u6574\u4e2a\u7ed9adb pull\u51fa\u6765\u5230\u7535\u8111\u4e0a\u518d\u770b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"366\" height=\"404\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-9.png\" alt=\"\" class=\"wp-image-1142\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-9.png 366w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-9-272x300.png 272w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><\/figure><\/div>\n\n\n\n<p>\u3000\u3000\u6700\u7ec8\u53d1\u73b0\uff0c\u539f\u6765\u6559\u6750\u5728\/sdcard\/MITONE\/lev\u76ee\u5f55\u4e0b\u9762:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"600\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-10.png\" alt=\"\" class=\"wp-image-1143\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-10.png 893w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-10-300x202.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-10-768x516.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u7136\u800c\uff0c\u8fd9\u4e9b\u4e66\u90fd\u662f\u6240\u8c13\u7684.msb\u6269\u5c55\u540d\uff0c\u7f51\u4e0a\u67e5\u4e86\u4e5f\u5e76\u6ca1\u6709\u627e\u5230\u76f8\u5e94\u7684\u5df2\u77e5\u683c\u5f0f\uff0c\u770b\u6765\u53ea\u80fd\u81ea\u5df1\u5206\u6790\u4e8c\u8fdb\u5236\u6587\u4ef6\u4e86\uff0c\u5148\u7528010Editor\u6253\u5f00\u770b\u770b\u5427\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"470\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-11-1024x470.png\" alt=\"\" class=\"wp-image-1144\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-11-1024x470.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-11-300x138.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-11-768x352.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-11.png 1086w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u770b\u6837\u5b50\u662f\u79c1\u6709\u683c\u5f0f\uff0c\u90a3\u4e48\u53ea\u80fd\u5206\u6790\u8bbe\u5907\u4e2d\u7684\u7a0b\u5e8f\u672c\u8eab\u4e86\uff0c\u770b\u770b\u7a0b\u5e8f\u672c\u8eab\u662f\u5982\u4f55\u89e3\u6790\u4e66\u672c\u7684\u3002\u65e2\u7136\u662f\u5b89\u5353\u7cfb\u7edf\uff0c\u90a3\u4e48\u4e00\u5b9a\u662f\u901a\u8fc7app\u8bfb\u53d6\u4e66\u672c\u8fdb\u884c\u89e3\u6790\u7684\uff0c\u901a\u8fc7\u5206\u6790\u8fdb\u7a0b\u5217\u8868\uff0c\u6700\u540e\u786e\u5b9a\u662fmusictsu2.apk\u8fd9\u4e2aapp\uff0c\u62d6\u5230JEB\u91cc\u9762\u5206\u6790\u770b\u770b\uff0c\u5728Java\u5c42\u770b\u4e86\u4e00\u5708\uff0c\u6ca1\u4ec0\u4e48\u6709\u7528\u7684\uff0c\u8fd9\u4e2a\u7a0b\u5e8f\u6709\u4e00\u4e2a\u4e8c\u8fdb\u5236so\u5e93\uff0c\u540d\u5b57\u662flibMultakGameLib.so\uff0c\u770b\u6765\u5173\u952e\u4ee3\u7801\u5e94\u8be5\u5728so\u5e93\u91cc\u3002\u7136\u800c\u8fd9\u4e2a\u5e93\u662fC++\u5199\u7684\uff0c\u5206\u6790\u8d77\u6765\u6781\u5176\u6076\u5fc3\u3002\u4e0d\u8fc7\uff0c\u4f5c\u4e3a\u4e00\u4e2aCTF\u8001\u8d5b\u68cd\uff0c\u600e\u4e48\u80fd\u6015\u6076\u5fc3\u7684\uff0c\u6709\u6bd4\u8d5b\u9898\u76ee\u6076\u5fc3\u5417\uff0c\u8fd8\u662f\u9759\u4e0b\u5fc3\u6765\u770b\u5427\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"859\" height=\"822\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-13.png\" alt=\"\" class=\"wp-image-1146\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-13.png 859w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-13-300x287.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-13-768x735.png 768w\" sizes=\"auto, (max-width: 859px) 100vw, 859px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u7ecf\u8fc7\u5206\u6790\u52a0\u4e0a\u7528android_server\u4e8c\u8fdb\u5236\u8c03\u8bd5\u4e00\u756a\u540e\uff0c\u7ec8\u4e8e\u641e\u660e\u767d\u4e86msb\u683c\u5f0f\uff0c\u540c\u65f6\u4eceso\u5e93\u4e2d\u7684\u7f51\u5740\u4fe1\u606f\u6765\u770b\uff0c\u53d1\u73b0\u4e86\u4e00\u4e9b\u6709\u610f\u601d\u7684\u4e8b\u60c5\uff0c\u539f\u6765\u8fd9\u4e2a\u5b66\u4e60\u673a\u7a0b\u5e8f\u6709\u597d\u51e0\u4e2a\u9a6c\u7532\uff0c\u6bd4\u5982\u201c\u7ec3\u7434\u8fbe\u4eba\u201d\uff0c\u82f1\u6587\u540d\u53ebMusicScore\u3002\u8fd9\u4e2aapp\u540c\u65f6\u7528\u5728\u6211\u8fd9\u4e2a\u673a\u5668\u4e0a\u548c\u53e6\u4e00\u4e2a\u5e73\u677f\u94a2\u7434\u5b66\u4e60\u673a\u7684\u4ea7\u54c1\u4e0a\u3002\u5e76\u4e14\uff0c\u8fd9\u5bb6\u516c\u53f8\u53eb\u505a\u4e0a\u6d77\u6e10\u534e\u79d1\u6280\u53d1\u5c55\u6709\u9650\u516c\u53f8\uff0c\u82f1\u6587\u540d\u53ebMULTAK TECHNOLOGY DEVELOPMENT\u3002\u662f\u4e00\u5bb6\u5c0f\u516c\u53f8\uff0c\u4e3b\u8981\u505a\u5f55\u97f3\u8bbe\u5907\uff0c\u5b98\u7f51\u662f\uff1a <a href=\"http:\/\/www.multak.com\/\">http:\/\/www.multak.com\/<\/a> \u3002\u53e6\u5916\uff0c\u8fd8\u53d1\u73b0\u4e00\u4e2a\u6709\u610f\u601d\u7684\u7f51\u7ad9\uff0c\u5c31\u662f\u97f3\u4e50\u901a\u54c1\u724c\u7684\u4e3b\u9875\uff1a <a href=\"http:\/\/m2.51kara.com\/1503\/\">http:\/\/m2.51kara.com\/1503\/<\/a> \uff0c\u4e0a\u9762\u53ef\u4ee5\u4e0b\u8f7d\u5230\u8bfe\u7a0b\u4e66\u672c\uff0c\u53ef\u4ee5\u770b\u5230\u90fd\u662fmsb\u683c\u5f0f\u7684\uff0c\u800c\u4e14\u8fd9\u4e2a\u7f51\u7ad9\u505a\u5f97\u5de8\u70c2\uff0c\u4f3c\u4e4e\u5df2\u7ecf\u88ab\u5e9f\u5f03\u4e86\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u597d\u4e86\u516b\u5366\u5b8c\u4e86\uff0c\u6211\u4eec\u8bf4\u4e66\u672c\u7684\u7ed3\u8bba\u5427\uff0c\u5927\u6982\u5c31\u662f\u6807\u7b7e+\u957f\u5ea6+\u5185\u5bb9\u8fd9\u6837\u7684\u5206\u5e03\uff0c\u6bd4\u5982MSBK\u5c31\u662f\u4e66\u672c\u7684Magic\u5934\u90e8\uff0c\u540e\u9762\u8ddf4\u4e2a\u5b57\u8282\u7684\u957f\u5ea6\uff0c\u7136\u540eCOVE\u5c31\u662fCover\uff0c\u5c01\u9762\u7684\u610f\u601d\uff0c\u540e\u9762\u4f1a\u8ddf\u957f\u5ea6+\u5c01\u9762PNG\u56fe\u7247\u6570\u636e\uff0c\u662f\u7684\uff0c\u4f60\u6ca1\u770b\u9519\uff0c\u8fd9NB\u7684\u683c\u5f0f\u76f4\u63a5\u628aPng\u56fe\u7247\u6253\u5305\u5728\u4e66\u672c\u91cc\u9762\u3002\u4e3a\u6b64\uff0c\u6211\u5199\u4e86\u4e00\u4e2a010Editor\u6a21\u677f\u6765\u89e3\u6790\u4e66\u672c\u683c\u5f0f\uff08\u6240\u4ee5MSB\u662fMusicScoreBook\u7684\u7f29\u5199\u610f\u601d\uff1f\uff09\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/\/------------------------------------------------\n\/\/--- 010 Editor v9.0.1 Binary Template\n\/\/\n\/\/      File: MSBK.bt\n\/\/   Authors: Jarvis\n\/\/   Version: \n\/\/   Purpose: \n\/\/  Category: \n\/\/ File Mask: \n\/\/  ID Bytes: \n\/\/   History: \n\/\/------------------------------------------------\nLittleEndian();\n\ntypedef struct Chapter {\n    char lbl_mscp[4];\n    uint32 chap_size;\n    char lbl_type[4];\n    uint32 chap_type;\n    char lbl_diff[4];\n    uint32 chap_diff;\n    char lbl_enco[4];\n    uint32 chap_enco;\n    char lbl_tnnt[4];\n    char chap_tnnt[4];\n    char lbl_inon[4];\n    uint32 inon_size;\n    char chap_inon[inon_size];\n    char lbl_title[4];\n    uint32 chap_title_size;\n    char chap_title[chap_title_size];\n    char lbl_author[4];\n    uint32 author_size;\n    char chap_author[author_size];\n    char lbl_midi[4];\n    uint32 midi_size;\n    char chap_midi[midi_size];\n    char lbl_ovtr[4];   \/\/may be overture format?\n    uint32 ovtr_size;\n    char chap_ovtr[ovtr_size];\n\n} BookChap &lt;optimize=false&gt;; \n\nstruct MusicScoreBook\n{\n    struct BookHeader\n    {\n        char Magic[4];\n        uint32 book_size;  \n        char lbl_type[4];\n        uint32 book_type;\n        char lbl_title[4];\n        uint32 title_size;\n        char book_title[title_size];\n        char lbl_author[4];\n        uint32 author_size;\n        char book_author[author_size];\n        char lbl_revision[4];\n        uint32 rev_size;\n        char book_rev[rev_size];\n        char lbl_http[4];  \/\/maybe name on the webpage\n        uint32 http_size;\n        char book_httptitle[http_size];\n        char lbl_simpname[4];\n        uint32 simpname_size;\n        char book_simp[simpname_size];\n        char lbl_level[4];\n        uint32 level_size;\n        char book_level[level_size];\n        char lbl_cover[4];\n        uint32 cover_size;\n        char book_cover[cover_size];\n        char lbl_chap[4];\n        uint32 total_chapters;\n        uint32 chap_offset[total_chapters];\n         \n    } book_header;\n\n    BookChap book_chapters[book_header.total_chapters];\n\n    \n} file;<\/pre>\n<p><\/p>\n\n\n<p>\u89e3\u6790\u7ed3\u679c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"453\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-14.png\" alt=\"\" class=\"wp-image-1147\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-14.png 1020w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-14-300x133.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-14-768x341.png 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u5176\u4e2d\u4e66\u672c\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u4fe1\u606f\u5c31\u662fMIDI\u6570\u636e\u548cOVTR\u6570\u636e\uff0c\u5176\u4e2dMIDI\u6570\u636e\u4e0d\u7528\u89e3\u91ca\uff0c\u5c31\u662f\u7528\u6765\u64ad\u653e\u7684MIDI\u58f0\u97f3\u6570\u636e\uff0c\u5176\u4e2dOVTR\u8fd9\u4e2a\u5f88\u4ee4\u4eba\u56f0\u60d1\uff0c\u5e76\u4e14\u8fd9\u4e24\u90e8\u5206\u90fd\u4f3c\u4e4e\u662f\u968f\u673a\u6570\u503c\uff0c\u50cf\u662f\u538b\u7f29\u6216\u8005\u52a0\u5bc6\u7684\u3002\u90a3\u4e48\u6211\u4eec\u7ee7\u7eed\u4ed4\u7ec6\u5206\u6790so\u5e93\uff0c\u7ec8\u4e8e\u53d1\u73b0\u4e86\u89e3\u6790\u4e66\u672c\u7684\u4ee3\u7801\u4e2d\uff0c\u5bf9\u8fd9\u4e24\u90e8\u5206\u7684\u5904\u7406\uff0c\u7adf\u7136\u8fd9\u4e24\u90e8\u5206\u90fd\u662f\u52a0\u5bc6\u7684\uff01\u5173\u952e\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">int __fastcall sub_5CA4D058(int result, int a2, int a3)\n{\n  signed int v3; \/\/ r3\n  int v4; \/\/ r12\n  signed int v5; \/\/ r12\n  int v6; \/\/ r5\n  int i; \/\/ r4\n  int v8; \/\/ r4\n  int v9; \/\/ r3\n\n  v3 = 0;\n  v4 = (a3 + 3) &amp; (a3 &gt;&gt; 32);\n  if ( a3 &gt;= 0 )\n    v4 = a3;\n  v5 = v4 &amp; 0xFFFFFFFC;\n  v6 = result;\n  for ( i = a2; ; *(_BYTE *)(i - 1) = *(_BYTE *)(v6 - 1) ^ 0xAC )\n  {\n    v6 += 4;\n    i += 4;\n    if ( v3 &gt;= v5 )\n      break;\n    v3 += 4;\n    *(_BYTE *)(i - 4) = *(_BYTE *)(v6 - 4) ^ 0x5F;\n    *(_BYTE *)(i - 3) = *(_BYTE *)(v6 - 3) ^ 0xE3;\n    *(_BYTE *)(i - 2) = *(_BYTE *)(v6 - 2) ^ 0x1D;\n  }\n  if ( v3 &lt; a3 )\n  {\n    *(_BYTE *)(a2 + v3) = *(_BYTE *)(result + v3) ^ 0x5F;\n    v8 = v3 + 1;\n    if ( v3 + 1 &lt; a3 )\n    {\n      v9 = v3 + 2;\n      *(_BYTE *)(a2 + v8) = *(_BYTE *)(result + v8) ^ 0xE3;\n      if ( v9 &lt; a3 )\n        *(_BYTE *)(a2 + v9) = *(_BYTE *)(result + v9) ^ 0x1D;\n    }\n  }\n  return result;\n}\n\n\nint __fastcall Midi_Decode(int result, unsigned __int8 *a2, int a3, unsigned int a4)\n{\n  unsigned int v4; \/\/ r5\n  int v5; \/\/ r4\n  int v6; \/\/ r4\n  unsigned int v7; \/\/ r5\n  bool v8; \/\/ cf\n  int v9; \/\/ r2\n  int v10; \/\/ r3\n  int v11; \/\/ r4\n  int v12; \/\/ r2\n  int v13; \/\/ r5\n  int v14; \/\/ r6\n  int v15; \/\/ r12\n\n  v4 = a4 - 0x7B8C754D;\n  if ( a3 &lt;= 127 )\n  {\n    v6 = a3 + 3;\n    v7 = v4 * a4;\n    v8 = a3 &lt; 0;\n    v9 = a3 &amp; ~(a3 &gt;&gt; 32);\n    if ( v8 )\n      v9 = v6;\n    v10 = 0;\n    v11 = v7 + 0x5483B7FD;\n    v12 = v9 &gt;&gt; 2;\n    v13 = 0;\n    v14 = v11;\n    while ( v13 &lt; v12 )\n    {\n      ++v13;\n      v15 = *(_DWORD *)(result + v10) - v14;\n      v14 += v11;\n      *(_DWORD *)&amp;a2[v10] = v15 ^ 0x5483B7FD;\n      v10 += 4;\n    }\n  }\n  else\n  {\n    v5 = 0;\n    do\n    {\n      *(_DWORD *)&amp;a2[v5] = (*(_DWORD *)(result + v5) - v4) ^ 0xAAAAAAAA;\n      v5 += 4;\n    }\n    while ( v5 != 128 );\n    result = sub_5CA4D058(result + 128, (int)(a2 + 128), a3 - 128);\n  }\n  return result;\n}\n\nint __fastcall Sn_Decode_Ovh(int result, unsigned int *a2, int a3, unsigned __int8 a4)\n{\n  int v4; \/\/ r4\n  signed int v5; \/\/ r3\n  int v6; \/\/ r5\n\n  v4 = 0;\n  v5 = 0x8D23B1B;\n  v6 = 0;\n  while ( v6 &lt; a3 )\n  {\n    ++v6;\n    a2[v4] = (*(_DWORD *)(result + v4 * 4) - v5) ^ 0x5483B7FD;\n    v5 += 0x8D23B1B;\n    ++v4;\n  }\n  return result;\n}\n\nint __fastcall Ovh_Decode(unsigned __int8 *a1, unsigned __int8 *a2, int a3, unsigned __int8 a4)\n{\n  unsigned __int8 *v4; \/\/ r6\n  unsigned __int8 *v5; \/\/ r5\n  int v6; \/\/ r4\n  int result; \/\/ r0\n  int v8; \/\/ r2\n  bool v9; \/\/ cf\n  int v10; \/\/ r4\n\n  v4 = a1;\n  v5 = a2;\n  v6 = a3;\n  if ( a3 &lt;= 127 )\n  {\n    v8 = a3 + 3;\n    v9 = v6 &lt; 0;\n    v10 = v6 &amp; ~(v6 &gt;&gt; 32);\n    if ( v9 )\n      v10 = v8;\n    result = Sn_Decode_Ovh((int)a1, (unsigned int *)a2, v10 &gt;&gt; 2, a4);\n  }\n  else\n  {\n    Sn_Decode_Ovh((int)a1, (unsigned int *)a2, 32, a4);\n    result = sub_5CA4D058((int)(v4 + 128), (int)(v5 + 128), v6 - 128);\n  }\n  return result;\n}\n<\/pre>\n\n\n<p>\u3000\u3000\u5b83\u4f7f\u7528\u4e86\u4e00\u4e2a\u7b80\u5355\u52a0\u5bc6\u7b97\u6cd5\u6765\u52a0\u5bc6MIDI\u6570\u636e\u548cOVTR\u6570\u636e\uff0c\u90a3\u4e48\u5bc6\u94a5key\u662f\u4ec0\u4e48\u5462\uff1f\u8fdb\u884c\u6df1\u5165\u5206\u6790\u4e4b\u540e\uff0c\u53d1\u73b0\u8fd9\u4e2a\u7a0b\u5e8f\uff0c\u628a\u6bcf\u672c\u4e66\u7684\u4e66\u540d\uff08\u53ef\u4ee5\u662f\u4e2d\u6587\uff09\u505a\u4e86\u4e00\u4e2a\u7c7b\u4f3chash\u7b97\u6cd5\u7684\u64cd\u4f5c\uff0c\u8f6c\u6362\u4e3a4\u4e2a\u5b57\u8282\u7684hash\u503c\uff0c\u5e76\u4e14\u5c06\u8fd9\u4e2ahash\u503c\u548c\u5bf9\u5e94\u7684\u52a0\u5bc6key\u5b58\u5728\u4e86\u4e00\u4e2a.sn.cfg\u7684\u6587\u4ef6\u4e2d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"719\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-15.png\" alt=\"\" class=\"wp-image-1148\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-15.png 986w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-15-300x219.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-15-768x560.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u5982\u4e0a\u56fe\uff0c\u5373\u683c\u5f0f\u662f4\u5b57\u8282hash+4\u5b57\u8282key\u7684\u5f62\u5f0f\uff0c\u5927\u81f4\u770b\u4e86\u4e00\u4e0b\uff0c\u6211\u8fd9\u53f0\u673a\u5668\u6240\u6709\u4e66\u672c\u7684key\u90fd\u662f\u76f8\u540c\u7684\uff0c\u53730xee4025cf\uff0c\u6240\u4ee5\u76f4\u63a5\u7528\u6b64key\u89e3\u5bc6\u6570\u636e\u5373\u53ef\uff0c\u6839\u636eC\u7a0b\u5e8f\u5f88\u5feb\u5c31\u53ef\u4ee5\u5199\u51fa\u4e00\u4e2apython\u811a\u672c\u6765\u89e3\u5bc6\uff1a<\/p>\n\n\n\n<p>\u8ba1\u7b97\u4e66\u672chash\u503c\u7684python\u4ee3\u5982\u4e0b\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">#!\/usr\/bin\/env python\n# -*- coding:utf-8 -*-\n\ndef int32_ror(x, k):\n    if (k&lt;0):\n        k = -((-k)%32)\n    else:\n        k = k%32\n    binstr = bin(x)[2:]\n    while (len(binstr)&lt;32):\n        binstr  = '0' + binstr\n    #print \"Before shift: \"+ binstr\n    shiftstr = binstr[k:] + binstr[:k]\n    #print \"after shift: \" + shiftstr\n    return int(shiftstr,2)\n\n\n\nbookname = \"\u65b0\u7f16\u521d\u5b66\u5c0f\u63d0\u7434100\u5929\"\n\nbooklen = len(bookname)\n\nhash = booklen\nfor ch in bookname:\n    data = ord(ch)\n    if (data&amp;0x80 !=0):\n        data = 0xffffff00 | data\n    hash = int32_ror(hash,-27)^data\n    #print hex(hash)\n\nprint \"book hash =\",hex(hash)\n<\/pre>\n<p><\/p>\n\n\n<p>\u89e3\u5bc6MIDI\u548cOVTR\u6570\u636e\u7684\u4ee3\u7801\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">#!\/usr\/bin\/env python\n# -*- coding:utf-8 -*-\n\nimport struct\n\ndef Data_dec_last_part(data,len):\n    v4 = (len+3)&amp;(len&gt;&gt;32)\n    if (len &gt;=0):\n        v4 = len\n    v5 = v4 &amp; 0xFFFFFFFC\n    ret = list(data)\n    idx = 0\n    while (idx&lt;v5):\n        idx += 4\n        ret[idx-4] = chr(ord(ret[idx - 4]) ^ 0x5F)\n        ret[idx-3] = chr(ord(ret[idx - 3]) ^ 0xE3)\n        ret[idx-2] = chr(ord(ret[idx - 2]) ^ 0x1D)\n        ret[idx-1] = chr(ord(ret[idx - 1]) ^ 0xAC)\n    if (idx&lt;len):\n        ret[len+idx] = chr(ord(ret[len+idx]) ^ 0x5F)\n        if (idx + 1&lt;len):\n            ret[len + idx + 1] = chr(ord(ret[len + idx + 1]) ^ 0xE3)\n            if (idx + 2 &lt; len):\n                ret[len + idx + 2] = chr(ord(ret[len + idx + 2]) ^ 0x1D)\n\n    return ''.join(ret)\n\n\ndef Midi_Decode(data,len,key):\n\n    key2 = (key - 0x7B8C754D)&amp;0xffffffff\n    if (len&lt;=127):  #This condition usually don't happen\n        v6 = len + 3\n        v7 = key2 * key\n        if (len&lt;0):\n            v9 = v6\n        else:\n            v9 = (len &amp; ~(len &gt;&gt; 32)) &amp; 0xffffffff\n        v10 = 0\n        v11 = v7 + 0x5483B7FD\n        v12 = v9&gt;&gt;2\n        v13 = 0\n        v14 = v11\n        ret = []\n        idx = 0\n        while (idx &lt; v9):\n            ret.append(struct.unpack(\"&lt;I\", data[idx:idx + 4])[0])\n            idx += 4\n        while (v13 &lt; v12):\n            v13 += 1\n            v15 += ret[v10\/4] - v14\n            v14 += v11\n            ret[v10\/4] = v15 ^ 0x5483B7FD\n            v10 += 4\n        idx = 0\n        result = ''\n        while (idx &lt; v9):\n            result += struct.pack(\"I\", ret[idx \/ 4])\n            idx += 4\n        return result\n    else:\n        ret = []\n        idx = 0\n        while (idx &lt; 128):\n            ret.append(struct.unpack(\"&lt;I\", data[idx:idx + 4])[0])\n            idx += 4\n        idx = 0\n        while (idx &lt; 128):\n            ret[idx\/4] = ((ret[idx\/4] - key2)&amp;0xFFFFFFFF) ^ 0xAAAAAAAA\n            idx +=4\n        result = ''\n        idx = 0\n        while (idx &lt; 128):\n            result += struct.pack(\"I\",ret[idx\/4])\n            idx += 4\n        result += Data_dec_last_part(data[128:],len-128)\n        return result\n\ndef Sn_Decode_Ovh(data,len,key):\n    v5 = 0x8D23B1B\n    ret = []\n    idx = 0\n    while (idx &lt; len):\n        ret.append(struct.unpack(\"&lt;I\", data[idx:idx + 4])[0])\n        idx += 4\n    idx = 0\n    while (idx&lt;len):\n        ret[idx\/4] = ((ret[idx\/4] - v5)&amp;0xffffffff) ^ 0x5483B7FD\n        v5 = (v5 + 0x8D23B1B)&amp;0xffffffff\n        idx += 4\n    result = ''\n    idx = 0\n    while (idx &lt; len):\n        result += struct.pack(\"I\", ret[idx \/ 4])\n        idx += 4\n    return result\n\ndef Ovh_Decode(data,len,key):\n    if (len&lt;=127):\n        v8 = len+3\n        v10 = (len &amp; ~(len &gt;&gt; 32)) &amp; 0xffffffff\n        if (len&lt;0):\n            v10 = v8\n        return Sn_Decode_Ovh(data,v10,key)\n    else:\n        result = Sn_Decode_Ovh(data,128,key)\n        result += Data_dec_last_part(data[128:],len-128)\n        return result\n\n\nif __name__==\"__main__\":\n    key = 0xee4025cf\n    encmidi = '''69 AF 76 41 2C 5B 5E 1F 2C 5B 5E 1E 2D FB 9A 71\n5A 72 5E 1D 2D 3F 5E C8 2B 55 4F 0D 06 3B 17 8A\nEE 18 17 D8 A1 1E C5 74 2C 06 A6 21 30 59 66 15\n2C 06 AF 1C 22 7E A4 1D D7 59 60 6F 45 76 7A 36\n46 5B 09 21 33 98 77 3C 5A 76 8D 38 4E 8F 3E 60\n7B 3B CC 74 9D F7 15 BA 98 04 C4 D7 9B 13 20 D0\n2C 1B 36 1D 9C 50 9E 1D BC 44 AE 9C 1C DB 47 5D\n1C EB 47 6D AB 4A DE 06 6C 4B EE 5D 7C DA 4D 9D\n1E A3 2D 3C 1C B3 9E 9C DF A0 5D 9C CF A6 4D 2A\n3F 63 58 EC 3F 73 5A FC D9 83 9D EB 1F 83 8D E9\n0F 60 2D 2C 1A A3 2D 3C 1C B3 9E 9C DF A0 5D 9C\nCF A2 4D 2F 6F 63 5C EC 6F 73 5D FC DC D3 9D EC\n1F D3 8D 92 0F 65 7D 2C 61 A3 7D 3C 1A B3 9B CC\nDF A6 5D CC CF A0 4D 2F 6F 63 5E EC 6F 73 5C FC\nDC D3 9D ED 1F D3 8D EC 0F 60 2D 2C 1F A3 2D 3C\n1F B3 9E 9C DF A3 5D 9C CF DD 4D 2A 3F 63 23 EC\n3F 73 58 FC D9 83 9D E9 1F 83 8D EF 0F 60 2D 2C\n1C A3 2D 3C 1E B3 9E 9C DF A2 5D 9C CF A3 4D 2F\n6F 63 5D EC 6F 73 5D FC DC D3 9D EC 1F D3 8D 92\n0F 6E 5D 2C 61 A3 1D 53 70 E3 00 00\n'''.replace(\" \",\"\").replace(\"\\n\",\"\").decode('hex')\n\n    #print encmidi\n\n    encovh = '''D0 19 80 7D EA 0D 94 4D DC 83 1A 53 08 C7 2A 9E\n80 DB F6 80 9F FD 70 89 BC 55 43 94 D5 90 19 0D\nF0 CB E7 A5 0A 05 BA AC E8 60 FA D5 00 99 C2 90\nF7 C4 9D E1 75 F3 02 D0 F9 2D D5 D8 96 68 A7 E1\n6A A3 79 EA 3A DE 4B F3 F6 18 1E FC CE 53 F0 04\nE8 B7 2C EB F4 09 F4 E8 0F 4E D1 FB 20 5A 6F 48\n9F 7D 0B 2D BA B8 DD 39 D6 F3 AF 44 F1 2E 02 4A\n0C 6A 51 54 27 A5 2F 5D 42 DC F8 65 DD 04 CB 6E\n5D E3 1D AE 5A E3 1D AC 41 E3 1D AA 5F E3 9D 89\n5F E3 51 E5 11 A6 19 AC 5F A1 59 ED 0B E2 1D AC\n64 E2 51 AC E2 E3 1D A8 5B E3 1D E4 43 E3 1D AC\n5F E3 1D AC 5C F3 1D AC 5F BB 1D AC A0 43 53 E3\n0B E3 1D AC 5F E3 0E 2C 5E 1C 58 AC 5F E3 1D F9\n0F B0 1D FA 5F E3 1D AC 5F E3 53 E3 0B E2 FD AD\n5F E3 1E 2C 5E 1C 58 AC 5F E3 1D E2 10 B7 1E 6C\n5D E3 1D BF DF E2 E2 E9 5F E3 1D AC 1B B3 4E AC\n7C E1 1D 52 A9 E3 2D E2 10 B7 18 0C 5C E3 1D AF\n5F E2 1D EB 5F E3 5D AC 5F ED E2 EE 1B A2 49 AE\n5F E3 26 AD 95 E3 26 AD 5F E7 19 AC 11 AC 49 AC\n5F E3 1D AC 5D E3 1C AD 16 E3 1D 8D 5F AD 52 F8\n5C 23 1F AC 5F E0 1D AD 5F A4 1D AC 1F E3 53 E3\n0B E6 BD AE A8 E3 1E 2C 5E 1C 58 AC 5F E3 1D AC\n51 1C 5F E8 1E B7 1E AC 5F D8 1C E4 5E 5A 1C AC\n5B E7 1D E2 10 B7 1D AC 5F A4 1D AF 5F E2 1C E5\n5F E3 3C AC 11 AC 49 AD BF E2 78 AC 5C E3 1C AC\n18 E3 1D EC 5F AD 52 F8 5C 23 1F 2E 5F E1 9D AD\nA0 A6 1D AC 5F E3 1D A2 A0 A1 59 ED 0B E7 1D AC\n64 E2 DB AD 67 E1 1D A8 5B E3 53 E3 0B E3 1D AC\n5F E3 1E 2C 5E 1C 58 AC 5F E3 1D E2 10 B7 1C 4C\n5F 19 1D AF DF E2 E2 E9 5F E3 1D AC 11 AC 49 AF\n9F E2 E8 AC 5C 63 1C 53 1A E3 1D AC 5F AD 52 F8\n5A 43 1E A9 5F E0 1D AD 5F A4 1D AC 1F E3 1D A2\nA0 AF 54 E2 1A E1 1D AC 1D A7 5C F8 5A E3 1D 97\n5E D8 1D 9F 5E E3 19 A8 5F AD 52 F8 5F E3 1D EB\n5F E1 1D AD 5E AA 1D AC 7E E3 53 E3 0B E0 DD AD\n9B E3 1E AC 5E E3 5A AC 5F A3 1D E2 10 B7 18 0C\n5D 01 1D AF DF E2 E2 E9 5F E3 1D AC 5F ED E2 EE\n1B A2 49 AA 5F E3 26 AD 1F E2 25 AE 5D E7 19 AC\n11 AC 49 AC 5F E3 5A AC 5C E3 1C AD 16 E3 1D 8D\n5F AD 52 F8 5E 03 1C C9 5F E0 1D AD 5F A4 1D AC\n1F E3 53 E3 0B E0 DD AE DD E3 1F 2C 5E 1C 58 AC\n5F E3 1D AC 51 1C 00 00\n'''.replace(\" \",\"\").replace(\"\\n\",\"\").decode('hex')\n\n    deckey = (key - 0x7b8c754d)&amp;0xffffffff\n    datalen = len(encmidi)\n\n    f = open('decmidi.mid','wb')\n    f.write(Midi_Decode(encmidi,datalen,key))\n    f.close()\n\n    f = open('decovh.ovh', 'wb')\n    f.write(Ovh_Decode(encovh, len(encovh), None))\n    f.close()\n<\/pre>\n<p><\/p>\n\n\n<p>\u89e3\u5bc6\u540e\u7684MIDI\u6570\u636e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"540\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-16.png\" alt=\"\" class=\"wp-image-1149\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-16.png 893w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-16-300x181.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-16-768x464.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u6ca1\u9519\uff0c\u8fd9\u5c31\u662fMIDI\u683c\u5f0f\uff0c\u76f4\u63a5\u4fdd\u5b58\u6210.mid\u6587\u4ef6\uff0c\u53ef\u4ee5\u7528windows\u81ea\u5e26\u64ad\u653e\u5668\u64ad\u653e\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u90a3\u4e48\u81f3\u4e8eOVTR\u6570\u636e\u5462\uff1f\u770b\u4e0a\u53bb\u5e76\u6ca1\u6709\u770b\u51fa\u6765\u548c\u5df2\u77e5\u6570\u636e\u6709\u4ec0\u4e48\u5173\u8054\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"889\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-17.png\" alt=\"\" class=\"wp-image-1150\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-17.png 909w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-17-300x293.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-17-768x751.png 768w\" sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><\/figure>\n\n\n\n<p>\u4e00\u5f00\u59cb\u5176\u5b9e\u6211\u770b\u5230BDAT\u4e4b\u7c7b\u7684\u6807\u7b7e\uff0c\u4e00\u5ea6\u4ee5\u4e3aOVTR\u662f\u8457\u540d\u6253\u8c31\u8f6f\u4ef6overture\u7684\u7f29\u5199\uff0c\u7528\u7684\u662fove\u683c\u5f0f\uff0c\u540e\u6765\u7ecf\u8fc7\u6bd4\u5bf9\uff0c\u53d1\u73b0\u5b8c\u5168\u4e0d\u540c\uff0c\u7f51\u4e0a\u641c\u4e86\u4e00\u5708\u4e5f\u6ca1\u627e\u5230\u5b8c\u5168\u76f8\u540c\u7684\u6587\u4ef6\u683c\u5f0f\u8bb0\u6cd5\u3002\u770b\u6765\u8fd8\u662f\u5f97\u81ea\u5df1\u6162\u6162\u5206\u6790\u3002\u6700\u7ec8\u4e5f\u5927\u81f4\u5199\u4e86\u4e00\u4e2a010Editor\u6a21\u677f\u53ef\u4ee5\u89e3\u6790\u51fa\u5176\u683c\u5f0f\uff1a<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/\/------------------------------------------------\n\/\/--- 010 Editor v9.0.1 Binary Template\n\/\/\n\/\/      File: OVH.bt\n\/\/   Authors: Jarvis\n\/\/   Version: \n\/\/   Purpose: \n\/\/  Category: \n\/\/ File Mask: \n\/\/  ID Bytes: \n\/\/   History: \n\/\/------------------------------------------------\nLittleEndian();\n\n#define VIOLIN_LINEINFO_LEN 5\n\ntypedef struct bar_index\n{\n    char hdr[4];\n    char bar_info_data[hdr[3]*7];\n} BarIndexInfo &lt;optimize=false&gt;;\n\n\nstruct OVH\n{\n    struct OVH_Header\n    {\n        char ver_magic[16];  \/\/Magic for version detect\n        uint16 timeSignature;\n        short init_Tempo;\n        uint32 totalTicks;\n        char totalLines[3];\n        char displayLines[3];\n        local uint32 total_lines = totalLines[0] | (uint32)totalLines[1]&lt;&lt;8 | (uint32)totalLines[2]&lt;&lt;16;\n        local uint32 display_lines = displayLines[0] | (uint32)displayLines[1]&lt;&lt;8 | (uint32)displayLines[2]&lt;&lt;16;\n        char linesInfo[VIOLIN_LINEINFO_LEN*total_lines];\n        char label_bar_addr[12];\n        uint32 bar_nums;\n        uint32 bar_addr_info[bar_nums];\n        char label_line_bar_idx[16];    \n        BarIndexInfo bar_idx_info[total_lines];\n    } ovh_header; \n\n    char lineData[FileSize()-sizeof(ovh_header)];\n} file;<\/pre>\n<p><\/p>\n\n\n<p>\u3000\u3000\u4f3c\u4e4e\u8fd9\u4e2a\u7684\u786e\u662f\u8fd9\u5bb6\u516c\u53f8\u4e3a\u4ed6\u4eec\u8fd9\u4e2a\u5b66\u4e60\u673a\u5355\u72ec\u521b\u9020\u7684\u4e00\u79cd\u8bb0\u8c31\u6587\u4ef6\u683c\u5f0f\uff0c\u56e0\u4e3a\u6bd5\u7adf\u4ed6\u8fd8\u5305\u542b\u6307\u4f4d\u63d0\u793a\u4fe1\u606f\uff0c\u9700\u8981\u5bf9\u5e94\u663e\u793a\u5728\u754c\u9762\u4e0a\u3002\u6240\u4ee5\uff0c\u770b\u6765\u6ca1\u6709\u6377\u5f84\u53ef\u8d70\u4e86\u3002\u683c\u5f0f\u672c\u8eab\u5e76\u4e0d\u590d\u6742\uff0c\u5176\u4e2d\u4e00\u4e2aLINE\u4ee3\u8868\u4e00\u884c\u8c31\u5b50\uff0c\u6709\u51e0\u4e2aLINE\u5c31\u663e\u793a\u51e0\u884c\uff0cBDAT\u6807\u7b7e\u540e\u9762\u8ddf\u7684\u5c31\u662f\u8c31\u5b50\u4e2d\u4e00\u4e2a\u5c0f\u8282\u7684\u6570\u636e\uff0c\u6709\u51e0\u4e2aBDAT\u5c31\u662f\u4e50\u8c31\u6709\u51e0\u4e2a\u5c0f\u8282\u3002\u81f3\u4e8e\u91cc\u9762\u7684NOT\u4ee3\u8868Note\uff0c\u6ce8\u91ca\uff0cUPS\u4ee3\u8868\u5347\u8bb0\u53f7\u4e4b\u7c7b\u7684\uff0c\u5176\u4ed6\u6570\u636e\u8868\u8fbe\u7684\u662f\u7b26\u53f7\u7684\u5750\u6807\u4fe1\u606f\u4e4b\u7c7b\u7684\uff0c\u7531\u4e8e\u6211\u73b0\u5728\u4e50\u7406\u77e5\u8bc6\u6709\u9650\uff0c\u8fd8\u4e0d\u80fd\u6839\u636e\u81ea\u5df1\u7684\u60f3\u6cd5\u505a\u4e00\u4e2a\u6253\u8c31\u8f6f\u4ef6\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u5509\uff0c\u8fd8\u662f\u81ea\u5df1\u592a\u83dc\u4e86\uff0c\u73b0\u5728\u80fd\u529b\u8fd8\u4e0d\u591f\uff0c\u8fd8\u662f\u7ee7\u7eed\u597d\u597d\u7ec3\u7434\u5427\uff0c\u7b49\u6211\u62e5\u6709\u4e86\u5145\u8db3\u7684\u4e50\u7406\u77e5\u8bc6\uff0c\u6253\u7b97\u5728MuseScore\u8fd9\u4e2a\u5f00\u6e90\u9879\u76ee <a href=\"https:\/\/github.com\/musescore\/MuseScore\">https:\/\/github.com\/musescore\/MuseScore<\/a> \u4e0a\u8fdb\u884c\u4fee\u6539\uff0c\u5bf9\u5176\u4f5c\u51fa\u7684\u8c31\u5b50\u4fe1\u606f\u505a\u4e00\u4e2a\u8f6f\u4ef6\u5c06\u683c\u5f0f\u8f6c\u4e3a\u8fd9\u4e2a\u5c0f\u63d0\u7434\u5b66\u4e60\u673a\u9700\u8981\u7684\u683c\u5f0f\u3002<\/p>\n\n\n\n<p>\u5173\u4e8e\u5982\u4f55\u81ea\u5df1\u6dfb\u52a0\u6b4c\u66f2\uff1a<\/p>\n\n\n\n<p>\u3000\u3000\u5176\u5b9e\u53ea\u9700\u8981\u627e\u4e00\u5f20SD\u5361\uff08\u5168\u5c3a\u5bf8SD\u6216\u8005tf\u5361\u52a0\u4e0a\u5361\u5957\uff09\uff0c\u5728SD\u5361\u6839\u76ee\u5f55\u4e2d\u521b\u5efa\u4e00\u4e2aMT_Update\u6587\u4ef6\u5939\uff0c\u7136\u540e\u5c06msb\u6587\u4ef6\u653e\u8fdb\u6765\u5373\u53ef\uff0c\u5176\u4e2d\u6bcf\u672c\u4e66\u7684\u52a0\u5bc6key\u9700\u8981\u653e\u5728\u4e00\u4e2abooks.key\u6587\u4ef6\u4e2d\uff08\u6ca1\u9519\uff0c\u6211\u4eec\u4e4b\u524d\u505a\u597d\u7684\u81ea\u5df1\u7684MIDI\u548cOVTR\u6570\u636e\u9700\u8981\u52a0\u5bc6\u56de\u53bb\u518d\u5b58\u5165\u4e66\u672c\uff0c\u4f46\u662fso\u5e93\u4e2d\u53ea\u6709\u89e3\u5bc6\u7b97\u6cd5\uff0c\u6ca1\u6709\u52a0\u5bc6\u7b97\u6cd5\uff0c\u4e0d\u8fc7\u8fd9\u4e2a\u52a0\u5bc6\u7b97\u6cd5\u592a\u7b80\u5355\u4e86\uff0c\u4ece\u89e3\u5bc6\u7b97\u6cd5\u53ef\u4ee5\u5f88\u5bb9\u6613\u53cd\u63a8\u51fa\u52a0\u5bc6\u7b97\u6cd5\uff0c\u4ee3\u7801\u6211\u5c31\u4e0d\u653e\u4e86\uff0c\u65e5\u540e\u5982\u679c\u505a\u51fa\u6765\u6253\u8c31\u8f6f\u4ef6\u4e00\u8d77\u653e\uff09\uff0c\u6bcf4\u5b57\u8282\u4e00\u672c\u4e66\uff0c\u6309\u7167\u4e66\u672c\u7684hash\u503c\u987a\u5e8f\u6392\u5217\uff0c\u4e0d\u8fc7\u4f60\u53ef\u4ee5\u6240\u6709\u4e66\u7684hash\u503c\u90fd\u4e00\u6837\uff0c\u8fd9\u6837\u5c31\u53ea\u8981\u4e00\u4e2a4\u5b57\u8282\u91cd\u590dn\u904d\u5c31\u597d\u4e86\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"374\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-18.png\" alt=\"\" class=\"wp-image-1151\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-18.png 810w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-18-300x139.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-18-768x355.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u6700\u540e\uff0c\u5c06SD\u5361\u63d2\u5165\u673a\u5668\u7684SD\u5361\u69fd\uff0c\u5f00\u673a\u4f1a\u81ea\u52a8\u8bc6\u522b\u51faSD\u5361\u91cc\u6709\u65b0\u7684\u4e66\u672c\uff0c\u95ee\u4f60\u662f\u5426\u8981\u66f4\u65b0\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-19-1024x768.png\" alt=\"\" class=\"wp-image-1152\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-19-1024x768.png 1024w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-19-300x225.png 300w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-19-768x576.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3000\u3000\u603b\u7684\u6765\u8bf4\uff0c\u8fd8\u662f\u6bd4\u8f83\u65b9\u4fbf\u7684\u3002<\/p>\n\n\n<h1><span style=\"color: #000000;\"><strong>\u540e\u8bb0\uff1a<\/strong><\/span><\/h1>\n<p>\u3000\u3000\u6ca1\u60f3\u5230\u8fd9\u4e2a\u673a\u5668\u7528\u7684\u4e66\u672c\u683c\u5f0f\u90a3\u4e48\u590d\u6742\uff0c\u8fd9\u5bb6\u516c\u53f8\u771f\u7684\u4e27\u5fc3\u75c5\u72c2\u554a\uff0c\u6211\u731c\u6d4b\u53ef\u80fd\u8fd9\u5bb6\u516c\u53f8\u4ee5\u4e3a\u673a\u5668\u53ef\u80fd\u4f1a\u5356\u7684\u5f88\u597d\uff0c\u540e\u7eed\u53ef\u4ee5\u7ee7\u7eed\u51fa\u552e\u4e66\u672c\u6765\u6536\u53d6\u540e\u7eed\u670d\u52a1\u8d39\uff0c\u800c\u4e0d\u662f\u5356\u4e86\u673a\u5668\u5c31\u5b8c\u4e86\u3002\u4e5f\u8bb8\u7ed3\u679c\u6253\u8138\u4e86\u5427\uff0c\u673a\u5668\u5356\u7684\u4e5f\u8bb8\u5e76\u4e0d\u597d\uff0c\u6709\u8d2d\u4e70\u4e66\u672c\u9700\u6c42\u7684\u7528\u6237\u53ef\u80fd\u4e5f\u4e0d\u591a\uff0c\u6700\u540e\u7684\u7ed3\u679c\u4e5f\u8bb8\u662f\u51c9\u51c9\u4e86\u5427\u3002<\/p>\n<p>\u3000\u3000\u597d\u4e86\uff0c\u4e0d\u8bb2\u5e9f\u8bdd\u4e86\uff0c\u62ff\u8d77\u6211\u7684\u5c0f\u63d0\u7434\uff0c\u597d\u597d\u7ec3\u7434\u53bb\u5427\uff1a<\/p>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-20-768x1024.png\" alt=\"\" class=\"wp-image-1153\" srcset=\"https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-20-768x1024.png 768w, https:\/\/www.jarvisw.com\/wp-content\/uploads\/2019\/09\/image-20-225x300.png 225w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u3000\u3000\u6700\u8fd1\u5728\u5b66\u5c0f\u63d0\u7434\uff0c\u56e0\u4e3a\u5e73\u65f6\u662f\u81ea\u5df1\u7ec3\u7434\uff0c\u867d\u7136\u6709\u8001\u5e08\u6559\uff0c\u4f46\u662f\u4e0a\u7684\u7f51\u8bfe\uff0c\u8001\u5e08\u6ca1\u6cd5\u5b9e\u65f6\u5728\u7ec3\u7434\u7684\u65f6\u5019\u8fdb\u884c\u6307\u5bfc\u3002\u5c0f\u63d0\u7434\u548c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,137,5,7],"tags":[235,238,236,233,31,237,234],"class_list":["post-1132","post","type-post","status-publish","format-standard","hentry","category-iot","category-windows","category-5","category-7","tag-mitone","tag-msb","tag-236","tag-233","tag-31","tag-237","tag-234"],"_links":{"self":[{"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/posts\/1132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1132"}],"version-history":[{"count":78,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/posts\/1132\/revisions"}],"predecessor-version":[{"id":1253,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=\/wp\/v2\/posts\/1132\/revisions\/1253"}],"wp:attachment":[{"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jarvisw.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}