def run(self): result = { "title": "Application Makes Insecure Function Calls", "details": "", "severity": "Medium", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") matches = re.findall(self.function_calls, symbols) if matches: result.update({ "report": True, "details": "The following function symbols were \ found: * {}".format("\n* ".join(sorted(set(matches)))) }) return {"{}_result".format(self.name()): result}
def run(self): result = { "title": "Application Uses Weak Random Functions", "details": "", "severity": "Low", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") matches = re.findall(self._regex, symbols) if matches: result.update({ "report": True, "details": "The following evidence were found:\n* {}".format("\n* ".join( sorted(set(matches)))) }) return {"{}_result".format(self.name()): result}
def run(self): result = { "title": "Application Was Compiled Without Stack Smashing \ Protections", "details": "", "severity": "Medium", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") if not re.search(self._regex, symbols): result.update({ "report": True, "details": "No evidence of stack smashing protections found." }) return { "{}_result".format(self.name()): result }
def run(self): result = { "title": "Application Does Not Disable Clipboard Access", "details": "", "severity": "Medium", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") if not re.search(self._regex, symbols): result.update({ "report": True, "details": "No evidence of the application trying to disable \ clipboard access." }) return {"{}_result".format(self.name()): result}
def run(self): result = { "title": "Application Does Not Check If A Passcode Is Set", "details": "", "severity": "Low", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") matches = re.findall(self._regex, symbols) if not matches: result.update({ "report": True, "details": "No evidence of checking for passcode set found." }) return {"{}_result".format(self.name()): result}
def run(self): result = { "title": "Application Does Not Use Prepared Statements", "details": "", "severity": "Low", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") sqlite_matches = re.findall(self._sqlite_regex, symbols) matches = re.findall(self._regex, symbols) if sqlite_matches and not matches: result.update({ "report": True, "details": "Evidences of SQLite being used were found but no \ evidence of prepared statements being used was found." }) return {"{}_result".format(self.name()): result}
def run(self): result = { "title": "Application Does Not Check For Third-Party Keyboards", "details": "", "severity": "Medium", "report": False } symb_module = SymbolsModule() symb_module.binary = self.binary symbols_result, symbols = symb_module.run(), None for key in symbols_result: if key.endswith("_symbols"): symbols = symbols_result[key] if not symbols: return {"print": "Couldn't get symbols from binary."} Log.info("Analysing Symbols") if not re.search(self._regex, symbols): result.update({ "report": True, "details": "No evidence of third party keyboard detection \ functions found." }) return {"{}_result".format(self.name()): result}