الهندسة العكسية للبحث المباشر في Windows Mobile بروتوكول الوعي بموقع CellID (yikes)

StackOverflow https://stackoverflow.com/questions/662464

سؤال

لم أكن متأكدًا من كيفية صياغة السؤال لذا أعتذر إذا كان العنوان مضللاً.بالإضافة إلى ذلك، قد ترغب في الحصول على بعض القهوة والجلوس في هذا المكان.انه طويل.

في الأساس، أحاول إجراء هندسة عكسية للبروتوكول الذي يستخدمه تطبيق Windows Mobile Live Search للحصول على الموقع استنادًا إلى معرف الخلية.قبل أن أستمر، أنا على دراية بخدمات مفتوحة المصدر أخرى (مثل OpenCellID) ولكن هذا من أجل التعليم وقليلًا من التكرار.

وفقًا للحزم التي قمت بالتقاطها، يتم إجراء طلب POST لـ ...

mobile.search.live.com/positionlookupservice_1/service.aspx

...مع عدد قليل من الرؤوس المحددة (الوكيل، طول المحتوى، إلخ) وبدون نص.بمجرد حدوث ذلك، يرسل الخادم مرة أخرى استجابة 100 متابعة.عند هذه النقطة، يرسل التطبيق هذه البيانات (لقد قمت بقطع رأس الحزمة):

                  00 00 00 01 00 00 00 05 55 54         ........UT
46 2d 38 05 65 6e 2d 55 53 05 65 6e 2d 55 53 01   F-8.en-US.en-US.
06 44 65 76 69 63 65 05 64 75 6d 6d 79 01 06 02   .Device.dummy...
50 4c 08 0e 52 65 76 65 72 73 65 47 65 6f 63 6f   PL..ReverseGeoco
64 65 01 07 0b 47 50 53 43 68 69 70 49 6e 66 6f   de...GPSChipInfo
01 20 06 09 43 65 6c 6c 54 6f 77 65 72 06 03 43   . ..CellTower..C
47 49 08 03 4d 43 43 b6 02 07 03 4d 4e 43 03 34   GI..MCC....MNC.4
31 30 08 03 4c 41 43 cf 36 08 02 43 49 fd 01 00   10..LAC.6..CI...
00 00 00                                          ...

ويتلقى هذا ردًا على ذلك (تم تقطيع رؤوس استجابة الحزمة وHTTP):

         00 00 00 01 00 00 00 00 01 06 02 50 4c      ...........PL
06 08 4c 6f 63 61 6c 69 74 79 06 08 4c 6f 63 61   ..Locality..Loca
74 69 6f 6e 07 03 4c 61 74 09 34 32 2e 33 37 35   tion..Lat.42.375
36 32 31 07 04 4c 6f 6e 67 0a 2d 37 31 2e 31 35   621..Long.-71.15
38 39 33 38 00 07 06 52 61 64 69 75 73 09 32 30   8938...Radius.20
30 30 2e 30 30 30 30 00 42 07 0c 4c 6f 63 61 6c   00.0000.B..Local
69 74 79 4e 61 6d 65 09 57 61 74 65 72 74 6f 77   ityName.Watertow
6e 07 16 41 64 6d 69 6e 69 73 74 72 61 74 69 76   n..Administrativ
65 41 72 65 61 4e 61 6d 65 0d 4d 61 73 73 61 63   eAreaName.Massac
68 75 73 65 74 74 73 07 10 50 6f 73 74 61 6c 43   husetts..PostalC
6f 64 65 4e 75 6d 62 65 72 05 30 32 34 37 32 07   odeNumber.02472.
0b 43 6f 75 6e 74 72 79 4e 61 6d 65 0d 55 6e 69   .CountryName.Uni
74 65 64 20 53 74 61 74 65 73 00 00 00            ted States...

والآن، إليك ما حددته حتى الآن:

  • جميع الأوتار مسبقة مع بايت واحد وهو المكافئ العشري لطولها.

  • يبدو أن هناك ثلاثة قوالب مختلفة يتم استخدامها خلال الطلب والاستجابة.تظهر كبايت واحد قبل البايت الطول.لقد خلصت إلى أن الأنواع الثلاثة خريطة على النحو التالي:

    1. 0x06 - العنصر الأصل (القيم اللاحقة هم الأطفال ، مغلقون مع 0x00)
    2. 0x07 - سلسلة
    3. 0x08 - كثافة العمليات؟

بناءً على هذه التحديدات، إليك ما يبدو عليه الطلب والاستجابة بطريقة أكثر قابلية للقراءة (القيم المحاطة بين قوسين تشير إلى الطول والقيم المحاطة بين قوسين تشير إلى طاقم الممثلين):

\0x00\0x00\0x00\0x01\0x00\0x00\0x00
[5]UTF-8
[5]en-US
[5]en-US
\0x01
[6]Device
[5]dummy
\0x01
(6)[2]PL
  (8)[14]ReverseGeocode\0x01
  (7)[11]GPSChipInfo[1]\0x20
  (6)[9]CellTower
    (6)[3]CGI
      (8)[3]MCC\0xB6\0x02         //310
      (7)[3]MNC[3]410             //410
      (8)[3]LAC\0xCF\0x36         //6991
      (8)[2]CI\0xFD\0x01          //259
    \0x00
  \0x00
\0x00
\0x00

و..

\0x00\0x00\0x00\0x01\0x00\0x00\0x00
\0x00\0x01
(6)[2]PL
  (6)[8]Locality
    (6)[8]Location
      (7)[3]Lat[9]42.375621
      (7)[4]Long[10]-71.158938
    \0x00
    (7)[6]Radius[9]2000.0000
  \0x00
  \0x42     //"B" ... Has to do with GSM
  (7)[12]LocalityName[9]Watertown
  (7)[22]AdministrativeAreaName[13]Massachusetts
  (7)[16]PostalCodeNumber[5]02472
  (7)[11]CountryName[13]United States
\0x00
\0x00\0x00

يبدو أن تحليلي يعمل بشكل جيد باستثناء بعض الأشياء:

  1. 0x01s طوال الوقت تربكني ...في البداية اعتقدت أنهم كانوا نوعًا من مقاتلي عناصر مستوى الأساس لكنني لست متأكدًا.
  2. لست متأكدًا من أن رأس 7 بايت هو ، في الواقع ، رأس بايت سبعة.أتساءل عما إذا كان ربما 4 بايت وأن الثلاثة المتبقية 0x00s لها أهمية أخرى.
  3. زائدة 0x00s.لماذا لا يوجد سوى واحد عند الطلب ولكن اثنين على الرد؟
  4. النوع الثامن المذكور أعلاه ...لا يمكنني معرفة كيفية تشفير هذه القيم.لقد أضفت تعليقات إلى تلك الخطوط مع القيم يجب تتوافق مع.

أي نصيحة بشأن هذه النقاط الأربع ستكون موضع تقدير كبير.

ونعم، تم التقاط هذه الحزم في ووترتاون، ماساتشوستس.:)

هل كانت مفيدة؟

المحلول

لم أقرأ كل تفاصيلك، ولكن قد ترغب في إلقاء نظرة عليها هذا codeproject الذي يبدو أنه قد كسر واجهة برمجة تطبيقات Google celltower إلى الموقع.يبدو أنه يقوم بإخراج معرف برج الخلية إلى مكوناته مثل ما هو مطلوب لطلب البحث المباشر.

ربما هذا سوف يساعدك قليلا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top