בקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר
-
@חכם-בלילה-1 צור איתי קשר בפרטי.
ashivered@gmail.com ואנסה לעזור לך (אני מניח שאתה לא רוצה להעלות את הקובץ לכאן...) -
@חכם-בלילה-1
א. ניסיתי להריץ את הסקריפט על הקבצים ששלחת לי.
יש שגיאה, ואני לא מספיק מבין בפייתון... נראה שהסקריפט לא מתאים לקבצים של 215C:\Users\SUPPORT\Documents\GitHub\phonebook_ib_export>python export.py phonebook.ib phonebook.vcf Traceback (most recent call last): File "C:\Users\SUPPORT\Documents\GitHub\phonebook_ib_export\export.py", line 92, in <module> main() File "C:\Users\SUPPORT\Documents\GitHub\phonebook_ib_export\export.py", line 89, in main process(args.infile, args.outfile) File "C:\Users\SUPPORT\Documents\GitHub\phonebook_ib_export\export.py", line 76, in process entry = Entry(data) ^^^^^^^^^^^ File "C:\Users\SUPPORT\Documents\GitHub\phonebook_ib_export\export.py", line 23, in __init__ raise ValueError('Invalid entry') ValueError: Invalid entry
ב. הקובץ קריא אם פותחים אותו בNotepad++, כלומר הוא מלא סמלים מוזרים, אבל בין לבין רואים שמות ומספרי טלפון
-
-
@מישהו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') ...