Git Product home page Git Product logo

iphone-backup-analyzer-2's People

Contributors

agordon avatar noamkush avatar piccimario avatar sangy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iphone-backup-analyzer-2's Issues

unicode error

File "main.py", line 1632, in readBackupArchive
path = str(nodeData[0])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 17-19: ordinal not in range(128)

support for commandline parameters

It would be very handy to give backup-directory from command line.
Something like this:

index 73ed244..5235fbd100644
--- a/main.py
+++ b/main.py
@@ -540,7 +540,7 @@ class SqliteWidget(QtGui.QWidget):

 class IPBA2(QtGui.QMainWindow):

-       def __init__(self):
+       def __init__(self, load_on_start):
                super(IPBA2, self).__init__(None)

                self.ui = Ui_MainWindow()
@@ -552,7 +552,8 @@ class IPBA2(QtGui.QMainWindow):
                # and check its noneness to lock analysis functions
                self.backup_path = None

-               #self.openBackup()
+               if load_on_start !="":
+                       self.openBackup(load_on_start)

                self.loadPlugins()

@@ -1835,6 +1836,9 @@ if __name__ == "__main__":
        app.setOrganizationName("IPBA2");
        app.setOrganizationDomain("ipbackupanalyzer.com");
        app.setApplicationName("iPhoneBackupAnalyzer2");
-       main_ipba2_window = IPBA2()
+       if len(sys.argv) >= 2:
+               main_ipba2_window = IPBA2(sys.argv[1])
+       else:
+               main_ipba2_window = IPBA2("")   
        main_ipba2_window.show()
        sys.exit(app.exec_())

Folder with special characters: UnicodeEncodeError

Backup has folder with non-latin alphabet, eg Documents/فوتبال
Version: 3fd0dfa

Traceback (most recent call last):
  File "main.py", line 871, in openBackupGUI
    self.openBackup(newBackupPath)
  File "main.py", line 890, in openBackup
    self.readBackupArchive()
  File "main.py", line 1651, in readBackupArchive
    path = str(path_u[0])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-21: ordinal not in range(128)

SkypeForIpad Plugin Fails to open database

The Skype plugin does not work for iPad installations of Skype, returning the following error:

Type: Exception
Description: Skype database not found: "C:\Users\jwright\Desktop\b32ba4ec7c5bc1808937843e80b56cd08018e16e\"
File: <string>
Line: 693

Traceback:
-   File "<string>", line 693, in runPlugin
-   File "C:\Users\jwright\Downloads\iPBA2 exe build 042013\main\ipba2-plugins\plg_skype.py", line 1609, in main
    return SkypeWidget(cursor, path)
-   File "C:\Users\jwright\Downloads\iPBA2 exe build 042013\main\ipba2-plugins\plg_skype.py", line 707, in __init__
    raise Exception("Skype database not found: \"%s\""%self.filename)

The problem is in the plg_skype.py plugin around line 700:

    self.filename = os.path.join(self.backup_path, plugins_utils.realFileName(cursor, filename="main.db", domaintype="AppDomain", domain="com.skype.skype"))

For the iPad version of Skype, the domain is "com.skype.SkypeForiPad".

-Josh

Unable to run plugin ipda2-plugins.plg_viber

Type: OperationalError
Description: no such table: Z_3PHONENUMINDEXES
File: main.py
Line: 759

Traceback:

  • File "main.py", line 759, in runPlugin
    newWidget = mainMethod(self.cursor, self.backup_path)
  • File "/home/puma/stc/iPhone-Backup-Analyzer-2/ipba2-plugins/plg_viber.py", line 843, in main
    return ViBrowserWidget(cursor, path)
  • File "/home/puma/stc/iPhone-Backup-Analyzer-2/ipba2-plugins/plg_viber.py", line 72, in init
    self.populateUI()
  • File "/home/puma/stc/iPhone-Backup-Analyzer-2/ipba2-plugins/plg_viber.py", line 215, in populateUI
    chats = self.getChats()
  • File "/home/puma/stc/iPhone-Backup-Analyzer-2/ipba2-plugins/plg_viber.py", line 360, in getChats
    self.tempcur.execute(query)

I think, maybe viber replaced tables structure!

Manifest.mbdb not found in path

Manifest.mbdb not found in path on iPhone 6/6s when opening iPhone backup. Does this tool still support the new sqlite format of iOS backups?

Error messages do not fit on small boxes

QtGui.QMessageBox might not be the best gui-element for error messages. Most annoying is the fact that it cannot be resized (e.g. in case when details contains Backtrace). It could be improved something like:

diff --git a/main.py b/main.py
index 73ed244..a916f7b 100644
--- a/main.py
+++ b/main.py
@@ -68,6 +68,31 @@ class AboutWindow(QtGui.QWidget):
                self.ui.about_version.setText("Ver. %s (%s)"%(iPBAVersion, iPBAVersionDate))

 # ------------------------------------------------------------------------------------------------             
+class MyMessageBox(QtGui.QMessageBox):
+    def __init__(self):
+        QtGui.QMessageBox.__init__(self)
+        self.setSizeGripEnabled(True)
+
+    def event(self, e):
+        result = QtGui.QMessageBox.event(self, e)
+
+        self.setMinimumHeight(0)
+        self.setMaximumHeight(16777215)
+        self.setMinimumWidth(0)
+        self.setMaximumWidth(16777215)
+        self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+
+        textEdit = self.findChild(QtGui.QTextEdit)
+        if textEdit != None :
+            textEdit.setMinimumHeight(0)
+            textEdit.setMaximumHeight(16777215)
+            textEdit.setMinimumWidth(0)
+            textEdit.setMaximumWidth(16777215)
+            textEdit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+
+        return result
+# ------------------------------------------------------------------------------------------------             
+

 class PlistWidget(QtGui.QWidget):

@@ -839,7 +864,7 @@ class IPBA2(QtGui.QMainWindow):


        def error(self, text):
-               msgBox = QtGui.QMessageBox()
+               msgBox = MyMessageBox()
                msgBox.setText(text)

                detailedText = "Type: %s"%sys.exc_info()[0].__name__

And/or:

+print text
+print detailedText

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.