Եթե ցանկանում եք իմանալ, թե WhatsApp-ի դատաբժշկական արտեֆակտների ինչ տեսակներ կան տարբեր օպերացիոն համակարգերում և որտեղ կարելի է դրանք գտնել, ապա սա ձեզ համար է: Այս հոդվածը գրված է Group-IB Computer Forensics Laboratory-ի մասնագետից Իգոր Միխայլով սկսում է մի շարք գրառումներ WhatsApp-ի դատաբժշկական փորձաքննության և այն մասին, թե ինչ տեղեկատվություն կարելի է ստանալ սարքի վերլուծությունից:
Անմիջապես նկատենք, որ տարբեր օպերացիոն համակարգեր պահում են WhatsApp-ի տարբեր տեսակի արտեֆակտներ, և եթե հետազոտողը կարող է մի սարքից հանել WhatsApp-ի որոշակի տեսակներ, դա չի նշանակում, որ նմանատիպ տիպի տվյալներ կարող են արդյունահանվել մեկ այլ սարքից: Օրինակ, եթե Windows OS-ով աշխատող համակարգային միավորը հեռացվի, WhatsApp-ի զրույցները, հավանաբար, չեն գտնվի դրա սկավառակների վրա (բացառությամբ iOS սարքերի կրկնօրինակների, որոնք կարելի է գտնել նույն կրիչներում): Նոթբուքերի և շարժական սարքերի առգրավումը կունենա իր առանձնահատկությունները. Այս մասին ավելի մանրամասն խոսենք։
WhatsApp-ի արտեֆակտները Android սարքում
WhatsApp-ի արտեֆակտները Android սարքից հանելու համար հետազոտողը պետք է ունենա գերօգտագործողի իրավունքներ («արմատ») հետազոտվող սարքի վրա կամ այլ կերպ կարողանալ հանել սարքի կամ դրա ֆայլային համակարգի ֆիզիկական հիշողությունը (օրինակ՝ օգտագործելով կոնկրետ շարժական սարքի ծրագրային խոցելիությունը):
Հավելվածի ֆայլերը գտնվում են հեռախոսի հիշողության մեջ այն բաժնում, որտեղ պահվում են օգտատիրոջ տվյալները: Որպես կանոն, այս բաժինը կոչվում է «օգտագործողի տվյալներ». Ենթատեղեկատուները և ծրագրի ֆայլերը գտնվում են ճանապարհի երկայնքով. '/data/data/com.whatsapp/'.
Android OS-ում WhatsApp-ի դատաբժշկական արտեֆակտներ պարունակող հիմնական ֆայլերը տվյալների բազաներն են «wa.db» и 'msgstore.db'.
Տվյալների բազայում «wa.db» պարունակում է WhatsApp-ի օգտատերերի կոնտակտների ամբողջական ցանկը՝ ներառյալ հեռախոսահամարը, ցուցադրվող անունը, ժամադրոշմները և WhatsApp-ում գրանցվելիս տրամադրված ցանկացած այլ տեղեկատվություն: Ֆայլ «wa.db» գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/database/' և ունի հետևյալ կառուցվածքը.
Տվյալների բազայի ամենահետաքրքիր աղյուսակները «wa.db» հետազոտողի համար հետևյալն են.
- 'wa_contacts'
Այս աղյուսակը պարունակում է կոնտակտային տվյալներ՝ WhatsApp կոնտակտային id, կարգավիճակի տվյալներ, օգտագործողի ցուցադրման անուն, ժամադրոշմներ և այլն:Սեղանի տեսքը.
Սեղանի կառուցվածքըԴաշտի անվանումը Արժեք _id գրառումների հաջորդականության համարը (SQL աղյուսակում) ջիդ WhatsApp կոնտակտային ID՝ գրված <հեռախոսահամար>@s.whatsapp.net ձևաչափով is_whatsapp_user պարունակում է «1», եթե կոնտակտը համապատասխանում է WhatsApp-ի իրական օգտագործողին, «0» հակառակ դեպքում կարգավիճակ պարունակում է կոնտակտային կարգավիճակում ցուցադրվող տեքստը status_timestamp պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time (ms) ձևաչափով թիվ կոնտակտի հետ կապված հեռախոսահամարը raw_contact_id կոնտակտային սերիական համարը ցուցադրման_անուն կոնտակտի ցուցադրման անունը հեռախոսի_տեսակ հեռախոսի տեսակը հեռախոսի_պիտակ կոնտակտային համարի հետ կապված պիտակ unseen_msg_count հաղորդագրությունների քանակը, որոնք ուղարկվել են կոնտակտի կողմից, սակայն չեն կարդացվել ստացողի կողմից photo_ts պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time ձևաչափով thumb_ts պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time ձևաչափով photo_id_timestamp պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time (ms) ձևաչափով տրված անուն դաշտի արժեքը համապատասխանում է «display_name»-ին յուրաքանչյուր կոնտակտի համար wa_name WhatsApp կոնտակտի անունը (ցուցադրվում է կոնտակտի պրոֆիլում նշված անունը) տեսակավորման_անուն կոնտակտային անվանումը, որն օգտագործվում է տեսակավորման գործողություններում մականուն կոնտակտի մականունը WhatsApp-ում (ցուցադրվում է կոնտակտի պրոֆիլում նշված մականունը) ընկերություն ընկերություն (ցուցադրվում է կոնտակտի պրոֆիլում նշված ընկերությունը) վերնագիր վերնագիր (Տիկին/Պարոն, կոնտակտային պրոֆիլում կազմաձևված վերնագիրը ցուցադրվում է) փոխհատուցել տեղահանում - 'sqlite_sequence'
Այս աղյուսակը պարունակում է տեղեկատվություն կոնտակտների քանակի մասին. - «android_metadata»
Այս աղյուսակը պարունակում է տեղեկատվություն WhatsApp լեզվի տեղայնացման մասին:
Տվյալների բազայում 'msgstore.db' պարունակում է տեղեկատվություն ուղարկված հաղորդագրությունների մասին, ինչպիսիք են կոնտակտային համարը, հաղորդագրության տեքստը, հաղորդագրության կարգավիճակը, ժամանակի դրոշմակնիքները, հաղորդագրություններում ներառված փոխանցված ֆայլերի մանրամասները և այլն: Ֆայլ 'msgstore.db' գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/database/' և ունի հետևյալ կառուցվածքը.
Ֆայլի ամենահետաքրքիր աղյուսակները 'msgstore.db' հետազոտողի համար հետևյալն են.
- 'sqlite_sequence'
Այս աղյուսակը պարունակում է ընդհանուր տեղեկություններ այս տվյալների բազայի մասին, ինչպիսիք են պահված հաղորդագրությունների ընդհանուր թիվը, չաթերի ընդհանուր թիվը և այլն:Սեղանի տեսքը.
- 'message_fts_content'
Պարունակում է ուղարկված հաղորդագրությունների տեքստը:Սեղանի տեսքը.
- «հաղորդագրություններ»
Այս աղյուսակը պարունակում է այնպիսի տեղեկություններ, ինչպիսիք են կոնտակտային համարը, հաղորդագրության տեքստը, հաղորդագրության կարգավիճակը, ժամադրոշմները, հաղորդագրություններում ներառված փոխանցված ֆայլերի մասին տեղեկություններ:Սեղանի տեսքը.
Սեղանի կառուցվածքըԴաշտի անվանումը Արժեք _id գրառումների հաջորդականության համարը (SQL աղյուսակում) key_remote_jid WhatsApp ID կապի գործընկեր բանալին_ինձնից հաղորդագրության ուղղությունը՝ «0» – մուտքային, «1» – ելքային key_id հաղորդագրության եզակի նույնացուցիչ կարգավիճակ հաղորդագրության կարգավիճակը՝ «0» – առաքվել է, «4» – սպասվում է սերվերում, «5» – ստացվել է նպատակակետում, «6» – վերահսկիչ հաղորդագրություն, «13» – հաղորդագրություն, որը բացվել է ստացողի կողմից (կարդա) կարիք_հրել եթե այն հեռարձակվող հաղորդագրություն է, ունի «2» արժեքը, այլապես պարունակում է «0» տվյալներ հաղորդագրության տեքստը (երբ «media_wa_type» պարամետրը «0» է) timestamp պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time (ms) ձևաչափով, արժեքը վերցված է սարքի ժամացույցից media_url պարունակում է փոխանցված ֆայլի URL-ը (երբ «media_wa_type» պարամետրը «1», «2», «3» է) media_mime_type Փոխանցված ֆայլի MIME տեսակը (երբ «media_wa_type» պարամետրը հավասար է «1», «2», «3») media_wa_type հաղորդագրության տեսակը՝ «0» - տեքստ, «1» - գրաֆիկական ֆայլ, «2» - աուդիո ֆայլ, «3» - վիդեո ֆայլ, «4» - կոնտակտային քարտ, «5» - աշխարհագրական տվյալներ մեդիա_չափ փոխանցված ֆայլի չափը (երբ «media_wa_type» պարամետրը «1», «2», «3» է) մեդիա_անուն փոխանցված ֆայլի անունը (երբ «media_wa_type» պարամետրը «1», «2», «3» է) մեդիա_վերնագիր Պարունակում է «audio», «video» բառերը «media_wa_type» պարամետրի համապատասխան արժեքների համար (երբ «media_wa_type» պարամետրը «1», «3» է) մեդիա_հաշ base64 փոխանցված ֆայլի կոդավորված հեշը՝ հաշվարկված HAS-256 ալգորիթմի միջոցով (երբ «media_wa_type» պարամետրը հավասար է «1», «2», «3»): մեդիա_տեւողությունը մեդիա ֆայլի տևողությունը վայրկյաններով (երբ «media_wa_type»-ը «1», «2», «3» է) ծագում եթե այն հեռարձակվող հաղորդագրություն է, ունի «2» արժեքը, այլապես պարունակում է «0» լայնություն աշխարհագրական տվյալներ՝ լայնություն (երբ «media_wa_type» պարամետրը «5» է) երկայնություն աշխարհագրական տվյալներ՝ երկայնություն (երբ «media_wa_type» պարամետրը «5» է) thumb_image ծառայության տեղեկատվություն remote_resource Ուղարկողի ID (միայն խմբային զրույցների համար) ստացված_ժամանականիշ ստացման ժամանակը, պարունակում է ժամանակի դրոշմ՝ Unix Epoch Time (ms) ձևաչափով, արժեքը վերցված է սարքի ժամացույցից (երբ «key_from_me» պարամետրն ունի «0», «-1» կամ այլ արժեք) send_timestamp չի օգտագործվում, սովորաբար ունի «-1» արժեքը receipt_server_timestamp կենտրոնական սերվերի կողմից ստացված ժամանակը պարունակում է Unix Epoch Time (ms) ձևաչափով ժամանակի դրոշմ, արժեքը վերցված է սարքի ժամացույցից (երբ «key_from_me» պարամետրն ունի «1», «-1» կամ այլ արժեք։ receipt_device_timestamp այն ժամանակ, երբ հաղորդագրությունը ստացել է մեկ այլ բաժանորդ, պարունակում է Unix Epoch Time (ms) ձևաչափով ժամանակի դրոշմ, արժեքը վերցված է սարքի ժամացույցից (երբ «key_from_me» պարամետրն ունի «1», «-1» կամ այլ արժեք: read_device_timestamp հաղորդագրությունը բացելու (ընթերցելու) ժամանակը, պարունակում է Unix Epoch Time (ms) ձևաչափով ժամադրոշմ, արժեքը վերցված է սարքի ժամացույցից play_device_timestamp հաղորդագրության նվագարկման ժամանակը, պարունակում է Unix Epoch Time (ms) ձևաչափով ժամադրոշմ, արժեքը վերցված է սարքի ժամացույցից չմշակված տվյալներ փոխանցված ֆայլի մանրապատկերը (երբ «media_wa_type» պարամետրը «1» կամ «3» է) ստացողի_հաշվիչը ստացողների թիվը (հեռարձակվող հաղորդագրությունների համար) մասնակից_հաշ օգտագործվում է գեոդատով հաղորդագրություններ փոխանցելիս աստղագուշակում չի օգտագործվում quoted_row_id անհայտ, սովորաբար պարունակում է «0» արժեքը նշված_ջիդս չի օգտագործվում multicast_id չի օգտագործվում փոխհատուցել տեղահանում Դաշտերի այս ցանկը սպառիչ չէ: WhatsApp-ի տարբեր տարբերակների համար որոշ դաշտեր կարող են լինել կամ բացակայել: Բացի այդ, դաշտերը կարող են առկա լինել 'media_enc_hash', 'edit_version', «payment_transaction_id» եւ այլն:
- 'messages_thumbnails'
Այս աղյուսակը պարունակում է տեղեկատվություն փոխանցված պատկերների և ժամանակային դրոշմանիշների մասին: «ժամանականիշ» սյունակում ժամը նշվում է Unix Epoch Time (ms) ձևաչափով: - 'chat_list'
Այս աղյուսակը պարունակում է տեղեկություններ չաթերի մասին:Սեղանի տեսքը.
Նաև Android-ով աշխատող շարժական սարքի վրա WhatsApp-ն ուսումնասիրելիս պետք է ուշադրություն դարձնել հետևյալ ֆայլերին.
- ֆայլ 'msgstore.db.cryptXX' (որտեղ XX-ը 0-ից 12-ը մեկ կամ երկու թվանշան է, օրինակ՝ msgstore.db.crypt12): Պարունակում է WhatsApp հաղորդագրությունների կոդավորված կրկնօրինակում (պահուստային ֆայլ msgstore.db) Ֆայլ(ներ) 'msgstore.db.cryptXX' գտնվում է ճանապարհի երկայնքով. '/data/media/0/WhatsApp/Databases/' (վիրտուալ SD քարտ), '/mnt/sdcard/WhatsApp/Տվյալների բազա/ (ֆիզիկական SD քարտ)':
- ֆայլ 'բանալի'. Պարունակում է գաղտնագրման բանալի: Գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/files/'. Օգտագործվում է WhatsApp-ի կոդավորված կրկնօրինակները վերծանելու համար:
- ֆայլ 'com.whatsapp_preferences.xml'. Պարունակում է տեղեկատվություն ձեր WhatsApp հաշվի պրոֆիլի մասին: Ֆայլը գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/shared_prefs/'.
Ֆայլի բովանդակության հատված
<?xml version="1.0" encoding="ISO-8859-1"?> … <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp) … <string name="version">2.17.395</string> (версия WhatsApp) … <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта) … <string name="push_name">Alex</string> (имя владельца аккаунта) …
- ֆայլ 'registration.RegisterPhone.xml'. Պարունակում է տեղեկատվություն WhatsApp հաշվի հետ կապված հեռախոսահամարի մասին: Ֆայլը գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/shared_prefs/'.
Ֆայլի բովանդակություն
<?xml version="1.0" encoding="ISO-8859-1"?> <map> <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string> <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/> <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/> <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string> <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/> <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string> <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string> </map>
- ֆայլ «axolotl.db». Պարունակում է ծածկագրային բանալիներ և այլ տվյալներ, որոնք անհրաժեշտ են հաշվի սեփականատիրոջը նույնականացնելու համար: Գտնվում է ճանապարհի երկայնքով. '/data/data/com.whatsapp/database/'.
- ֆայլ 'chatsettings.db'. Պարունակում է հավելվածի կազմաձևման տեղեկատվություն:
- ֆայլ «wa.db». Պարունակում է կոնտակտային տվյալներ: Շատ հետաքրքիր (դատաբժշկական տեսանկյունից) և տեղեկատվական բազա: Այն կարող է պարունակել մանրամասն տեղեկություններ ջնջված կոնտակտների մասին:
Պետք է նաև ուշադրություն դարձնել հետևյալ գրացուցակներին.
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Պարունակում է փոխանցված գրաֆիկական ֆայլեր:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp ձայնային նշումներ/'. Պարունակում է ձայնային հաղորդագրություններ .OPUS ֆորմատի ֆայլերով:
- Տեղեկատու '/data/data/com.whatsapp/cache/Profile Pictures/'. Պարունակում է գրաֆիկական ֆայլեր՝ կոնտակտների պատկերներ:
- Տեղեկատու '/data/data/com.whatsapp/files/Avatars/'. Պարունակում է գրաֆիկական ֆայլեր՝ կոնտակտների մանրապատկերներ: Այս ֆայլերն ունեն «.j» ընդլայնում, բայց այնուամենայնիվ JPEG (JPG) պատկերային ֆայլեր են:
- Տեղեկատու '/data/data/com.whatsapp/files/Avatars/'. Պարունակում է գրաֆիկական ֆայլեր՝ հաշվի սեփականատիրոջ կողմից որպես ավատար դրված պատկեր և մանրապատկեր:
- Տեղեկատու '/data/data/com.whatsapp/files/Logs/'. Պարունակում է ծրագրի գործողության մատյան (ֆայլ «whatsapp.log») և ծրագրի գործողության մատյանների կրկնօրինակ պատճեններ (ֆայլեր անուններով whatsapp-yyyy-mm-dd.1.log.gz ձևաչափով):
WhatsApp մատյան ֆայլեր.
Ամսագրի հատված2017-01-10 09:37:09.757 LL_I D [524:WhatsApp-ի աշխատող #1] բաց թողնված զանգի ծանուցում/սկզբնական հաշվարկ:0 ժամանակի դրոշմակնիք:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] բաց թողնված զանգի ծանուցում/թարմացում չեղարկել ճիշտ է
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:main] գաղտնաբառի ֆայլը բացակայում է կամ անընթեռնելի
2017-01-10 09:37:09.782 LL_I D [1:main] վիճակագրություն Տեքստային հաղորդագրություններ՝ 59 ուղարկված, 82 ստացված / Մեդիա հաղորդագրություններ՝ 1 ուղարկված (0 բայթ), 0 ստացված (9850158 բայթ) / Անցանց հաղորդագրություններ՝ 81 ստացված ( 19522 մվ. միջին ուշացում) / Հաղորդագրությունների սպասարկում՝ 116075 բայթ ուղարկված, 211729 բայթ ստացված / Voip զանգեր՝ 1 ելքային զանգ, 0 մուտքային զանգ, ուղարկված 2492 բայթ, ստացված 1530 բայթ / Google Drive՝ ուղարկված 0 բայթ, ստացված 0 բայթ: 1524am ուղարկված բայթ, ստացված 1826 բայթ / Ընդհանուր տվյալներ՝ 118567 բայթ ուղարկված, 10063417 բայթ ստացված
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialize/timer/stop՝ 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/տարբերակ 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop՝ 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | ծախսած ժամանակը: 8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage հասանելի՝1,345,622,016 ընդհանուր՝ 5,687,922,688
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Պարունակում է ստացված աուդիո ֆայլերը:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Պարունակում է ուղարկված աուդիո ֆայլեր:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Պարունակում է ստացված գրաֆիկական ֆայլերը:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Պարունակում է ուղարկված գրաֆիկական ֆայլեր:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Պարունակում է ստացված վիդեո ֆայլեր:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp Տեսանյութ/Ուղարկված/'. Պարունակում է ուղարկված վիդեո ֆայլեր:
- Տեղեկատու '/data/media/0/WhatsApp/Media/WhatsApp պրոֆիլի լուսանկարներ/'. Պարունակում է գրաֆիկական ֆայլեր՝ կապված WhatsApp հաշվի սեփականատիրոջ հետ:
- Ձեր Android սմարթֆոնի հիշողության տարածքը խնայելու համար WhatsApp-ի որոշ տվյալներ կարող են պահվել SD քարտի վրա: SD քարտի վրա, արմատային գրացուցակում, կա գրացուցակ «WhatsApp», որտեղ կարելի է գտնել այս ծրագրի հետևյալ արտեֆակտները.
- Տեղեկատու '.Կիսվել' ('/mnt/sdcard/WhatsApp/.Share/') Պարունակում է ֆայլերի պատճեններ, որոնք կիսվել են WhatsApp-ի այլ օգտատերերի հետ:
- Տեղեկատու «.թափոն» ('/mnt/sdcard/WhatsApp/.trash/') Պարունակում է ջնջված ֆայլեր:
- Տեղեկատու «տվյալների բազաներ» ('/mnt/sdcard/WhatsApp/Տվյալների բազա/') Պարունակում է կոդավորված կրկնօրինակներ: Դրանք կարող են վերծանվել, եթե առկա է ֆայլը 'բանալի', քաղված վերլուծված սարքի հիշողությունից։
Ֆայլեր, որոնք գտնվում են ենթագրքում «տվյալների բազաներ»:
- Տեղեկատու «Կեսը» ('/mnt/sdcard/WhatsApp/Media/') Պարունակում է ենթագրքեր «Պաստառ», «WhatsApp Audio», «WhatsApp պատկերներ», «WhatsApp պրոֆիլի լուսանկարներ», «WhatsApp Video», «WhatsApp ձայնային նշումներ», որոնք պարունակում են ստացված և փոխանցված մուլտիմեդիա ֆայլեր (գրաֆիկական ֆայլեր, վիդեո ֆայլեր, ձայնային հաղորդագրություններ, WhatsApp հաշվի սեփականատիրոջ պրոֆիլի հետ կապված լուսանկարներ, պաստառներ)։
- Տեղեկատու «Պրոֆիլի նկարներ» («/mnt/sdcard/WhatsApp/Profile Pictures/») Պարունակում է գրաֆիկական ֆայլեր՝ կապված WhatsApp հաշվի սեփականատիրոջ պրոֆիլի հետ:
- Երբեմն SD քարտի վրա կարող է լինել գրացուցակ «ֆայլեր» («/mnt/sdcard/WhatsApp/Files/») Այս գրացուցակը պարունակում է ֆայլեր, որոնք պահում են ծրագրի կարգավորումները և օգտագործողի նախասիրությունները:
Բջջային սարքերի որոշ մոդելներում տվյալների պահպանման առանձնահատկությունները
Android OS-ով աշխատող շարժական սարքերի որոշ մոդելներ կարող են պահել WhatsApp-ի արտեֆակտները այլ վայրում: Դա պայմանավորված է բջջային սարքի համակարգային ծրագրաշարի կողմից հավելվածի տվյալների պահպանման տարածքի փոփոխություններով: Օրինակ, Xiaomi շարժական սարքերն ունեն երկրորդ աշխատանքային տարածք ստեղծելու գործառույթ («SecondSpace»): Երբ այս գործառույթն ակտիվացված է, տվյալների գտնվելու վայրը փոխվում է: Այսպիսով, եթե Android OS-ով աշխատող սովորական շարժական սարքում օգտագործողի տվյալները պահվում են գրացուցակում '/data/user/0/' (որը հղում է սովորականին '/տվյալներ/տվյալներ/'), այնուհետև երկրորդ աշխատանքային տարածքում հավելվածի տվյալները պահվում են գրացուցակում '/data/user/10/'. Այսինքն, օգտագործելով ֆայլի գտնվելու վայրի օրինակը «wa.db»:
- Android OS-ով աշխատող սովորական սմարթֆոնում. /data/user/0/com.whatsapp/database/wa.db' (որը համարժեք է '/data/data/com.whatsapp/database/wa.db');
- Xiaomi սմարթֆոնի երկրորդ աշխատանքային տարածքում. '/data/user/10/com.whatsapp/database/wa.db'.
WhatsApp-ի արտեֆակտները iOS սարքում
Ի տարբերություն Android ՕՀ-ի, iOS-ում WhatsApp հավելվածի տվյալները փոխանցվում են կրկնօրինակի (iTunes-ի կրկնօրինակում): Հետևաբար, այս հավելվածից տվյալներ հանելը չի պահանջում ֆայլային համակարգի արդյունահանում կամ հետազոտվող սարքի ֆիզիկական հիշողության աղբանոց ստեղծելը: Համապատասխան տեղեկատվության մեծ մասը պարունակվում է տվյալների բազայում «ChatStorage.sqlite», որը գտնվում է ճանապարհի երկայնքով. '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (որոշ ծրագրերում այս ուղին հայտնվում է որպես «AppDomainGroup-group.net.whatsapp.WhatsApp.shared»).
Կառուցվածք «ChatStorage.sqlite»:
«ChatStorage.sqlite» տվյալների բազայի ամենատեղեկատվական աղյուսակներն են «ZWAMESSAGE» и «ZWAMEDIAITEM».
Սեղանի տեսքը «ZWAMESSAGE»:
«ZWAMESSAGE» աղյուսակի կառուցվածքը
Դաշտի անվանումը | Արժեք |
---|---|
Z_PK | գրառումների հաջորդականության համարը (SQL աղյուսակում) |
Z_ENT | աղյուսակի նույնացուցիչ, ունի «9» արժեքը |
Z_OPT | անհայտ, սովորաբար պարունակում է արժեքներ «1»-ից «6» |
ZCHILDMESSAGESԱՌԱՔՎԱԾՔԱՆ | անհայտ, սովորաբար պարունակում է «0» արժեքը |
ZCHILDMESSAGESPLAYEDCOUNT | անհայտ, սովորաբար պարունակում է «0» արժեքը |
ZCHILDMESSAGESREADCOUNT | անհայտ, սովորաբար պարունակում է «0» արժեքը |
ZDATAITEMVERSION | անհայտ, սովորաբար պարունակում է «3» արժեքը, հավանաբար տեքստային հաղորդագրության ցուցիչ |
ZDOCID | անհայտ |
ZENCRETRYCOUNT | անհայտ, սովորաբար պարունակում է «0» արժեքը |
ZFILTEREDRECIPIENTCOUNT | անհայտ, սովորաբար պարունակում է «0», «2», «256» արժեքները |
ZISFROMME | հաղորդագրության ուղղությունը՝ «0» – մուտքային, «1» – ելքային |
ZMESSAGEERRORSTATUS | հաղորդագրության փոխանցման կարգավիճակը. Եթե հաղորդագրությունն ուղարկվել/ստացվել է, ապա այն ունի «0» արժեքը |
ZMESSAGETYPE | փոխանցվող հաղորդագրության տեսակը |
ԶՍՈՐՏ | անհայտ |
ZSPOTLIHSTATUS | անհայտ |
ԶԱՍՏՂԱԳՐՎԱԾ | անհայտ, չօգտագործված |
ԶՉԱՑԵՍԻՈՆ | անհայտ |
ԶԳՐՈՒՊՄԲԵՐ | անհայտ, չօգտագործված |
ԶԼԱՍՏՍԵՍԻՈՆ | անհայտ |
ZMEDIAITEM | անհայտ |
ZMESSAGEINFO | անհայտ |
ԶՊԱՐԵՆՏՈՒՂԵՐ | անհայտ, չօգտագործված |
ZMESSAGEDATE | ժամադրոշմ OS X Epoch Time ձևաչափով |
ZSENTDATE | այն ժամանակ, երբ հաղորդագրությունն ուղարկվել է OS X Epoch Time ձևաչափով |
ԶՖՐՈՄՋԻԴ | WhatsApp ուղարկողի ID |
ZMEDIASECTIONID | պարունակում է մեդիա ֆայլի ուղարկման տարին և ամիսը |
ԶՓԱՇ | անհայտ, չօգտագործված |
ZPUSHPAME | կոնտակտի անունը, ով ուղարկել է մեդիա ֆայլը UTF-8 ձևաչափով |
ԶՍՏԱՆԶԻԴ | հաղորդագրության եզակի նույնացուցիչ |
ZTEXT | Հաղորդագրության տեքստ |
ԶՏՈՋԻԴ | Ստացողի WhatsApp ID-ն |
OFFSET | տեղահանում |
Սեղանի տեսքը «ZWAMEDIAITEM»:
«ZWAMEDIAITEM» աղյուսակի կառուցվածքը
Դաշտի անվանումը | Արժեք |
---|---|
Z_PK | գրառումների հաջորդականության համարը (SQL աղյուսակում) |
Z_ENT | աղյուսակի նույնացուցիչ, ունի «8» արժեքը |
Z_OPT | անհայտ, սովորաբար պարունակում է արժեքներ «1»-ից մինչև «3»: |
ZCLOUDSTATUS | պարունակում է «4» արժեքը, եթե ֆայլը բեռնված է: |
ZFILESIZE | պարունակում է ֆայլի երկարությունը (բայթերով) ներբեռնված ֆայլերի համար |
ZMEDIAORIGIN | անհայտ, սովորաբար ունի «0» արժեքը |
ZMOVIEDURATION | մեդիա ֆայլի տևողությունը, pdf ֆայլերի համար կարող է պարունակել փաստաթղթի էջերի քանակը |
ZMESSAGE | պարունակում է սերիական համար (համարը տարբերվում է «Z_PK» սյունակում նշվածից) |
ZASPECTRATIO | կողմերի հարաբերակցությունը, չի օգտագործվում, սովորաբար սահմանվում է «0» |
ՃՇՏԱԳԻՏՈՒԹՅՈՒՆ | անհայտ, սովորաբար ունի «0» արժեքը |
ԶԼԱՏԻՏՈՒԴ | լայնությունը պիքսելներով |
ԵՐԿԱՐՈՒԹՅԱՆ | բարձրությունը պիքսելներով |
ZMEDIAURLDATE | ժամադրոշմ OS X Epoch Time ձևաչափով |
ZAUTHORNAME | հեղինակ (փաստաթղթերի համար կարող է պարունակել ֆայլի անվանումը) |
ZCOLLECTIONNAME | չի օգտագործվում |
ZMEDIALOCALPATH | ֆայլի անունը (ներառյալ ուղին) սարքի ֆայլային համակարգում |
ZMEDIAURL | URL-ը, որտեղ գտնվում էր մեդիա ֆայլը: Եթե ֆայլը փոխանցվել է մեկ բաժանորդից մյուսին, այն գաղտնագրվել է, և դրա ընդլայնումը կնշվի որպես փոխանցված ֆայլի ընդլայնում - .enc: |
ZTHUMBNAILLOCALPATH | սարքի ֆայլային համակարգում ֆայլի մանրապատկերի ուղին |
ZTITLE | ֆայլի վերնագիր |
ZVCARDNAME | մեդիա ֆայլի հեշը, ֆայլը խմբին փոխանցելիս այն կարող է պարունակել ուղարկողի նույնացուցիչը |
ZVCARDSTRING | պարունակում է տեղեկատվություն փոխանցվող ֆայլի տեսակի մասին (օրինակ՝ պատկեր/jpeg), ֆայլը խումբ փոխանցելիս այն կարող է պարունակել ստացողի նույնացուցիչը։ |
ZXMPPTHUMBPATH | սարքի ֆայլային համակարգում ֆայլի մանրապատկերի ուղին |
ԶՄԵԴԻԱԿԵՅ | անհայտ է, հավանաբար պարունակում է գաղտնագրված ֆայլը վերծանելու բանալին: |
ZMETADATA | փոխանցված հաղորդագրության մետատվյալները |
Փոխհատուցել | տեղահանում |
Այլ հետաքրքիր տվյալների բազայի աղյուսակներ «ChatStorage.sqlite» են:
- «ZWAPROFILEPUSHNAME». Համապատասխանում է WhatsApp ID-ին կոնտակտային անվան հետ;
- «ZWAPROFILEPICTUREITEM». Համապատասխանում է WhatsApp ID-ին կոնտակտային ավատարի հետ;
- «Z_PRIMARYKEY». Աղյուսակը պարունակում է ընդհանուր տեղեկություններ այս տվյալների բազայի մասին, ինչպիսիք են պահված հաղորդագրությունների ընդհանուր թիվը, չաթերի ընդհանուր թիվը և այլն:
Նաև iOS-ով աշխատող շարժական սարքի վրա WhatsApp-ը ուսումնասիրելիս պետք է ուշադրություն դարձնել հետևյալ ֆայլերին.
- ֆայլ «BackedUpKeyValue.sqlite». Պարունակում է ծածկագրային բանալիներ և այլ տվյալներ, որոնք անհրաժեշտ են հաշվի սեփականատիրոջը նույնականացնելու համար: Գտնվում է ճանապարհի երկայնքով. /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- ֆայլ «ContactsV2.sqlite». Պարունակում է տեղեկություններ օգտատիրոջ կոնտակտների մասին, ինչպիսիք են լրիվ անունը, հեռախոսահամարը, կոնտակտային կարգավիճակը (տեքստային ձևով), WhatsApp ID և այլն: Գտնվում է ճանապարհի երկայնքով. /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- ֆայլ «consumer_version». Պարունակում է տեղադրված WhatsApp հավելվածի տարբերակի համարը: Գտնվում է ճանապարհի երկայնքով. /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- ֆայլ 'current_wallpaper.jpg'. Պարունակում է ընթացիկ WhatsApp ֆոնային պաստառ: Գտնվում է ճանապարհի երկայնքով. /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Հավելվածի հին տարբերակներն օգտագործում են ֆայլը «պաստառ», որը գտնվում է ճանապարհի երկայնքով. '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- ֆայլ «blockedcontacts.dat». Պարունակում է տեղեկատվություն արգելափակված կոնտակտների մասին: Գտնվում է ճանապարհի երկայնքով. /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- ֆայլ 'pw.dat'. Պարունակում է կոդավորված գաղտնաբառ: Գտնվում է ճանապարհի երկայնքով. '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- ֆայլ «net.whatsapp.WhatsApp.plist» (կամ ֆայլ «group.net.whatsapp.WhatsApp.shared.plist») Պարունակում է տեղեկատվություն ձեր WhatsApp հաշվի պրոֆիլի մասին: Ֆայլը գտնվում է ճանապարհի երկայնքով. '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
«group.net.whatsapp.WhatsApp.shared.plist» ֆայլի բովանդակությունը
Պետք է նաև ուշադրություն դարձնել հետևյալ գրացուցակներին.
- Տեղեկատու '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Պարունակում է կոնտակտների, խմբերի մանրապատկերներ (ընդլայնումով ֆայլեր .բութ), կոնտակտային ավատարներ, WhatsApp հաշվի սեփականատիրոջ ավատար (ֆայլ 'Photo.jpg').
- Տեղեկատու '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Պարունակում է մուլտիմեդիա ֆայլեր և դրանց մանրապատկերներ
- Տեղեկատու '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Պարունակում է ծրագրի գործողության մատյան (ֆայլ 'calls.log') և ծրագրի գործառնական տեղեկամատյանների կրկնօրինակները (ֆայլ 'calls.backup.log').
- Տեղեկատու '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Պարունակում է կպչուն պիտակներ (ֆորմատով ֆայլեր «.webp»).
- Տեղեկատու '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Պարունակում է ծրագրի գործառնական տեղեկամատյաններ:
WhatsApp-ի արտեֆակտներ Windows-ում
WhatsApp-ի արտեֆակտները Windows-ում կարելի է գտնել մի քանի վայրերում: Առաջին հերթին, սրանք դիրեկտորիաներ են, որոնք պարունակում են գործարկվող և օժանդակ ծրագրերի ֆայլեր (Windows 8/10-ի համար).
- «C: Ծրագրային Ֆայլեր (x86) WhatsApp»
- «C:Users%Օգտվողի պրոֆիլ% AppDataLocalWhatsApp»
- «C:Users%Օգտվողի պրոֆիլ% AppDataLocalVirtualStore ծրագրի ֆայլեր (x86)WhatsApp»
Կատալոգում «C:Users%Օգտվողի պրոֆիլ% AppDataLocalWhatsApp» գրանցամատյանի ֆայլը գտնվում է 'SquirrelSetup.log', որը պարունակում է տեղեկատվություն թարմացումների ստուգման և ծրագրի տեղադրման մասին:
Կատալոգում «C:Users%Օգտվողի պրոֆիլ% AppDataRoamingWhatsApp» Կան մի քանի ենթագրքեր.
ֆայլ 'main-process.log' պարունակում է տեղեկատվություն WhatsApp ծրագրի աշխատանքի մասին:
Ենթացանց «տվյալների բազաներ» պարունակում է ֆայլ «Databases.db», բայց այս ֆայլը չի պարունակում որևէ տեղեկություն զրույցների կամ կոնտակտների մասին:
Դատաբժշկական տեսանկյունից ամենահետաքրքիրը գրացուցակում տեղակայված ֆայլերն են «Քեշ». Սրանք հիմնականում անվանված ֆայլեր են 'f_*******' (որտեղ *-ը 0-ից 9-ի թիվ է), որը պարունակում է կոդավորված մուլտիմեդիա ֆայլեր և փաստաթղթեր, սակայն դրանց թվում կան նաև չգաղտնագրված ֆայլեր: Առանձնահատուկ հետաքրքրություն են ներկայացնում ֆայլերը «տվյալներ_0», «տվյալներ_1», «տվյալներ_2», «տվյալներ_3», որը գտնվում է նույն ենթագրքում։ Ֆայլեր «տվյալներ_0», «տվյալներ_1», «տվյալներ_3» պարունակում է արտաքին հղումներ փոխանցված կոդավորված մուլտիմեդիա ֆայլերին և փաստաթղթերին:
«data_1» ֆայլում պարունակվող տեղեկատվության օրինակ
Նաև ֆայլ «տվյալներ_3» կարող է պարունակել գրաֆիկական ֆայլեր:
ֆայլ «տվյալներ_2» պարունակում է կոնտակտային ավատարներ (կարելի է վերականգնել՝ փնտրելով ֆայլերի վերնագրերով):
Ֆայլում պարունակվող ավատարներ «տվյալներ_2»:
Այսպիսով, չաթերն իրենք չեն կարող գտնել համակարգչի հիշողության մեջ, բայց կարող եք գտնել.
- մուլտիմեդիա ֆայլեր;
- WhatsApp-ի միջոցով փոխանցված փաստաթղթեր;
- տեղեկություններ հաշվի սեփականատիրոջ կոնտակտների մասին:
WhatsApp-ի արտեֆակտներ MacOS-ում
MacOS-ում կարող եք գտնել WhatsApp-ի արտեֆակտների տեսակներ, որոնք նման են Windows OS-ում հայտնաբերվածներին:
Ծրագրի ֆայլերը գտնվում են հետևյալ գրացուցակներում.
- «C:ApplicationsWhatsApp.app»
- 'C:Applications._WhatsApp.app'
- «C:Users%Օգտվողի պրոֆիլ%LibraryPreferences»
- «C:Users%Օգտվողի պրոֆիլ%LibraryLogsWhatsApp»
- «C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState»
- «C:Users%User profile%LibraryApplication Scripts»
- «C:Users%User profile%LibraryApplication SupportCloudDocs»
- «C:Users%Օգտվողի պրոֆիլ%LibraryApplication SupportWhatsApp.ShipIt»
- 'C:Users%Օգտվողի պրոֆիլ%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
- «C:Users%User profile% Library Mobile Documents <տեքստային փոփոխական> WhatsApp հաշիվներ»
Այս գրացուցակը պարունակում է ենթագրքեր, որոնց անունները հեռախոսահամարներ են՝ կապված WhatsApp հաշվի սեփականատիրոջ հետ: - «C:Users%Օգտվողի պրոֆիլ%LibraryCachesWhatsApp.ShipIt»
Այս գրացուցակը պարունակում է տեղեկատվություն ծրագրի տեղադրման մասին: - 'C:Users%Օգտվողի պրոֆիլ%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
Այս գրացուցակները պարունակում են ծրագրի սպասարկման ֆայլեր, ներառյալ WhatsApp-ի կոնտակտների լուսանկարներն ու մանրապատկերները: - «C:Users%Օգտվողի պրոֆիլ%LibraryCachesWhatsApp»
Այս գրացուցակը պարունակում է մի քանի SQLite տվյալների բազաներ, որոնք օգտագործվում են տվյալների քեշավորման համար: - «C:Users%User Profil%LibraryApplication SupportWhatsApp»
Այս գրացուցակը պարունակում է մի քանի ենթագրքեր.
Կատալոգում «C:Users%Օգտվողի պրոֆիլ%LibraryApplication SupportWhatsAppCache» կան ֆայլեր «տվյալներ_0», «տվյալներ_1», «տվյալներ_2», «տվյալներ_3» և անուններով ֆայլեր 'f_*******' (որտեղ *-ը 0-ից 9-ի թիվ է): Տեղեկությունների համար, թե ինչ տեղեկություններ են պարունակում այս ֆայլերը, տես WhatsApp Artifacts-ը Windows-ում:Կատալոգում «C:Users%Օգտվողի պրոֆիլ%LibraryApplication SupportWhatsAppIndexedDB» կարող է պարունակել մուլտիմեդիա ֆայլեր (ֆայլերը ընդլայնումներ չունեն):
ֆայլ 'main-process.log' պարունակում է տեղեկատվություն WhatsApp ծրագրի աշխատանքի մասին:
Տեղեկատվության աղբյուրներ
- WhatsApp Messenger-ի դատաբժշկական վերլուծություն Android սմարթֆոնների վրա, Cosimo Anglano-ի կողմից, 2014 թ.
- Whatsapp-ի դատաբժշկական փորձաքննություն. Համակարգչային տվյալների բազա և տվյալների հիման վրա կիրառվող Android-ի և iOS-ի կողմից Ահմադ Պրատամա, 2014 թ.
Այս շարքի հետևյալ հոդվածներում.
WhatsApp-ի կոդավորված տվյալների շտեմարանների վերծանումՀոդված, որը տեղեկատվություն կտա այն մասին, թե ինչպես է ստեղծվում WhatsApp գաղտնագրման բանալին և գործնական օրինակներ, որոնք ցույց են տալիս, թե ինչպես վերծանել այս հավելվածի կոդավորված տվյալների բազաները:
WhatsApp-ի տվյալների արդյունահանում ամպային պահեստիցՀոդված, որտեղ մենք ձեզ կպատմենք, թե WhatsApp-ի ինչ տվյալներ են պահվում ամպերում և նկարագրում ենք այս տվյալները ամպային պահեստներից հանելու մեթոդները:
WhatsApp տվյալների արդյունահանում. գործնական օրինակներՀոդված, որը քայլ առ քայլ նկարագրելու է, թե ինչ ծրագրեր և ինչպես հանել WhatsApp-ի տվյալները տարբեր սարքերից։
Source: www.habr.com