Это зависит от того, спалился он где-то или нет, возможно что и нет. Но конечно он может спалиться и потом, похваставшись где-нибудь о своих успехах :)
2) Поднять кошелёк самому, проверить количество денег в нём, достать паспорт, ознакомиться с паспортными данными, а потом сесть в автобус и громко отчитаться перед всеми находящимися там о своём успехе и посетовать на рассеянность прохожего №1. На всякий случай быть в маске и изменить голос (текущий вариант).
Немного не так.
2) Поднять кошелёк самому, проверить количество денег в нём, достать паспорт, ознакомиться с паспортными данными, сходить и сделать копию паспорта и других найденных документов, положить кошелёк обратно на улице, а потом сесть в автобус и громко отчитаться перед всеми находящимися там о своём успехе, рассказав, где лежит кошелёк и посетовать на рассеянность прохожего №1. На всякий случай быть в маске и изменить голос (текущий вариант).
а толку? Если ТС делал со своего IP, то найти его можно простым grep'ом по логам nginx'а, если в GET параметрах, если POST и он логгируется, то чуть сложнее
+ Если бы на моём сервисе нашли уязвимость, сообщили о ней и после фикса написали бы статью, я бы только спасибо сказал(ну и если б была возможность, отблагодарил бы материально). А не сообщить и написать статью, чтоб набежали скрпитс кидди и засрали базу — это уже какое-то вредительство.
Оно не красивее, просто в заголовочном файле стоит #define int FakeInt и препроцессор заменяет все вхождения int в том числе и int main() меняется на FakeInt main(), поэтому я сделал так, можно было ещё поменять на int32_t, например. Хотя сейчас посмотрел, можно было даже так
Забей, я как-то написал, что правильно не «Силиконовая долина», а «Кремниевая долина» и меня заминусили(самые обиженные даже в карму пошли минусовать).
#include <iostream>
#include "happy_debugging_lol.h"
auto main() -> decltype(0)
{
int a = 1;
if (a == 1 && a == 2 && a == 3)
std::cout << "WTF? Why am I seeing this?" << std::endl;
}
Не верите, что это работает? Вот содержимое файла happy_debugging_lol.h
#pragma once
class FakeInt {
public:
FakeInt(int value)
: value(value)
{
}
operator int() const
{
return value;
}
template <typename T>
bool operator==(const T& other) const
{
return true;
}
private:
int value;
};
#define int FakeInt
Вообще, можно и не писать cloud.google.com/bigquery/public-data/github сервис правда не бесплатный и не уверен, удаляют ли они исчезнувшие репозитории с гитхаба
и всё-таки лучше использовать сессию, а не id пользователя.
Немного не так.
2) Поднять кошелёк самому, проверить количество денег в нём, достать паспорт, ознакомиться с паспортными данными, сходить и сделать копию паспорта и других найденных документов, положить кошелёк обратно на улице, а потом сесть в автобус и громко отчитаться перед всеми находящимися там о своём успехе, рассказав, где лежит кошелёк и посетовать на рассеянность прохожего №1. На всякий случай быть в маске и изменить голос (текущий вариант).
А ты напиши, какой у тебя основной, товарищ майор будет благодарен и добавит тебе кармы :)
Будет обидно, если тебе не поверят, что не знаешь, а криптоанализатор уже нагревается…
А как же терморектальный криптоанализ?
Или так:
и в заголовочном файле перед define добавить:
Не верите, что это работает? Вот содержимое файла happy_debugging_lol.h