def __gen_numbers(self): n = { '!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]': '9', '!+[]+!![]+!![]+!![]+!![]': '5', '!+[]+!![]+!![]+!![]': '4', '!+[]+!![]+!![]+!![]+!![]+!![]': '6', '!+[]+!![]': '2', '!+[]+!![]+!![]': '3', '(+![]+([]+[]))': '0', '(+[]+[])': '0', '+[]': '0', '(+!![]+[])': '1', '!+[]+!![]+!![]+!![]+!![]+!![]+!![]': '7', '!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]': '8', '+!![]': '1', '[+[]]': '[0]', '!+[]+!+[]': '2', '[+!+[]]': '[1]', '(+20)': '20', '[+!![]]': '[1]', '[+!+[]+[+[]]]': '[10]', '+(1+1)': '11' } for i in x_range(2, 20): key = '+!![]' * (i - 1) key = '!+[]' + key n['(' + key + ')'] = str(i) key += '+[]' n['(' + key + ')'] = str(i) n['[' + key + ']'] = '[' + str(i) + ']' for i in x_range(2, 10): key = '!+[]+' * (i - 1) + '!+[]' n['(' + key + ')'] = str(i) n['[' + key + ']'] = '[' + str(i) + ']' key = '!+[]' + '+!![]' * (i - 1) n['[' + key + ']'] = '[' + str(i) + ']' for i in x_range(0, 10): key = '(+(+!+[]+[%d]))' % (i) n[key] = str(i + 10) key = '[+!+[]+[%s]]' % (i) n[key] = '[' + str(i + 10) + ']' for tens in x_range(2, 10): for ones in x_range(0, 10): key = '!+[]+' * (tens) + '[%d]' % (ones) n['(' + key + ')'] = str(tens * 10 + ones) n['[' + key + ']'] = '[' + str(tens * 10 + ones) + ']' for hundreds in x_range(1, 10): for tens in x_range(0, 10): for ones in x_range(0, 10): key = '+!+[]' * hundreds + '+[%d]+[%d]))' % (tens, ones) if hundreds > 1: key = key[1:] key = '(+(' + key n[key] = str(hundreds * 100 + tens * 10 + ones) return n
def randomagent(): BR_VERS = [ ['%s.0' % i for i in x_range(18, 50)], [ '37.0.2062.103', '37.0.2062.120', '37.0.2062.124', '38.0.2125.101', '38.0.2125.104', '38.0.2125.111', '39.0.2171.71', '39.0.2171.95', '39.0.2171.99', '40.0.2214.93', '40.0.2214.111', '40.0.2214.115', '42.0.2311.90', '42.0.2311.135', '42.0.2311.152', '43.0.2357.81', '43.0.2357.124', '44.0.2403.155', '44.0.2403.157', '45.0.2454.101', '45.0.2454.85', '46.0.2490.71', '46.0.2490.80', '46.0.2490.86', '47.0.2526.73', '47.0.2526.80', '48.0.2564.116', '49.0.2623.112', '50.0.2661.86', '51.0.2704.103', '52.0.2743.116', '53.0.2785.143', '54.0.2840.71', '61.0.3163.100' ], ['11.0'], ['8.0', '9.0', '10.0', '10.6'] ] WIN_VERS = [ 'Windows NT 10.0', 'Windows NT 7.0', 'Windows NT 6.3', 'Windows NT 6.2', 'Windows NT 6.1', 'Windows NT 6.0', 'Windows NT 5.1', 'Windows NT 5.0' ] FEATURES = ['; WOW64', '; Win64; IA64', '; Win64; x64', ''] RAND_UAS = [ 'Mozilla/5.0 ({win_ver}{feature}; rv:{br_ver}) Gecko/20100101 Firefox/{br_ver}', 'Mozilla/5.0 ({win_ver}{feature}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{br_ver} Safari/537.36', 'Mozilla/5.0 ({win_ver}{feature}; Trident/7.0; rv:{br_ver}) like Gecko', 'Mozilla/5.0 (compatible; MSIE {br_ver}; {win_ver}{feature}; Trident/6.0)' ] index = random.randrange(len(RAND_UAS)) return RAND_UAS[index].format(win_ver=random.choice(WIN_VERS), feature=random.choice(FEATURES), br_ver=random.choice(BR_VERS[index]))
def repl_arrays(self, words): for word in sorted(words.values(), key=lambda x: len(x), reverse=True): for index in x_range(0, 100): try: repl = word[index] self.js = self.js.replace('%s[%d]' % (word, index), repl) except: pass
def __onActionReceived__(self, action, phase): super(OQWidgetList, self).__onActionReceived__(action, phase) if action.sender is self.__model.obj() and phase is POST: # Wait for the model to receive it first. self.__model.objToken().wait() # Open persistent editors when items are inserted. if isinstance(action.change, ListInsert): self.clearSelection() indexes = [] for i in x_range(action.change.index, action.change.last_index + 1): index = self.__model.index(i, 0, QtCore.QModelIndex()) self.openPersistentEditor(index) indexes.append(index) if indexes: if len(indexes) > 1: self.select( QtCore.QItemSelection(indexes[0], indexes[-1]), QtCore.QItemSelectionModel.Select, indexes[-1], ) else: self.select(indexes[0], QtCore.QItemSelectionModel.Select, indexes[0]) # Select moved items. elif isinstance(action.change, ListMove): first = self.__model.index(action.change.post_index, 0, QtCore.QModelIndex()) if action.change.post_index != action.change.post_last_index: last = self.__model.index(action.change.post_last_index, 0, QtCore.QModelIndex()) selection = QtCore.QItemSelection(first, last) current = last else: selection = first current = first self.select(selection, QtCore.QItemSelectionModel.ClearAndSelect, current) # Update layout. self.__updateLayout__()