בקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר
-
@מישהו12 הסקריפט בודק את המבנה של הקובץ והוא מצפה למבנה מסויים
המבנה כולל header ידוע של כל רשומת איש קשר ומכיוון שהסקריפט נכתב לנוקיה 3310 הוא נתקל בשגיאה
היה מעניין אותי לקבל את הקובץ הזה ולנסות להתאים אליו את הסקריפט
@חכם-בלילה-1 אם אתה רוצה אתה יכול לשלוח ללי אותו בצ'אט או ל egozkokus1 בג'ימייל -
@חכם-בלילה-1
מה אם תנסה את זה?
https://mitmachim.top/post/685589
ייתכן שזה לא מתאים בכלל לנוקיה, אבל הוא טוען שבכל גיבוי ייוצר קובץ vcf, אז שווה לנסות.
@מישהו12 מהניסיון שלך, זה מתאים גם לנוקיה, או רק ל-מטק וכדו'? -
@מתכנת-חובב אם זה יעזור לך, כאן יוצר הסקריפט הזה מסביר קצת
https://stackoverflow.com/a/54060829 -
@אזולאי כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
מה אם תנסה את זה?
https://mitmachim.top/post/685589@אזולאי אתה יכול למקם אותי ספציפית למה כוונתך?
-
@חכם-בלילה-1
שמה כותב @הייתי-שמח-להבין שיש דרך לגלות כל קובץ גיבוי לאנשי קשר, על ידי התוכנה FK TOOL .
זאת תוכנה המיועדת לחילוץ אנשי קשר גם במקרה שנראה שאין לך קובץ vcf.
ניסו את התוכנה הזאת בעיקר על טלפונים כמו mtk ודומיו, אז לא בטוח שזה יעבוד גם על נוקיה, אבל בהחלט שווה לנסות. -
@אזולאי כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
אבל בהחלט שווה לנסות
@אזולאי ניסיתי עם התוכנה הזו ולא הצלחתי
-
פוסט זה נמחק!
-
פוסט זה נמחק!
-
@מתכנת-חובב ממש תודה רבה על ההשקעה
זה פשוט עובד!!!!!!
זהו זה יש פתרון לייצוא אנשי קשר מנוקיה 215!!!
תודה גם ל @מישהו12 ולכל העוזרים והמסייעים!
אני מתייג את @NH-LOCAL אולי אפשר לכתוב סקריפט פשוט או אפי' תוכנה קטנה
הנושא עלה פעמים רבות בפורום
ושוב תודה רבה בשם כולם!!!@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:הסקריפט אמנם לא כתוב בצורה ברורה והוא לא מי יודע מה יעיל ויש הרבה לשפר בו אבל זה בינתיים
הסקריפט מצויין אפשר למחוק את זה...
-
@חכם-בלילה-1 מה שנשאר זה רק לחפש מישהו שידע לומר לי איך עובד הגיבוי בנוקיה 225
יש לי פלאפון כזה ובקובץ הגיבוי רואים רק את השמות של האנש"ק (וגם זה לא נראה לי את כולם) אבל אין מספר טלפוןמישהו פעם ניסה לשחזר מגיבוי של 225 ועבד לו תקין?
-
-
-
@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
והנה גרסה עובדת של הסקריפט רק שאני לא יודע אם הפורמט של קובץ ה vcf נכתב נכון - אשמח אם מישהו יוכל לבדוק את זה (@מישהו12)
לא עובד לי זה מה שנותן,
Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import struct >>> >>> reverse = 0 >>> header = 0x244 >>> section = 0x250 >>> bin_file = open('C:\8', 'rb') <stdin>:1: SyntaxWarning: invalid escape sequence '\8' Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: 'C:\\8' >>> >>> def yep(): ... global reverse, FN, LN, phone ... data_hdr = bin_file.read(2) ... hdr = struct.unpack_from('BB', data_hdr, 0x0) ... if hdr != (56, 2): ... raise ValueError("invalid entry") ... bin_file.seek(-2, 1) ... ... # find first name ... bin_file.read(0x60) ... by = bin_file.read(2) ... FN_length = struct.unpack('<H', by)[0] ... FN = bin_file.read(FN_length*2).decode('utf-16-le')[::-1] ... reverse = (FN_length*2) + 2 + 0x60 ... bin_file.seek(-reverse, 1) ... ... # find last name ... bin_file.read(0xB4) ... by = bin_file.read(2) ... LN_length = struct.unpack('<H', by)[0] ... if LN_length == 0: ... LN = "" ... else: ... LN = bin_file.read(LN_length*2).decode('utf-16-le')[::-1] ... print(FN, LN) ... ... reverse = (LN_length*2) + 2 + 0xB4 ... bin_file.seek(-reverse, 1) ... ... # find phone number ... bin_file.read(0x19E) ... by = bin_file.read(2) ... phone_length = struct.unpack('<H', by)[0] ... ... if phone_length == 0: ... phone = "" ... else: ... phone = bin_file.read(phone_length*2).decode('utf-16-le')[::-1] ... print(phone[::-1]) ... reverse = (phone_length*2) + 2 + 0x19E ... ... ... ... bin_file.read(header) File "<stdin>", line 44 bin_file.read(header) ^^^^^^^^ SyntaxError: invalid syntax >>> >>> vcf_file = open('contacts.vcf', 'w', encoding='utf-8') >>> >>> while True: ... bin_file.seek(-reverse, 1) ... bin_file.read(0x250) ... try: ... yep() ... except: ... break ... ... # write contact to VCF file ... phone = phone[::-1] ... phone = phone.replace("Number\: ", "") <stdin>:11: SyntaxWarning: invalid escape sequence '\:' ... ... vcf_file.write('BEGIN:VCARD\n') ... vcf_file.write('N:' + FN[::-1] + ';' + LN[::-1] + '\n') ... vcf_file.write('TEL:' + phone + '\n') ... vcf_file.write('END:VCARD\n') ...
-
@שער-השמים אתה לא מריץ את זה נכון
תשנה את הנתיב לקובץ הגיבוי לנתיב המלא (מומלץ להחליף כל "/" ב "//")
ותריץ את זה נורמלי דרך שורת הפקודה ולא באינטרפרטר
@אביב4 @מומי11 בעתיד אני יצור גרסה נוחה יותר של הסקריפט בינתיים אפשר לשלוח אלי את הקובץ ib ואני ישלח לכם חזרה את הקובץ vcf
אפשר לשלוח למייל egozkokus1 בג'ימייל -
@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
אפשר לשלוח אלי את הקובץ ib ואני ישלח לכם חזרה את הקובץ vcf
@מתכנת-חובב מצאת פתרון גם לנוקיה 225?
-
@חכם-בלילה-1 כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
אפשר לשלוח אלי את הקובץ ib ואני ישלח לכם חזרה את הקובץ vcf
@מתכנת-חובב מצאת פתרון גם לנוקיה 225?
225 ו215 ב99.99% זה אותו הדבר.
-
@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
והנה גרסה עובדת של הסקריפט רק שאני לא יודע אם הפורמט של קובץ ה vcf נכתב נכון - אשמח אם מישהו יוכל לבדוק את זה (@מישהו12)
import struct reverse = 0 header = 0x244 section = 0x250 bin_file = open('path goes here', 'rb') def yep(): global reverse, FN, LN, phone data_hdr = bin_file.read(2) hdr = struct.unpack_from('BB', data_hdr, 0x0) if hdr != (56, 2): raise ValueError("invalid entry") bin_file.seek(-2, 1) # find first name bin_file.read(0x60) by = bin_file.read(2) FN_length = struct.unpack('<H', by)[0] FN = bin_file.read(FN_length*2).decode('utf-16-le')[::-1] reverse = (FN_length*2) + 2 + 0x60 bin_file.seek(-reverse, 1) # find last name bin_file.read(0xB4) by = bin_file.read(2) LN_length = struct.unpack('<H', by)[0] if LN_length == 0: LN = "" else: LN = bin_file.read(LN_length*2).decode('utf-16-le')[::-1] print(FN, LN) reverse = (LN_length*2) + 2 + 0xB4 bin_file.seek(-reverse, 1) # find phone number bin_file.read(0x19E) by = bin_file.read(2) phone_length = struct.unpack('<H', by)[0] if phone_length == 0: phone = "" else: phone = bin_file.read(phone_length*2).decode('utf-16-le')[::-1] print(phone[::-1]) reverse = (phone_length*2) + 2 + 0x19E bin_file.read(header) vcf_file = open('contacts.vcf', 'w', encoding='utf-8') while True: bin_file.seek(-reverse, 1) bin_file.read(0x250) try: yep() except: break # write contact to VCF file phone = phone[::-1] phone = phone.replace("Number\: ", "") vcf_file.write('BEGIN:VCARD\n') vcf_file.write('N:' + FN[::-1] + ';' + LN[::-1] + '\n') vcf_file.write('TEL:' + phone + '\n') vcf_file.write('END:VCARD\n')
רק צריך לוודא שפייתון מותקן במחשב ולשנות את path goes here לנתיב של הקובץ ib ואחרי הריצה יווצר קובץ vcf בתיקיית הסקריפט
הסקריפט אמנם לא כתוב בצורה ברורה והוא לא מי יודע מה יעיל ויש הרבה לשפר בו אבל זה בינתייםתוכל לכתוב את הפקודה שצריך בשביל להמיר?