דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. נוקיה
  3. עזרה הדדית - נוקיה
  4. להורדה | קושחה כשרה חלקית לנוקיות החדשים עם מצלמה

להורדה | קושחה כשרה חלקית לנוקיות החדשים עם מצלמה

מתוזמן נעוץ נעול הועבר עזרה הדדית - נוקיה
38 פוסטים 8 כותבים 288 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • לומדעסל לומדעס

    @מצ-ופצ-ף הוא לא מצליח לקרוא את הקבצים

    3ee924af-363d-4ae4-984d-aa8e9f43c20a-image.png

    מ מנותק
    מ מנותק
    מצ'ופצ'ף
    כתב נערך לאחרונה על ידי
    #29

    @לומדעס

    כתב בלהורדה | קושחה כשרה חלקית לנוקיות החדשים עם מצלמה:

    אם זה לא עובד לך קח את זה
    תוכנה הקלה יותר.7z

    לומדעסל תגובה 1 תגובה אחרונה
    1
    • מ מצ'ופצ'ף

      @לומדעס

      כתב בלהורדה | קושחה כשרה חלקית לנוקיות החדשים עם מצלמה:

      אם זה לא עובד לך קח את זה
      תוכנה הקלה יותר.7z

      לומדעסל מנותק
      לומדעסל מנותק
      לומדעס
      מדריכים עימוד
      כתב נערך לאחרונה על ידי
      #30

      @מצ-ופצ-ף אלוף!

      2israel.israeli@gmail.com

      מ תגובה 1 תגובה אחרונה
      0
      • לומדעסל לומדעס

        @מצ-ופצ-ף אלוף!

        מ מנותק
        מ מנותק
        מצ'ופצ'ף
        כתב נערך לאחרונה על ידי
        #31

        @לומדעס אתה מתכוון שהAI😉

        לומדעסל cfopuserC 2 תגובות תגובה אחרונה
        0
        • מ מצ'ופצ'ף

          @לומדעס אתה מתכוון שהAI😉

          לומדעסל מנותק
          לומדעסל מנותק
          לומדעס
          מדריכים עימוד
          כתב נערך לאחרונה על ידי
          #32

          @מצ-ופצ-ף כאן הוא כותב לי שזה GIF
          a0ece294-d986-4deb-ab1b-3ad6f54af18d-image.png

          ושאני ופתח זה PNG

          2israel.israeli@gmail.com

          תגובה 1 תגובה אחרונה
          0
          • מ מצ'ופצ'ף

            @לומדעס אתה מתכוון שהAI😉

            cfopuserC מנותק
            cfopuserC מנותק
            cfopuser
            כתב נערך לאחרונה על ידי cfopuser
            #33

            @מצ-ופצ-ף תסרוק עם binwalk וזהו אתה במילא לא עושה המרה אז זה פשוט יהיה הרבה יותר מהיר.

            זה יהיה הרב יותר טוב מה50 ifים ברצף שיש עכשיו תאמין לי.

            מ 2 תגובות תגובה אחרונה
            0
            • cfopuserC cfopuser

              @מצ-ופצ-ף תסרוק עם binwalk וזהו אתה במילא לא עושה המרה אז זה פשוט יהיה הרבה יותר מהיר.

              זה יהיה הרב יותר טוב מה50 ifים ברצף שיש עכשיו תאמין לי.

              מ מנותק
              מ מנותק
              מצ'ופצ'ף
              כתב נערך לאחרונה על ידי
              #34

              @cfopuser אין לי גישה לAI
              חבר שלי עשה לי את זה

              תגובה 1 תגובה אחרונה
              0
              • cfopuserC cfopuser

                @מצ-ופצ-ף תסרוק עם binwalk וזהו אתה במילא לא עושה המרה אז זה פשוט יהיה הרבה יותר מהיר.

                זה יהיה הרב יותר טוב מה50 ifים ברצף שיש עכשיו תאמין לי.

                מ מנותק
                מ מנותק
                מצ'ופצ'ף
                כתב נערך לאחרונה על ידי
                #35

                @cfopuser האמת שלא כ"כ הבנתי מה התכוונת

                cfopuserC תגובה 1 תגובה אחרונה
                0
                • לומדעסל לומדעס

                  @מצ-ופצ-ף איזה קובץ לפתוח איתה ?
                  זה ?
                  EXEC_USER_IMAGE.bin

                  ל מנותק
                  ל מנותק
                  לעכשיו
                  כתב נערך לאחרונה על ידי
                  #36

                  @לומדעס מה אתה מנסה לעשות?

                  יישומים לנוקיה C2 ו208-https://mitmachim.top/topic/1889/משחקים-לנוקיה-c2-ו208-קבצי-jar/40
                  צילום מסך בנוקיה C2 (ע"י חיבור למחשב)-https://mitmachim.top/topic/3488/צילום-מסך-בנוקיה-c2

                  תגובה 1 תגובה אחרונה
                  0
                  • ל לעכשיו

                    @לומדעס זה?
                    IMAGE_THEME_BG.png

                    לומדעסל מנותק
                    לומדעסל מנותק
                    לומדעס
                    מדריכים עימוד
                    כתב נערך לאחרונה על ידי
                    #37

                    @לעכשיו כתב בלהורדה | קושחה כשרה חלקית לנוקיות החדשים עם מצלמה:

                    @לומדעס זה?

                    להחליף את זה אבל יש כמה כאלו אחד מוצג רגיל ב ResOver.exe ואחד שלא רואים אות והוא גיפ ברגסה של נוקיה 215 2020 רואים אותם אבל כאן לא רואים

                    2israel.israeli@gmail.com

                    תגובה 1 תגובה אחרונה
                    0
                    • מ מצ'ופצ'ף

                      @cfopuser האמת שלא כ"כ הבנתי מה התכוונת

                      cfopuserC מנותק
                      cfopuserC מנותק
                      cfopuser
                      כתב נערך לאחרונה על ידי cfopuser
                      #38

                      @מצ-ופצ-ף הקוד שלך נראה פחות או יותר ככה עכשיו

                      import customtkinter as ctk
                      from tkinter import filedialog, messagebox
                      import os
                      import re
                      import io
                      import threading
                      import subprocess
                      import platform
                      from PIL import Image
                      
                      ctk.set_appearance_mode('Dark')
                      ctk.set_default_color_theme('blue')
                      
                      class MTKExplorer(ctk.CTk):
                          
                          def __init__(self):
                              super().__init__()
                              self.title('MTK Explorer V4 (Uncensored)')
                              self.geometry('1000x700')
                              
                              self.bin_path = ''
                              self.resources = []
                              self.extract_dir = ''
                              
                              # --- UI Header ---
                              self.lbl_title = ctk.CTkLabel(self, text='MTK EXPLORER - גלוי הכל', font=('Roboto Medium', 24))
                              self.lbl_title.pack(pady=10)
                              
                              self.frame_top = ctk.CTkFrame(self)
                              self.frame_top.pack(fill='x', padx=20, pady=10)
                              
                              self.btn_load = ctk.CTkButton(self.frame_top, text='BIN טען קובץ', command=self.load_bin_file)
                              self.btn_load.pack(side='left', padx=10)
                              
                              self.lbl_status = ctk.CTkLabel(self.frame_top, text='(קריאים לא קבצים כולל)...הכל סורק', text_color='orange')
                              self.lbl_status.pack(side='left', padx=10)
                              
                              self.progress_bar = ctk.CTkProgressBar(self.frame_top, width=300)
                              self.progress_bar.set(0)
                              self.progress_bar.pack(side='right', padx=10)
                              
                              # --- Tabs ---
                              self.tabview = ctk.CTkTabview(self)
                              self.tabview.pack(fill='both', expand=True, padx=20, pady=5)
                              
                              self.tab_img = self.tabview.add('וגרפיקה תמונות') # "Images and Graphics"
                              self.tab_audio = self.tabview.add('אודיו')
                              self.tab_text = self.tabview.add('טקסטים (Strings)')
                              
                              self.list_img = self.create_scrollable_list(self.tab_img)
                              self.list_audio = self.create_scrollable_list(self.tab_audio)
                              
                              self.textbox = ctk.CTkTextbox(self.tab_text, wrap='none', font=('Courier', 12))
                              self.textbox.pack(fill='both', expand=True, padx=5, pady=5)
                              
                              # --- Bottom ---
                              self.frame_bottom = ctk.CTkFrame(self)
                              self.frame_bottom.pack(fill='x', padx=20, pady=10)
                              
                              # This button is for the "Selected" logic, but we also have per-row buttons now
                              self.btn_replace_global = ctk.CTkButton(self.frame_bottom, text='חדש BIN ושמור פריט החלף 💾', 
                                                             fg_color='#E74C3C', state='disabled')
                              self.btn_replace_global.pack(pady=10)
                              
                              self.lbl_info = ctk.CTkLabel(self.frame_bottom, text='להחלפה פריט בחר')
                              self.lbl_info.pack()
                      
                          def create_scrollable_list(self, parent):
                              frame = ctk.CTkScrollableFrame(parent)
                              frame.pack(fill='both', expand=True)
                              return frame
                      
                          def load_bin_file(self):
                              path = filedialog.askopenfilename(filetypes=[
                                  ('BIN Files', '*.bin'),
                                  ('All Files', '*.*')])
                              if not path:
                                  return
                              self.bin_path = path
                              
                              # Clear previous UI
                              for widget in self.list_img.winfo_children(): widget.destroy()
                              for widget in self.list_audio.winfo_children(): widget.destroy()
                              self.textbox.delete('0.0', 'end')
                              
                              self.lbl_status.configure(text='...סורק', text_color='orange')
                              threading.Thread(target=self.scan_file_thread, daemon=True).start()
                      
                          def scan_file_thread(self):
                              try:
                                  self.resources = []
                                  
                                  with open(self.bin_path, 'rb') as f:
                                      data = f.read()
                      
                                  self.extract_dir = os.path.join(os.path.dirname(self.bin_path), 'Full_Extraction')
                                  if not os.path.exists(self.extract_dir):
                                      os.makedirs(self.extract_dir)
                      
                                  signatures = {
                                      'png': b'\x89PNG\r\n\x1a\n',
                                      'jpg': b'\xff\xd8\xff',
                                      'gif': b'GIF8',
                                      'bmp': b'BM',
                                      'mp3': b'ID3',
                                      'wav': b'RIFF'
                                  }
                      
                                  total_len = len(data)
                                  count_valid = 0
                      
                                  for ext, sig in signatures.items():
                                      start = 0
                                      while True:
                                          index = data.find(sig, start)
                                          if index == -1:
                                              break
                      
                                          if count_valid % 50 == 0: 
                                              self.progress_bar.set(index / total_len)
                      
                                          end_index = index + 50000 
                      
                                          try:
                                              if ext == 'png':
                                                  iend = data.find(b'IEND', index)
                                                  if iend != -1: end_index = iend + 8
                                              elif ext == 'jpg':
                                                  eoi = data.find(b'\xff\xd9', index)
                                                  if eoi != -1: end_index = eoi + 2
                                              elif ext == 'gif':
                                                  terminator = data.find(b';', index + 6)
                                                  if terminator != -1 and (terminator - index) < 100000: end_index = terminator + 1
                                              elif ext == 'bmp':
                                                  size_bytes = data[index + 2 : index + 6]
                                                  bmp_size = int.from_bytes(size_bytes, 'little')
                                                  if 0 < bmp_size < 1000000: end_index = index + bmp_size
                                              
                                              raw_data = data[index : end_index]
                                              status_text = 'תקין'
                                              display_path = ''
                      
                                              if ext in ('png', 'jpg', 'gif', 'bmp'):
                                                  img_obj = Image.open(io.BytesIO(raw_data))
                                                  filename = f"img_{index}.png"
                                                  display_path = os.path.join(self.extract_dir, filename)
                                                  img_obj.save(display_path, 'PNG')
                                              else:
                                                  filename = f"sound_{index}.{ext}"
                                                  display_path = os.path.join(self.extract_dir, filename)
                                                  with open(display_path, 'wb') as tmp:
                                                      tmp.write(raw_data)
                      
                                              res_type = 'audio' if ext in ('mp3', 'wav') else 'image'
                      
                                          except Exception:
                                              status_text = '(נתמך לא) RAW'
                                              filename = f"raw_{index}.{ext}"
                                              display_path = os.path.join(self.extract_dir, filename)
                                              with open(display_path, 'wb') as tmp:
                                                  tmp.write(raw_data)
                                              res_type = 'image'
                      
                                          res_info = {
                                              'id': count_valid,
                                              'type': res_type,
                                              'ext': ext,
                                              'offset': index,
                                              'size': end_index - index,
                                              'path': display_path,
                                              'status': status_text
                                          }
                                          self.resources.append(res_info)
                                          
                                          # Update UI in batches to prevent freezing
                                          if count_valid % 5 == 0:
                                              self.after(0, lambda r=res_info: self.add_item_to_list(r))
                                          else:
                                              # For speed, only fully render every 5th item immediately or just render all at end?
                                              # The logic below renders one by one safely
                                              self.after(0, lambda r=res_info: self.add_item_to_list(r))
                                          
                                          count_valid += 1
                                          start = end_index 
                      
                                  # String extraction
                                  text_data = ''
                                  strings = re.findall(b'[a-zA-Z0-9\\s\\.\\-\\_\\:\\@]{4,}', data)
                                  for s in strings:
                                      try:
                                          decoded = s.decode('utf-8').strip()
                                          if len(decoded) > 3: text_data += decoded + '\n'
                                      except: pass
                      
                                  self.after(0, lambda: self.textbox.insert('0.0', text_data))
                                  self.after(0, lambda: self.finish_scan(count_valid))
                      
                              except Exception as e:
                                  print(e)
                                  self.lbl_status.configure(text='שגיאה בסריקה', text_color='red')
                      
                          def add_item_to_list(self, item):
                              target_list = self.list_img if item['type'] == 'image' else self.list_audio
                              
                              # Main Row Frame
                              frame = ctk.CTkFrame(target_list, height=40)
                              frame.pack(fill='x', pady=2, padx=5)
                              
                              # Info Text (Left aligned like screenshot)
                              # Format: מיקום: 610240 | גודל: 27599 | סוג: PNG | סטטוס: תקין
                              text_info = f"מיקום: {item['offset']} | גודל: {item['size']} | סוג: {item['ext'].upper()} | סטטוס: {item['status']}"
                              
                              lbl = ctk.CTkLabel(frame, text=text_info, anchor="w", text_color="#F1C40F" if "RAW" in item['status'] else "white")
                              lbl.pack(side='left', padx=10)
                      
                              # Buttons (Right aligned)
                              
                              # Open Button (Blue)
                              btn_open = ctk.CTkButton(frame, text="פתח", width=60, height=25,
                                                      command=lambda: self.open_file(item['path']))
                              btn_open.pack(side='right', padx=5, pady=5)
                      
                              # Replace Button (Orange)
                              btn_replace = ctk.CTkButton(frame, text="החלף", width=60, height=25, fg_color="#E67E22", hover_color="#D35400",
                                                         command=lambda: self.replace_specific_item(item))
                              btn_replace.pack(side='right', padx=5, pady=5)
                      
                          def open_file(self, filepath):
                              if not os.path.exists(filepath): return
                              try:
                                  if platform.system() == 'Darwin':       # macOS
                                      subprocess.call(('open', filepath))
                                  elif platform.system() == 'Windows':    # Windows
                                      os.startfile(filepath)
                                  else:                                   # linux variants
                                      subprocess.call(('xdg-open', filepath))
                              except:
                                  pass
                      
                          def replace_specific_item(self, item):
                              """Logic to replace a specific item and save the BIN"""
                              new_file_path = filedialog.askopenfilename(title=f"בחר קובץ להחלפת {item['ext']}")
                              if not new_file_path: return
                      
                              try:
                                  with open(new_file_path, 'rb') as f:
                                      new_data = f.read()
                                  
                                  if len(new_data) > item['size']:
                                      if not messagebox.askyesno("אזהרה", "הקובץ החדש גדול מהמקורי! האם להמשיך? (עלול לגרום לנזק)"):
                                          return
                                  
                                  # Read original bin
                                  with open(self.bin_path, 'rb') as f:
                                      bin_data = bytearray(f.read())
                                  
                                  # Patch
                                  offset = item['offset']
                                  bin_data[offset : offset + len(new_data)] = new_data
                                  
                                  # Save
                                  save_path = filedialog.asksaveasfilename(defaultextension=".bin", filetypes=[("BIN", "*.bin")])
                                  if save_path:
                                      with open(save_path, 'wb') as f:
                                          f.write(bin_data)
                                      messagebox.showinfo("הצלחה", "הקובץ נשמר בהצלחה!")
                                      
                              except Exception as e:
                                  messagebox.showerror("שגיאה", str(e))
                      
                          def finish_scan(self, count):
                              self.progress_bar.set(1)
                              self.lbl_status.configure(text=f'נמצאו {count} קבצים', text_color='green')
                      
                      if __name__ == "__main__":
                          app = MTKExplorer()
                          app.mainloop()
                      

                      מה שדי איטי ולוקח זמן בגלל שהקוד רץ 6 פעמים על אותו קובץ במקום לעשות סריקה אחת כללית,
                      לכן אני ממליץ לך במקום מה שיש עכשיו שתעבור להשתמש בחיפוש regex או ליצור תוכנה שמתבססת על binwalk

                      בנוסף הממשק קופא ונהיה מאוד איטי בגלל שtiknter לא מיועד לכזאת מהירות של עדכונים

                      תגובה 1 תגובה אחרונה
                      1

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר