def __init__(self, node, db_name): ''' boundId: jp.naver.line node: /private/var/mobile/Containers/Data/Application/5A249183-668C-4CC0-B983-C0A7EA2E657F Library\Preferences\jp.naver.line.plist group.com.linecorp.line Library\Preferences\group.com.linecorp.line.plist Library\\Application Support\\PrivateStore\\P_u423af962f1456db6cba8465cf82bb91b\\Messages\\Line.sqlite ''' super(AppleLineParser, self).__init__(node, db_name) self.VERSION_VALUE_DB = model_im.VERSION_VALUE_DB self.Generate = model_im.GenerateModel self.csm = model_im.IM() self.root = node.Parent.Parent.Parent self.user_plist_node = self.root.GetByPath( 'Library/Preferences/jp.naver.line.plist') ################# group.com.linecorp.line ################ # Library\Preferences\group.com.linecorp.line.plist self.group_plist_node = list( self.root.FileSystem.Search('group.com.linecorp.line.plist$'))[0] # Library\\Application Support\\PrivateStore self.group_root = self.group_plist_node.Parent.Parent.Parent self.group_db_root = self.group_root.GetByPath( 'Library/Application Support/PrivateStore') self.friend_list = {} # friend_pk: Friend()
def __init__(self, node, db_name): super(AndroidYiXinParser, self).__init__(node, db_name) self.root = node.Parent.Parent self.csm = model_im.IM() self.Generate = model_im.GenerateModel self.user_id_list = [] self.media_node = None self.user_id = ''
def __init__(self, node, extractDeleted, extractSource): self.root = node self.extractDeleted = extractDeleted self.extractSource = extractSource self.blued = model_im.IM() self.cache = ds.OpenCachePath("Blued") self.friend_list = {} self.group_list = {}
def __init__(self, node, extractDeleted, extractSource): self.root = node self.extractDeleted = extractDeleted self.extractSource = extractSource self.bulletMessage = model_im.IM() self.cache = ds.OpenCachePath("bulletMessage") self.contact_list = {} self.group_info = {}
def __init__(self, node, extractDeleted, extractSource): self.root = node self.extractDeleted = extractDeleted self.extractSource = extractSource self.bulletMessage = model_im.IM() self.cache = ds.OpenCachePath("bulletMessage") self.friend_list = {} self.group_list = {} self.all_send_nick_name = {}
def __init__(self, node, extract_deleted, extract_source): self.node = node self.extract_deleted = extract_deleted self.extract_source = extract_source self.cache = ds.OpenCachePath('xianyu') self.im = model_im.IM() self.hash = unity_c37r.md5(node.PathWithMountPoint) self.im.db_create(self.cache + '/{}'.format(self.hash)) self.account = None
def __init__(self, fs, extract_deleted, extract_source): self.fs = fs self.extract_deleted = extract_deleted self.extract_source = extract_source self.im = model_im.IM() cache = ds.OpenCachePath('Dingtalk') self.im.db_create(cache + '/C37R') self.cache = cache self.account = list()
def __init__(self, node, extractDeleted, extractSource): self.root = node self.extractDeleted = extractDeleted self.extractSource = extractSource self.cache = ds.OpenCachePath("Facebook") self.account_id = None self.account_name = None self.facebook_db = model_im.IM() self.contacts_dict = {}
def __init__(self, node, db_name): super(AppleDuoShanParser, self).__init__(node, db_name) self.VERSION_VALUE_DB = model_im.VERSION_VALUE_DB self.root = node.Parent.Parent.Parent self.Generate = model_im.GenerateModel self.csm = model_im.IM() self.cur_account = None self.cur_account_id = None self.cur_media_path = []
def __init__(self, root, extract_deleted, extract_source): self.root = root self.extract_deleted = extract_deleted self.extract_source = extract_source self.account = None self.account_config_path = None self.account_db_path = None self.cache_db = self.__get_cache_db() self.model_col = model_im.IM() if self.root.GetByPath(r"/cache4.db"): self.model_col.db_create(self.cache_db)
def __init__(self, node, extract_deleted, extract_source): self.extract_deleted = extract_deleted self.extract_source = extract_source self.root = node self.im = model_im.IM() self.cache_path =ds.OpenCachePath('YouXin') if not os.path.exists(self.cache_path): os.makedirs(self.cache_path) self.cache_db = os.path.join(self.cache_path, 'cache.db') nameValues.SafeAddValue(bcp_im.CONTACT_ACCOUNT_TYPE_IM_YOUXIN, self.cache_db)
def __init__(self, root, extract_deleted, extract_source): self.root = root self.extract_deleted = extract_deleted self.extract_source = extract_source self.model_im_col = model_im.IM() self.cache_db = self.__get_cache_db() self.model_im_col.db_create(self.cache_db) self.recovering_helper = None self.checking_col = None self.using_account = None self.table_name = None
def __init__(self, node, extract_deleted, extract_source, app_name='YunkanSkype'): super(YunkanSkypePanParser, self).__init__(node, extract_deleted, extract_source, app_name) self.app_version = SKYPE_VERSION self.account_id = self._get_owner_phone(node) self.model_im_col = model_im.IM() self.debug = DEBUG
def __init__(self, node, extractDeleted, extractSource): self.root = node self.extractDeleted = extractDeleted self.extractSource = extractSource self.account_id = None self.account_pushname = None self.whatsapp = model_im.IM() self.cache = ds.OpenCachePath("whatsapp") self.contacts_dicts = {} self.groups_dicts = {} self.source_path = self.root.GetByPath("/databases/msgstore.db") self.dest_path = self.cache + "/msgstore.db"
def __init__(self, node, extract_deleted, extract_source): ''' node: /data/data/com.linecorp.linelite/databases/LINE_LITE ''' self.root = node.Parent self.extract_deleted = extract_deleted self.extract_source = extract_source self.im = model_im.IM() self.cachepath = ds.OpenCachePath('LINE_LITE') hash_str = hashlib.md5( node.AbsolutePath.encode('utf8')).hexdigest()[8:-8] self.cache_db = self.cachepath + '\\a_linelite_{}.db'.format(hash_str) self.profile_node_4_search = self.root.FileSystem
def __init__(self, root, extract_deleted, extract_source): self.root = root.Parent.Parent self.extract_deleted = extract_deleted self.extract_source = extract_source self.model_im_col = model_im.IM() self.cache_db = self.__get_cache_db() self.account_info_path, self.cl_db_path, self.agent_db_path, self.files_db_path = self.__fetch_data_node() self.model_im_col.db_create(self.cache_db) self.cl_db_col = ColHelper(self.cl_db_path) self.agent_db_col = ColHelper(self.agent_db_path) self.files_db_col = ColHelper(self.files_db_path) # self.message_recover_helper = RecoverTableHelper(self.agent_db_path) # self.cl_recover_helper = RecoverTableHelper(self.cl_db_path) self.using_account = None
def __init__(self, db_name, app_version=1): self.db_name = db_name self.need_parse = True self.conn = None self.cmd = None self.im = None if os.path.exists(self.db_name): self.need_parse = NetDisk.checkout(db_name, app_version) if self.need_parse: self.conn = unity_c37r.create_connection(db_name, False) self.cmd = sql.SQLiteCommand(self.conn) self.im = model_im.IM() self.im.db_create(db_name + '.IM') self.events = None self.create_tables()
def __init__(self, root, extract_deleted, extract_source): self.root = root.Parent.Parent self.extract_deleted = extract_deleted self.extract_source = extract_source self.model_im_col = model_im.IM() self.cache_db = self.__get_cache_db() self.account_info_path, self.user_info_path, self.icq_data_path = self.__init_data_path( ) if all((self.user_info_path, self.icq_data_path)): self.model_im_col.db_create(self.cache_db) self.icq_db_col = ColHelper(self.icq_data_path) self.recover_helper = RecoverTableHelper( self.root.GetByPath("databases/agent-dao")) self.using_account = None self.using_account_name = None
def __init__(self, cache_db, app_v, id): self.cache = cache_db self.version = 1 self.conn = None self.cmd = None self.need_parse = False self.im = model_im.IM() parent, tail = os.path.split(self.cache) self.log = unity_c37r.SimpleLogger(parent + 'C37R.log', True, id) self.db_check(app_v) if self.need_parse: if os.path.exists(self.cache): os.remove(self.cache) if os.path.exists(self.cache + '.im'): os.remove(self.cache + '.im')
def __init__(self, node, extract_deleted, extract_source): global MM_PARSER_VERSION self.node = node self.extract_deleted = extract_deleted self.extract_source = extract_source self.cache = ds.OpenCachePath('momo') self.hash = unity_c37r.md5(node.PathWithMountPoint) self.cache_db = os.path.join(self.cache, self.hash) self.need_parse = False self.im = model_im.IM() if model_im.IM.need_parse(self.cache_db, MM_PARSER_VERSION): self.need_parse = True self.im.db_create(self.cache_db) self.accounts = list() self.f_dict = dict()
def __init__(self, root, extract_deleted, extract_source, is_scripts=True): self.root = root self.extract_source = extract_source self.extract_deleted = extract_deleted self.result_sql = list() self.im = model_im.IM() self.is_scripts = is_scripts if is_scripts: cache = ds.OpenCachePath('Dingtalk') else: cache = "D:/cache" self.need_parse = False self.hash = md5(root.PathWithMountPoint) if self.im.need_parse(cache + '{}'.format(self.hash), APP_V): self.need_parse = True self.im.db_create(cache + '/{}'.format(self.hash)) self.cache_res = cache + '/{}'.format(self.hash)
def __init__(self, root, container_root, extract_deleted, extract_source, tp = 0): self.root = root self.extract_deleted = extract_deleted self.extract_source = extract_source self.account = None self.cache = ds.OpenCachePath('Tg') self.hash_code = unity_c37r.md5(container_root.AbsolutePath) self.need_parse = False self.im = model_im.IM() self.container = container_root self.tp = tp self.__find_account() if self.im.need_parse(self.cache + '/{}.C37R'.format(self.hash_code), 1): self.im.db_create(self.cache + '/{}.C37R'.format(self.hash_code)) self.need_parse = True else: self.need_parse = False
def __init__(self, root, extract_deleted, extract_source): self.root_node = root self.extract_deleted = extract_deleted self.extract_source = extract_source self.im = model_im.IM() self.cache = ds.OpenCachePath('miliao') self.hash = unity_c37r.md5(root.PathWithMountPoint) self.need_parse = False if not os.path.exists(self.cache): os.mkdir(self.cache) if self.im.need_parse(self.cache + "/{}".format(self.hash), VERSION_APP_VALUE): self.im.db_create(os.path.join(self.cache, self.hash)) self.need_parse = True else: self.need_parse = False self.account = list() self.current_login = None
def __init__(self, node, extract_source, extract_deleted, is_scripts=True): self.node = node self.extract_source = extract_source self.extract_deleted = extract_deleted self.account_list = list() self.account_dbs = dict() self.im = model_im.IM() self.cache = '' if is_scripts: self.cache = ds.OpenCachePath('Twitter') else: self.cache = "D:/Cache" self.hash = unity_c37r.md5(self.node.AbsolutePath) self.cache_db = os.path.join(self.cache, self.hash) self.need_parse = model_im.IM.need_parse(self.cache_db, AND_TWR_VERSION) if self.need_parse: self.im.db_create(self.cache_db)
def __init__(self, node, extract_deleted, extract_source): self.node = node.Parent self.extractDeleted = extract_deleted self.db = None self.im = model_im.IM() self.cachepath = ds.OpenCachePath("Tantan") md5_db = hashlib.md5() md5_rdb = hashlib.md5() db_name = self.node.AbsolutePath rdb_name = self.node.PathWithMountPoint md5_db.update(db_name.encode(encoding = 'utf-8')) md5_rdb.update(rdb_name.encode(encoding = 'utf-8')) self.cachedb = self.cachepath + "\\" + md5_db.hexdigest().upper() + ".db" self.recoverDB = self.cachepath + "\\" +md5_rdb.hexdigest().upper() + ".db" self.sourceDB = self.cachepath + '\\TantanSource' self.friend = {} self.sticker = {} self.conversation = {} self.comment_count = {}
def __init__(self, node, extract_deleted, extract_source): self.node = node self.extractDeleted = extract_deleted self.db = None self.im = model_im.IM() self.cachepath = ds.OpenCachePath("iAround") md5_db = hashlib.md5() md5_rdb = hashlib.md5() db_name = self.node.AbsolutePath rdb_name = self.node.PathWithMountPoint md5_db.update(db_name.encode(encoding='utf-8')) md5_rdb.update(rdb_name.encode(encoding='utf-8')) self.cachedb = self.cachepath + "\\" + md5_db.hexdigest().upper( ) + ".db" self.recoverDB = self.cachepath + "\\" + md5_rdb.hexdigest().upper( ) + ".db" self.sourceDB = self.cachepath + '\\iAroundSourceDB' self.account_id = '-1' self.account_name = '未知用户'
def __init__(self, node, extract_deleted, extract_source): self.node = node self.messageNode = node.Parent.GetByPath('/Message.db$') self.extractDeleted = extract_deleted self.db = None self.im = model_im.IM() self.cachepath = ds.OpenCachePath("RedBook") md5_db = hashlib.md5() md5_rdb = hashlib.md5() db_name = self.node.AbsolutePath rdb_name = self.node.PathWithMountPoint md5_db.update(db_name.encode(encoding='utf-8')) md5_rdb.update(rdb_name.encode(encoding='utf-8')) self.cachedb = self.cachepath + "\\" + md5_db.hexdigest().upper( ) + ".db" self.recoverDB = self.cachepath + "\\" + md5_rdb.hexdigest().upper( ) + ".db" self.sourceDB = self.cachepath + '\\RedBookSource' self.friend = {} self.image_url = {} self.video_url = {}
def __init__(self, root, extract_deleted, extract_source): self.node = root self.es = extract_source self.ed = extract_deleted self.account = list() self.friends = list() self.messages = list() self.blogs = list() self.search = list() self.need_parse = False cache = ds.OpenCachePath('Twitter') self.cache = cache if not os.path.exists(cache): os.mkdir(cache) #self.mb = microblog_base.BlogBase(env) self.im = model_im.IM() self.hash = unity_c37r.md5(root.PathWithMountPoint) if self.im.need_parse(cache + '/{}'.format(self.hash), VERSION_APP_VALUE): self.im.db_create(cache + '/{}'.format(self.hash)) self.need_parse = True self.db_dict = dict()
def __init__(self, node, extract_deleted, extract_source): self.node = node self.db = None self.im = model_im.IM() self.mc = model_callrecord.MC() self.cachepath = ds.OpenCachePath("Viber") md5_db = hashlib.md5() md5_rdb = hashlib.md5() db_name = self.node.AbsolutePath rdb_name = self.node.PathWithMountPoint md5_db.update(db_name.encode(encoding = 'utf-8')) md5_rdb.update(rdb_name.encode(encoding = 'utf-8')) self.cachedb = self.cachepath + "\\" + md5_db.hexdigest().upper() + ".db" self.recoverDB = self.cachepath + "\\" +md5_rdb.hexdigest().upper() + ".db" self.sourceDB = self.cachepath + '\\ViberSourceDB' self.account_id = '未知联系人' self.account_name = '未知联系人' fs = self.node.FileSystem media_folder = fs.Search('/media/0/Android/data/com.viber.voip') media_folder1 = list(media_folder)[0] if len(media_folder) != 0 else None media_folder2 = self.node.Parent.Parent self.media_folders = [media_folder1, media_folder2]
def load_im_model(): model_im_col = model_im.IM() return model_im_col