Ejemplo n.º 1
0
    def validator(self, _args):
        if _args.file:
            file = FileReader.FileReader(_args.file)
            word = file.read_file()
            scorecounter = ScoreCounter.ScoreCounter(word)
            print(scorecounter.max_from_file())

        if _args.count:
            value = ScoreCounter.ScoreCounter(_args.count)
            print("score for word: " + _args.count + ": " +
                  str(value.result(_args.count)))

        if _args.score:
            file = FileReader.FileReader('dictionary.txt')
            word = file.read_file()
            scorecounter = ScoreCounter.ScoreCounter(word)
            list_of_words_and_scores = scorecounter.count_for_all()
            list_of_words_and_scores.sort(key=lambda tup: tup[1])
            word_finder = WordFinder.WordFinder(list_of_words_and_scores,
                                                _args.score)

            if word_finder.search_a_word() is not None:
                print(random.choice(word_finder.find_all_matching_words()))

        pass
Ejemplo n.º 2
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(fileReader,
                                  [[Parser.findVarName, (['WebView '], None)],
                                   [Parser.findObjName, ('clearCache', None)]])

            webviews = found[0]
            webviewsClearCache = found[1]

            cpy = webviews.copy()
            for w in cpy:
                if not w[R.INSTR].startswith('WebView '):
                    webviews.remove(w)

            webviews = Parser.setScopes(webviews)

            # webviews have to use 'clearCache' method
            In, NotIn = Parser.diff(webviews, webviewsClearCache)

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.WARNING, self.errMsg)

            self.updateOWN(f, In, NotIn, (len(webviews) == 0))
            self.loading()
            fileReader.close()

        self.store(16, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category)
        self.display(FileReader)
Ejemplo n.º 3
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(
                fileReader,
                [[Parser.findArgName, ('getSharedPreferences', 1, None)]])[0]

            cpy = found.copy()
            for e in cpy:
                if 'SharedPreferencesHelper' in e[R.INSTR]:
                    found.remove(e)

            In, NotIn = self.checkArgument(found)

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg)

            self.updateOCN(f, In, NotIn, (len(found) == 0))
            self.loading()
            fileReader.close()

        self.store(12, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category)
        self.display(FileReader)
Ejemplo n.º 4
0
    def __init__(self, path_train_dir, is_submission=False):

        if is_submission:
            path = os.path.join('.', "reuters_train_data")
        else:
            path = path_train_dir

        logger.info('Parsing train data...')
        data_parser = dataParser.DataParser(path)
        raw_data = data_parser.parse_data()

        logger.info('parse train data COMPLETE')

        # process data
        self.data = File_reader.FileReader(raw_data)
        # self.data = pickle.load(open("data.zip", 'rb'))

        self.inv_labels = self.data.inv_labels
        # self.inv_labels = pickle.load(open("inv_labels.zip", 'rb'))

        logger.info('Creating train_features and train_labels...')

        self.train_features, self.train_labels = self.data.build_set_tfidf()
        # self.train_features = self.data.build_set_tfidf()
        # self.train_labels = pickle.load(open("train_labels.p", 'rb'))

        logger.info('Creating train_features and train_labels COMPLETE')
        logger.info('Number of train articles: %s',
                    self.train_features.shape[0])
Ejemplo n.º 5
0
    def seekCondsInFiles(javaFiles, conds):
        res = False

        for f in javaFiles:
            fileReader = FileReader(f)

            booleans = [False] * len(conds)

            line, elem = fileReader.getNextInstruction()
            clssID = fileReader.getClassID()
            constraintID = -1
            while (line != ''):
                if len([b for b in booleans if b is True]) == len(conds):
                    res = True
                    break

                if constraintID == -1 and all(word in line
                                              for word in conds[0]):
                    constraintID = clssID
                    booleans[0] = True

                for i in range(1, len(conds)):
                    if all(word in line
                           for word in conds[i]) and constraintID == clssID:
                        booleans[i] = True

                line, elem = fileReader.getNextInstruction()
                clssID = fileReader.getClassID()

            fileReader.close()

            if res:
                break

        return res
Ejemplo n.º 6
0
def parse(filename, v_opt):
    """ Parses the save file and transforms it to xml    """
    root = ET.Element("root")

    with fr.FileReader(filename) as civ5Save:
        parse_base(civ5Save, root)
        parse_compressed_payload(civ5Save, root)
Ejemplo n.º 7
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(
                fileReader,
                [[Parser.findVarName, (['KeyGenerator '], None)],
                 [Parser.findVarName, (['SecureRandom '], None)],
                 [Parser.findVarName, (['KeyGenerator.getInstance'], None)]])

            keyGenerator = Parser.setScopesWith(found[2], found[0])
            secureRandom = found[1]

            keyGenerator = Parser.setScopes(keyGenerator)
            secureRandom = Parser.setScopes(secureRandom)

            In, NotIn = Parser.scopeReachable(keyGenerator, secureRandom)

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.WARNING, self.errMsg)

            self.updateOWN(f, In, NotIn, (len(NotIn) == 0 and len(In) == 0))
            self.loading()
            fileReader.close()

        self.store(22, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, False, [self.errMsg])
        self.display(FileReader)
Ejemplo n.º 8
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(
                fileReader,
                [[Parser.findVarName, (['HttpsURLConnection '], None)],
                 [Parser.findObjName, ('setHostnameVerifier', None)]])

            httpsVars = found[0]
            hostnameVerifier = found[1]

            httpsVars = Parser.setScopes(httpsVars)
            NotIn, In = Parser.diff(httpsVars, hostnameVerifier)

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg)

            self.updateOCN(f, In, NotIn, (len(In) == 0 and len(NotIn) == 0))
            self.loading()
            fileReader.close()

        self.store(25, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, False, [self.errMsg])
        self.display(FileReader)
Ejemplo n.º 9
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader, 
								[[Parser.findArgName, ('Cipher.getInstance', 1, None)],
								 [Parser.findVarName, (['Cipher '], None)],
								 [Parser.findVarName, (['Cipher.getInstance("PBE'], None)],
								 [Parser.findObjName, ('init', None)]])

			NotIn = found[0]
			cipher = found[1]
			cipherPbe = found[2]
			cipherInit = found[3]

			cipher = Parser.setScopes(cipher)
			cipherPbe, other = Parser.diff(cipher, cipherPbe)

			In, NotIn2 = Parser.diff(cipherPbe, cipherInit)

			# Set log msg
			In = Parser.setMsg(In, R.OK)
			NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg1)
			NotIn2 = Parser.setMsg(NotIn2, R.CRITICAL, self.errMsg2)

			self.updateOCN(f, In, NotIn + NotIn2, (len(NotIn + NotIn2) == 0 and len(In) == 0))
			self.loading()
			fileReader.close()

		self.store(30, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, True, [self.errMsg2])
		self.display(FileReader)
Ejemplo n.º 10
0
    def searchPermissionChecking(self, serviceName):
        self.filter('android.app.Service')
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            listClss, listFunc = Parser.getClassNFunc(fileReader)

            whitelist = ["checkCallingPermission(", "checkCallingPermission ("]
            for clss in listClss:
                if serviceName.split('.')[-1] in clss[R.INSTR]:
                    isOk = False
                    for func in listFunc:
                        if func[R.CLASSID] == clss[R.CLASSID]:
                            if any(elem in func[R.INSTR]
                                   for elem in whitelist):
                                isOk = True
                                break

                    return isOk

            self.loading()
            fileReader.close()

        return False
Ejemplo n.º 11
0
def parse(filename):
    out = odict()
    with fr.FileReader(filename) as f:
        out['base'] = parse_base(f)
        out['dlc'] = parse_dlcs(f)
        out['blocks'] = parse_blocks(f)
        out['compressed'] = parse_compressed(f)
    return out
Ejemplo n.º 12
0
    def fetch_data(self):
        array1 = {}

        for i in range(0, len(self.tblname)):
            if not (self.tblname[i] in self.database.keys()):
                filer = FileReader(self.tblname[i])
                filer.fileRead()
                array1 = filer.hashData()
                self.database[self.tblname[i]] = array1
Ejemplo n.º 13
0
    def __init__(self, base_dir):
        super().__init__()

        self.file_reader = FileReader.FileReader()
        self.rst_renderer = RSTRenderer.RSTRenderer()

        self.base_dir = base_dir
        self.static_dir = base_dir + 'static/'
        self.pages_dir = base_dir + 'static/rst/'
Ejemplo n.º 14
0
    def run(self):
        self.loading()

        if self.manifest != None:
            xmlReader = XmlReader(self.manifest)

            # Check if READ_EXTERNAL_STORAGE is in manifest file
            permissions = xmlReader.getArgsTag("uses-permission")
            readOnExternalStorage = self.checkReadOnExternalStorage(
                xmlReader, permissions)

            if readOnExternalStorage:
                filt = Filter(self.directory, [
                    'android.content.Context', 'android.content.*',
                    'android.*', 'android', 'android.content'
                ])
                javaFiles = filt.execute()

                if len(javaFiles) > 0:
                    self.maxFiles = len(javaFiles)
                else:
                    self.loading()
                    self.updateN()

                for f in javaFiles:
                    fileReader = FileReader(f)

                    found = Parser.finder(
                        fileReader,
                        [[Parser.findLine, ([['getExternalFilesDir(']], None)],
                         [Parser.findLine, ([['heck', 'alidity']], None)]])

                    inStream = found[0]
                    validator = found[1]

                    # Check if each FileInputStream have a function which check validity of data in its scope
                    In, NotIn = self.checkValidity(inStream, validator)

                    # Set log msg
                    In = Parser.setMsg(In, R.OK)
                    NotIn = Parser.setMsg(NotIn, R.WARNING, self.errMsg)

                    self.updateOWN(f, In, NotIn,
                                   (len(NotIn) == 0 and len(In) == 0))
                    self.loading()
                    fileReader.close()

            else:
                self.loading()
                self.updateN()

            xmlReader.close()

        self.store(14, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category)
        self.display(FileReader)
Ejemplo n.º 15
0
def parse(filename):
    """ Parses the save file and transforms it to xml    """
    root = ET.Element("root")

    with fr.FileReader(filename) as civ5Save:
        parse_base(civ5Save, root)
        parse_compressed_payload(civ5Save, root)

    tree = ET.ElementTree(root)
    tree.write(filename + '.transformed.xml')
 def openfiles(self):  #metoda
     osSpecificFiles = []
     #konwertowanie ścieżek do plików na format specyficzny dla danego systemu operacyjnego
     root = filedialog.askdirectory(
         initialdir=".",
         title="Wybierz folder",
     )
     for path, subdirs, files in os.walk(root):
         for name in files:
             name = os.path.join(path, name)
             file = os.path.abspath(name)
             osSpecificFiles.append(file)
     fr = filereader.FileReader()  #inicjowanie klasy fileReader
     fr.readFiles(osSpecificFiles, root)
Ejemplo n.º 17
0
def main():
    #fileReader = FileReader.FileReader("testFile.txt")
    fileReader = FileReader.FileReader("Main.jack")
    tokenizer = Tokenizer.Tokenizer(fileReader)

    while not tokenizer.done:
        tokenizer.getToken()

    tokenizer.fillDict()
    #tokenizer.printFormatted()
    tokenizer.printTokens()
    tokenizer.toFile("MainT.xml")

    fileReader = FileReader.FileReader("SquareGame.jack")
    tokenizer = Tokenizer.Tokenizer(fileReader)

    while not tokenizer.done:
        tokenizer.getToken()

    tokenizer.fillDict()
    # tokenizer.printFormatted()
    tokenizer.printTokens()
    tokenizer.toFile("SquareGameT.xml")
Ejemplo n.º 18
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(
                fileReader,
                [[Parser.findArgName, ('Cipher.getInstance', 0, None)],
                 [Parser.findArgName, ('MessageDigest.getInstance', 0, None)],
                 [Parser.findArgName, ('Mac.getInstance', 0, None)],
                 [Parser.findArgName, ('Signature.getInstance', 0, None)]])

            cipher = found[0]
            message = found[1]
            mac = found[2]
            sign = found[3]

            In, NotIn = self.checkCryptoArg(cipher,
                                            [['AES', 'CBC'], ['AES', 'GCM']])

            tmp1, tmp2 = self.checkCryptoArg(message, [['SHA-2'], ['SHA2']])
            In += tmp1
            NotIn += tmp2

            tmp1, tmp2 = self.checkCryptoArg(
                mac, [['SHA-2', 'HMAC'], ['SHA2', 'HMAC']])
            In += tmp1
            NotIn += tmp2

            tmp1, tmp2 = self.checkCryptoArg(
                sign, [['SHA-2', 'ECDSA'], ['SHA2', 'ECDSA']])
            In += tmp1
            NotIn += tmp2

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.WARNING, self.errMsg)

            self.updateOWN(f, In, NotIn, (len(NotIn) == 0 and len(In) == 0))
            self.loading()
            fileReader.close()

        self.store(29, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, True)
        self.display(FileReader)
Ejemplo n.º 19
0
    def __init__(self, xmlDoc, searchTags=None):

        self.reader = FileReader.FileReader(xmlDoc)

        self.ILLEGALCHARS = set(["\t", "\n", "\r"])

        if searchTags:
            self.searchTags = searchTags  # user specified search tags

        else:
            self.searchTags = set(
                ["seg-source", "mrk", "target", "source", "st"]
            )  # necessary source tags to find SDLXLIFF and XLIFF source/target segs

        self.tagStack = []  # keep track of embedded tag tree

        self.charBuffer = ""  # for keeping track of '>' and '<' and '/' once char has been read in from file reader
Ejemplo n.º 20
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader, 
								[[Parser.findVarName, (['.openConnection('], None)],
								 [Parser.findVarName, (['HttpsURLConnection '], None)],
								 [Parser.findObjName, ('setSSLSocketFactory', None)]
								])

			# Get all variables which use 'openConnection' method
			openConnections = found[0]
			# Get all variables names which are 'HttpsURLConnection'
			httpsVars = found[1]
			# Get all variables which use 'setSSLSocketFactory'
			varWithSocketFactory = found[2]

			# Set scope for variable declared with https
			httpsVars = Parser.setScopes(httpsVars)

			# Check if all 'openConnection' method used are for an 'HttpsURLConnection' variable
			In, NotIn = Parser.diff(httpsVars, openConnections, True)

			# Set log msg
			NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg1)
			
			# Check if all 'HttpsURLConnection' variables call 'setSSLSocketFactory' method: a TrustManager must be used !
			In, NotIn2 = Parser.diff(In, varWithSocketFactory)

			# Check if variables which call 'openConnection' is done in a 'try{}catch{}'
			In2, NotIn2 = self.remove_trycatch(NotIn2)

			In = In + In2
			In = Parser.setMsg(In, R.OK)
			NotIn2 = Parser.setMsg(NotIn2, R.CRITICAL, self.errMsg2)
			NotIn = NotIn + NotIn2

			self.updateOCN(f, In, NotIn, (len(openConnections) == 0))
			self.loading()
			fileReader.close()

		self.store(5, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category)
		self.display(FileReader)
Ejemplo n.º 21
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader, 
								[[Parser.findLine, ([['.moveSharedPreferencesFrom'], ['.moveDatabaseFrom']], None)]])[0]

			# Set log msg
			found = Parser.setMsg(found, R.WARNING, self.errMsg)

			self.updateWN(f, found)
			self.loading()
			fileReader.close()

		self.store(31, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, True)
		self.display(FileReader)
Ejemplo n.º 22
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader, 
								[[Parser.findLine, ([['.getCacheDir()'], ['.getExternalCacheDir()']], None)]])[0]

			# Set log msg
			found = Parser.setMsg(found, R.WARNING, self.errMsg)

			self.updateWN(f, found)
			self.loading()
			fileReader.close()

		self.store(11, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, True)
		self.display(FileReader)
Ejemplo n.º 23
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader,
									[[Parser.findVarName, (['Intent '], None)],
									 [Parser.findObjName, ('setData', None)],
									 [Parser.findObjName, ('addFlags', None)]])


			# Get all intents names
			intents = found[0]
			# Get all intents which use 'setData' method
			intentsWithSetData = found[1]
			# Get all intents which use 'addFlags' method
			intentsWithAddFlags = found[2]

			intents = Parser.setScopes(intents)
			intentsWithSetData = Parser.setScopesWith(intentsWithSetData, intents)
			intentsWithAddFlags = Parser.setScopesWith(intentsWithAddFlags, intents)

			# Check arg given to 'setData'
			In, NotIn = self.checkSetDataArg(fileReader, intentsWithSetData)

			# Set log msg
			NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg1)

			# Check arg given to 'addFlags'
			In, NotIn2 = self.checkAddFlagsArg(In, intentsWithAddFlags)

			# Set log msg
			NotIn2 = Parser.setMsg(NotIn2, R.CRITICAL, self.errMsg2)

			NotIn = NotIn + NotIn2

			self.updateOCN(f, In, NotIn, (len(NotIn)  == 0 and len(In) == 0))
			self.loading()
			fileReader.close()

		self.store(9, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, False, [self.errMsg2])
		self.display(FileReader)
Ejemplo n.º 24
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			# Look for depreciated functions
			found = Parser.finder(fileReader, 
								[[Parser.findLine, ([['DexClassLoader', 'new']], None)]])[0]

			# Set log msg
			found = Parser.setMsg(found, R.CRITICAL, self.errMsg)

			self.updateCN(f, found)
			self.loading()
			fileReader.close()

		self.store(24, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, True)
		self.display(FileReader)
Ejemplo n.º 25
0
	def run(self):
		self.loading()

		for f in self.javaFiles:
			fileReader = FileReader(f)

			found = Parser.finder(fileReader, 
								[[Parser.findVarName, (['SSLSocket '], None)],
								 [Parser.findVarName, (['SSLSession '], None)],
								 [Parser.findVarName, (['getSession()'], None)],
								 [Parser.findObjName, ('getSession', None)],
								 [Parser.findVarName, (['HostnameVerifier '], None)],
								 [Parser.findVarName, (['HttpsURLConnection.getDefaultHostnameVerifier'], None)]])

			sslSocket = found[0]
			sslSession = found[1]
			getSessionName = found[2]
			getSessionObj = found[3]
			hostnameVerifier = found[4]
			defaultHostnameVerifier = found[5]

			sslSocket = Parser.setScopes(sslSocket)
			sslSession = Parser.setScopes(sslSession)
			hostnameVerifier = Parser.setScopes(hostnameVerifier)

			# get SSLSocket which call and don't call getSession method
			tmp, NotIn = Parser.diff(sslSocket, getSessionObj)

			# get HostnameVerifier which call or not call 'getDefaultHostnameVerifier'
			host, NotIn2 = Parser.diff(hostnameVerifier, defaultHostnameVerifier)

			In, NotIn3 = self.checkIfVerifyIsCalled(fileReader, host, sslSession)

			In = Parser.setMsg(In, R.OK)
			NotIn = Parser.setMsg(NotIn + NotIn3, R.CRITICAL, self.errMsg)
			NotIn2 = Parser.setMsg(NotIn2, R.CRITICAL, self.errMsg2)

			self.updateOCN(f, In, NotIn + NotIn2, (len(In) == 0 and len(NotIn + NotIn2) == 0))
			self.loading()
			fileReader.close()

		self.store(26, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category, False, [self.errMsg])
		self.display(FileReader)
Ejemplo n.º 26
0
	def run(self):
		self.loading()
		
		# Check if Google Play Services is used
		if os.path.isdir(self.directory + '/sources/com/google/android/gms'):

			for f in self.javaFiles:
				fileReader = FileReader(f)

				search = Parser.finder(fileReader,
									[[Parser.findArgName, ('ProviderInstaller.installIfNeededAsync', 0, None)],
									 [Parser.findArgName, ('ProviderInstaller.installIfNeeded', 0, None)]])
				search = search[0] + search[1]
				
				if len(search) > 0:
					# Case where it's OK
					search = Parser.setMsg(search, R.OK)
					self.updateON(f, search)

				if len(search) > 0:
					self.loading(True)
					break
				else:
					self.loading()

				fileReader.close()

			# Case where there is no call to installIfNeededAsync or installIfNeeded
			if len(self.results) == 0:
				elem = {}
				elem[R.INSTR] = ''
				search = [elem]
				search = Parser.setMsg(search, R.CRITICAL, self.errMsg)
				
				self.updateC('nothing', search)
				
		else:
			self.updateN()

		self.store(13, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText, self.category)
		self.display(FileReader)
Ejemplo n.º 27
0
    def run(self):
        self.loading()
        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(
                fileReader,
                [[Parser.findVarName, (['Intent '], None)],
                 [Parser.findVarName, (['Intent', 'new'], None)],
                 [Parser.findArgName, ('bindService', 0, None)],
                 [Parser.findArgName, ('startService', 0, None)],
                 [Parser.findArgName, ('sendOrderedBroadcast', 0, None)]])

            intents = found[0]
            intentsInstatiation = found[1]
            fctCallingIntent = found[2] + found[3] + found[4]

            intents = Parser.setScopes(intents)
            intentsInstatiation = Parser.setScopesWith(intentsInstatiation,
                                                       intents)

            # 'In' will contain all intents used by 'bindService', 'startService’, 'sendOrderedBroadcast' or 'startActivity'
            In, NotIn = Parser.diff(intentsInstatiation, fctCallingIntent)

            # Check if intents are explicit or implicit
            NotIn = self.checkIfExplicit(In)
            # Case where intent is instantiated in an argument position
            NotIn2 = self.checkArg(fctCallingIntent)

            NotIn = NotIn + NotIn2

            # Set log msg
            NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg)

            self.updateCN(f, NotIn)
            self.loading()
            fileReader.close()

        self.store(18, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, False, [self.errMsg])
        self.display(FileReader)
Ejemplo n.º 28
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            found = Parser.finder(fileReader, [[
                Parser.findLine,
                ([['.createDeviceProtectedStorageContext']], None)
            ]])[0]

            # Set log msg
            found = Parser.setMsg(found, R.WARNING, self.errMsg)

            self.updateWN(f, found)
            self.loading()
            fileReader.close()

        self.store(32, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, True)
        self.display(FileReader)
Ejemplo n.º 29
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            listClss, listFunc = Parser.getClassNFunc(fileReader)

            In, NotIn = self.check(listClss, listFunc)

            # Set log msg
            In = Parser.setMsg(In, R.OK)
            NotIn = Parser.setMsg(NotIn, R.CRITICAL, self.errMsg)

            self.updateOCN(f, In, NotIn, (len(In) == 0 and len(NotIn) == 0))
            self.loading()
            fileReader.close()

        self.store(17, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category)
        self.display(FileReader)
Ejemplo n.º 30
0
    def run(self):
        self.loading()

        for f in self.javaFiles:
            fileReader = FileReader(f)

            # Look for depreciated functions
            found = Parser.finder(fileReader, [[
                Parser.findLine,
                ([['INADDR_ANY'], ['localhost'], ['127.0.0.1']], True, None)
            ]])[0]

            # Set log msg
            found = Parser.setMsg(found, R.WARNING, self.errMsg)

            self.updateWN(f, found)
            self.loading()
            fileReader.close()

        self.store(19, self.AndroidOkMsg, self.AndroidErrMsg, self.AndroidText,
                   self.category, True)
        self.display(FileReader)