Aquinary
И какое их будущее)
Чупакабра
доброго времени суток. Есть вопрос по побитовым операциям. Тут пришлось кусок кода, написаный в js повторить в питоне, и есть там сдвиг с замещением нулями >>> никак не удается его повторить, и я уже не знаю в чем затык. Может кто колупал уже и подскажет что?
adel
Кто-нибудь работал с html5lib?
Чупакабра
Лучше бы скинул этот кусок кода написанный на js, больше шансов, что кто-то бы ответил
Я уже разобрался в нюансах. В js доступно только 32 бита, и там хаки с переполнением, а в питоне переполнение отсутствует, поэтому аналоги невозможны в силу неповторимости. Еще бы найти как в питоне бит знака менять, можно было бы что-то замутить.
Aquinary
Я вот думаю попробовать написать бота, который должен следить за онлайном пользователя (сайт отдаёт JSON данные со всякой инфой), и вот думаю в каком формате всё это делать. Ну что-то вроде вебсервер, на нём график периода онлайна/оффлайна по минутам, + доп. инфа, которая меняется от его действий на странице (история просмотров и т.д) БД + Django/Flask/Bottle + что там ещё?
Aquinary
Либо БД + htmlPy + что-то там для графиков?
Aquinary
Как определиться со стеком разработки?
Anonymous
либо выбрать самому по отзывам\субъективной оценке, либо обратиться к человеку, который сделает это за тебя
Aquinary
Скучно за меня
Aquinary
Есть ещё один вопрос
Aquinary
Обфуксировать питон можно, но как понимаю совершенно бесполезно
Aquinary
Тогда что делать с доступами? Вот есть человек, у него есть аккаунт. Человек делает авторизацию в софтину, без авторизации он ей не может пользоваться в полной мере... И вот думаю. Человек авторизируется, отправляет какой-то там ключ на сервер. На основнии этого ключа сервер возвращает результат... И что дальше? Человек же может захукать функцию проверки результата
Aquinary
Как вообще в опенсорс проектах такие вещи делаются?
Aquinary
Человек авторизируется, отправляет какой-то там ключ на сервер. На основнии этого ключа сервер возвращает результат... Проблема в функции, которая будет чекать этот результат на стороне клиента
Aquinary
Её же можно зачекать декомпиляциец
Aquinary
То есть по идее такое можно чекать хоть каждую секунду?
Чупакабра
То есть по идее такое можно чекать хоть каждую секунду?
Зачем? Эта операция происходит один раз. Чел вводит пароль руками, клиент не хранит пароль в себе
Aquinary
Учитывая то, что бесполезно пытаться обфуксовать код, похоже что единственный способ ограничить функционал софтины - общаться с сервером. Хотелось бы больше почитать по этой теме
Aquinary
Какие есть способы
Чупакабра
Учитывая то, что бесполезно пытаться обфуксовать код, похоже что единственный способ ограничить функционал софтины - общаться с сервером. Хотелось бы больше почитать по этой теме
Клиент может с каждым запросом слать этот токен, а сервер проверяет его на совпадение. Почитай про OAuth хоть у того же гугла
Just
Тогда подумаю как сделать
Александр
Тогда что делать с доступами? Вот есть человек, у него есть аккаунт. Человек делает авторизацию в софтину, без авторизации он ей не может пользоваться в полной мере... И вот думаю. Человек авторизируется, отправляет какой-то там ключ на сервер. На основнии этого ключа сервер возвращает результат... И что дальше? Человек же может захукать функцию проверки результата
Захукать всегда реально. Здесь вопрос качества реализации метода для антиотладки. Можно усложнить жизнь так, что реверсить будет слишком времязатратно. Что касается самой активации приложения, то здесь классика- защищенный (любая крипта над tcp или стандартный tls) транспорт. Данный ключик ты сможешь как рядом положить, так и в сам бинарник внести модификацию после активации
Чупакабра
Александр
ну или не сможешь😁
Александр
ага, а как реализовать доопустим -9<<-16 или -9>>>-16?
В питоне есть те же битовые операции что и в js. абсолютно идентично все практически
Чупакабра
В питоне есть те же битовые операции что и в js. абсолютно идентично все практически
сдвиг на отрицательное количество бит невалиден в питоне, а сдвиг вправо с замещением нулями мне не удалось реализовать
Александр
можно вопрос, а что за извращение такое- сдвиг на отрицательное число?
Александр
ну так, интересно
Чупакабра
можно вопрос, а что за извращение такое- сдвиг на отрицательное число?
я слабо понимаю логику js, если ее вообще кто-то способен понять
Александр
я в тех примерах не увидел -9«-16 такого 😁
Чупакабра
https://github.com/colblitz/yatto2/blob/master/app/util/Savefile.js 197 строка
Чупакабра
я еще на перле кусок нашел подобного, но перл я вообще не колупал, хотя там более вменяемая работа с битами
Александр
я думаю с СИ тебе даже в разы проще будет
Александр
чем такое переписывать
Александр
А чем коробочная крипта не устраивает в питоне?
Чупакабра
А чем коробочная крипта не устраивает в питоне?
тем что надо конкретный файл читать. И увы, рандомным криптоалгоритмом это не сделать
฿італій
Vitalii Savchuk: хочу познакомиться с паттернами Python, подскажите проверенный источник, плииз))
Anonymous
:l
Anonymous
Для меня паттерны = регулярки
P
на собесе только такое не сморозь)
Anonymous
Угу
Anonymous
Постараюсь :D
Peter
В данном контексте, паттеррны - это про проектирование
Peter
Т.е. некий свод общепринятых правил/способов/решений применяемых в тех или иных случаях при проектировании и разработке
Peter
https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
฿італій
Aquinary
Не по теме, но
Aquinary
Групповая политика безопасности позволяет определить белый список IP-адресов, доступных для использования?
Roman
Ребят, что за прикол? a = "{'index': {'_index': {0}, '_type': {1}, '_id': {2}}}\n{3}".format('test1', 'test2', 'test3', 'test4') Error: KeyError: "'index'"
Nickolai
вот это красивый случай)
P
ловушка для новичков)
Roman
уже дошло
Roman
спасибо
Чупакабра
ни разу не попадал на такие грабли, интересно как их грамотно обойти? не юзать же + в самом деле
Чупакабра
хотя json можно и сгенерировать из словаря...
Alex
есть ли какие нибудь функции, которые позволяют приводить числа к формату 10k, 12M, 5.6G
Alex
for i, power in enumerate(powers): подскажите как понять эту строку
Чупакабра
for i, power in enumerate(powers): подскажите как понять эту строку
enumerate нумерует элементы powers и отдает список кортежей по два элемента, один из которых элемент powers, второй его порядковый номер.
Alex
а .zfill(2)
Alex
а все понял
P
как-то смущают меня бесплатные прокси всякие
P
гоняешь свой трафик через хз пойми кого, они там снифают и веселятся
P
Они снифают а ты шифруй
проще через свой впн гонять