בקשת מידע | פתיחת קובץ 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 בתיקיית הסקריפט
הסקריפט אמנם לא כתוב בצורה ברורה והוא לא מי יודע מה יעיל ויש הרבה לשפר בו אבל זה בינתייםתוכל לכתוב את הפקודה שצריך בשביל להמיר?
-
@חכם-בלילה-1 כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
@מתכנת-חובב כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
אפשר לשלוח אלי את הקובץ ib ואני ישלח לכם חזרה את הקובץ vcf
@מתכנת-חובב מצאת פתרון גם לנוקיה 225?
כן ואני יעלה את זה ברגע שיהיה לי זמן
@מישהו12 כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
225 ו215 ב99.99% זה אותו הדבר.
צורת הקידוד של מספר הטלפון שונה (מהותית) כל השאר אותו דבר (עד כמה שאני זוכר)
@מישהו12 כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
תוכל לכתוב את הפקודה שצריך בשביל להמיר?
לפתוח cmd ואז
python <שם הסקריפט>
וזה רק אחרי שמשנים את הנתיב לקובץ גיבוי בקוד של הסקריפט עצמו (מסורבל אבל אין לי כוח וזמן לסדר את זה)
-
@מתכנת-חובב משום מה זה רושם לי קובץ רק עם שמות האנש"ק ללא מספרי הטלפון, וכך גם בהדפסה לקונסול לא מופיעים המספרים, ייתכן שמשהו השתנה?
-
@מתכנת-חובב זה 215
עכ"פ, אשלח לך בפרטי את הקובץ.. -
-
@אביי כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
@מתכנת-חובב משום מה זה רושם לי קובץ רק עם שמות האנש"ק ללא מספרי הטלפון, וכך גם בהדפסה לקונסול לא מופיעים המספרים, ייתכן שמשהו השתנה?
שלום, נרשמתי לפורום כי גם אני צריך vcf לאנשי הקשר שלי מנוקיה 225
-
@ישראל847 כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
@אביי כתב בבקשת מידע | פתיחת קובץ in או ib מקובץ גיבוי אנשי קשר:
@מתכנת-חובב משום מה זה רושם לי קובץ רק עם שמות האנש"ק ללא מספרי הטלפון, וכך גם בהדפסה לקונסול לא מופיעים המספרים, ייתכן שמשהו השתנה?
שלום, נרשמתי לפורום כי גם אני צריך vcf לאנשי הקשר שלי מנוקיה 225
איך שולחים בפרטי את הקובץ?
-