Другое С/С++ Вопрос - Ответ

Тема в разделе "C, C++", создана пользователем Jesik, 10 май 2013.

  1. barspinoff

    barspinoff Известный пользователь

    Регистрация:
    31.12.15
    Сообщения:
    92
    Лайки:
    1
    Репутация:
    0
    "nickname"? не понял. Мне нужен именно мой ник, под которым я зайду, а LocalPlayerName у меня иногда с кривыми символами отображается.
     
    #1241
  2. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
    Как читаешь? После упрочнения надо записывать ноль в конце строки.
    char text[123];
    auto len = strlen(text);
    text[len] = '\0';
     
    #1242
  3. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19.03.14
    Сообщения:
    164
    Лайки:
    156
    Репутация:
    53
    Хочу собрать в .asi все свои наработки. По /командам все раскидывать уже не вариант, хочу сделать простую менюшку.
    Начал делать

    Но почему-то кажется, что у меня адский говнокод, размер файла растет пиздец как быстро, хотелось бы подглядывать куда-нибудь. Дайте пож. ссылки на соурсы каких-нибудь ПРОСТЫХ менюшек, чтобы можно было изучить, как там все устроено, классы там, всякое такое.
     
    #1243
    iAmerican нравится это.
  4. FYP

    FYP админ какой-то

    Регистрация:
    09.03.13
    Сообщения:
    1.022
    Лайки:
    1.875
    Репутация:
    717
    никогда не видел каких-то идеальных интерфейсов в опенсорсных читах, у всех всегда всё по-своему. думал, знаю один такой вариант, хотел предложить, но сейчас глянул - тоже дерьмо. в общем, либо делать тоже как умеешь, либо использовать готовые универсальные gui - они уж точно подойдут под любые нужды. но если всё же найдёшь что-то годное - поделись, если не затруднит.
     
    #1244
    iAmerican нравится это.
  5. iAmerican

    Проверенный

    Регистрация:
    17.02.14
    Сообщения:
    324
    Лайки:
    65
    Репутация:
    11
    https://zhyk.ru/forum/showthread.php?t=840968
    Мне вот эта статья когда-то помогла. Делал тоже самое что и ты.
     
    #1245
    p1cador нравится это.
  6. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19.03.14
    Сообщения:
    164
    Лайки:
    156
    Репутация:
    53
    да-да, давно видел этот гайд на жуке, спасибо что напомнил
    получается пока как-то так
    это не столько сложно, сколько скучно и однообразно, столько всякого дерьма нужно учесть
     
    #1246
    iAmerican нравится это.
  7. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19.03.14
    Сообщения:
    164
    Лайки:
    156
    Репутация:
    53
    Жопа полыхает.
    
    samp_dll = (uint32_t)LoadLibrary("samp.dll");
    kek = (stScoreboardInfo *)(samp_dll + 0x21A0B4); //SAMP_SCOREBOARD_INFO 0x21A0B4
    
    дебаг вывод (вдруг ошибка в получении):
    sa-mp-345.png
    (предпоследнее samp_dll, последнее kek->iIsEnabled )
    проверка:
    Безымянный2.png
    все правильно. Идем дальше. Адрес 1b505d0, смотрим, ставим брекпоинт на запись
    Безымянный4.png
    разворачиваем, жмем tab, брекпоинт срабатывает
    Безымянный5.png
    Нубовопросы:
    1) какого хуя в углу на 1 скрине рендерится адрес, а не само значение
    2) является ли адрес структуры адресом первого поля? Просто тогда не добавлял бы целую структуру ради одного значения
     
    #1247
    Последнее редактирование: 11 окт 2016
  8. FYP

    FYP админ какой-то

    Регистрация:
    09.03.13
    Сообщения:
    1.022
    Лайки:
    1.875
    Репутация:
    717
    по этому адресу находится указатель на структуру, соответственно, его нужно разыменовать перед обращением к структуре.
    kek = *(stScoreboardInfo **)(samp_dll + 0x21A0B4); //SAMP_SCOREBOARD_INFO 0x21A0B4
     
    #1248
  9. Skadi

    Skadi Активный пользователь

    Регистрация:
    03.11.14
    Сообщения:
    43
    Лайки:
    7
    Репутация:
    8
    #1249
  10. iAmerican

    Проверенный

    Регистрация:
    17.02.14
    Сообщения:
    324
    Лайки:
    65
    Репутация:
    11
    #1250
  11. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.611
    Лайки:
    1.573
    Репутация:
    418
    #1251
  12. Skadi

    Skadi Активный пользователь

    Регистрация:
    03.11.14
    Сообщения:
    43
    Лайки:
    7
    Репутация:
    8
    где она там?
     
    #1252
  13. return

    return Известный пользователь

    Регистрация:
    29.07.15
    Сообщения:
    79
    Лайки:
    4
    Репутация:
    2
    как привести pPresentParam.BackBufferWidth / 2 и pPresentParam.BackBufferHeight / 2 в обычное число ?
     
    #1253
  14. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
    Всмысле в обычное?
     
    #1254
  15. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.611
    Лайки:
    1.573
    Репутация:
    418
    не делить на 2
     
    #1255
  16. return

    return Известный пользователь

    Регистрация:
    29.07.15
    Сообщения:
    79
    Лайки:
    4
    Репутация:
    2
    нет, я имею ввиду, что я получаю этим центр экрана, а как его получить в цифрах?
    что бы можно было записывать не так - pPresentParam.BackBufferWidth / 2 и pPresentParam.BackBufferHeight / 2, а допустим 640 на 512
    я конечно могу сделать под свой экран, но он ведь у всех разный, вот и вопрос возник, как получить центр экрана, без этого - pPresentParam.BackBufferWidth / 2 и pPresentParam.BackBufferHeight / 2 ?
     
    #1256
  17. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
    int a = pPresentParam.BackBufferWidth / 2;
     
    #1257
  18. return

    return Известный пользователь

    Регистрация:
    29.07.15
    Сообщения:
    79
    Лайки:
    4
    Репутация:
    2
    если использовать pPresentParam.BackBufferWidth, то я не могу его изменять.
    мне нужно получать число, которое я в дальнейшем буду изменять на своё.

    есть альтернатива pPresentParam.BackBufferWidth и pPresentParam.BackBufferHeight ?
     
    #1258
  19. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.611
    Лайки:
    1.573
    Репутация:
    418
    ты чо идиот? в чем проблема его изменения?
     
    #1259
  20. NarutoUA

    NarutoUA C++ Hokage developer
    BH Team

    Регистрация:
    26.05.13
    Сообщения:
    570
    Лайки:
    633
    Репутация:
    287
    ты чо хочешь разрешение экрана менять? так просто не получится
     
    #1260
  21. iAmerican

    Проверенный

    Регистрация:
    17.02.14
    Сообщения:
    324
    Лайки:
    65
    Репутация:
    11
    iX = GetSystemMetrics(SM_CXSCREEN) / 2;
                iY = GetSystemMetrics(SM_CYSCREEN) / 2;
     
    #1261
  22. Rapt0r6113

    Rapt0r6113 Известный пользователь

    Регистрация:
    10.07.15
    Сообщения:
    101
    Лайки:
    10
    Репутация:
    1
    Киньте ссылку на норм учебник или видосик по C++, буду благодарен
     
    #1262
  23. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
    Страуструп с++ 4 издание
     
    #1263
  24. Rapt0r6113

    Rapt0r6113 Известный пользователь

    Регистрация:
    10.07.15
    Сообщения:
    101
    Лайки:
    10
    Репутация:
    1
    спс, почитаю
     
    #1264
  25. iAmerican

    Проверенный

    Регистрация:
    17.02.14
    Сообщения:
    324
    Лайки:
    65
    Репутация:
    11
    youtube С++ уроки.
    http://cppstudio.com - лучший сайт , ИМХО
     
    #1265
  26. Rapt0r6113

    Rapt0r6113 Известный пользователь

    Регистрация:
    10.07.15
    Сообщения:
    101
    Лайки:
    10
    Репутация:
    1
    Как редактировать адреса памяти? например надо 0xB7CEE4 (бесконечный бег) сделать включённым, если спросите, почему в клео не сделать, отвечу, что для ГВ нужно(exe формат)
     
    #1266
  27. AWRage

    Проверенный

    Регистрация:
    10.07.15
    Сообщения:
    644
    Лайки:
    118
    Репутация:
    57
    bool b = *(bool *)0xB7CEE4; // read
    *(bool *)0xB7CEE4 = true; // write
     
    #1267
    Rapt0r6113 нравится это.
  28. Rapt0r6113

    Rapt0r6113 Известный пользователь

    Регистрация:
    10.07.15
    Сообщения:
    101
    Лайки:
    10
    Репутация:
    1
    благодарю
     
    #1268
  29. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
    То там по другому делать надо.
     
    #1269
  30. AWRage

    Проверенный

    Регистрация:
    10.07.15
    Сообщения:
    644
    Лайки:
    118
    Репутация:
    57
    Он спросил как редачить адреса памяти. Я ответил.
     
    #1270
  31. Woofing Giraffe

    Woofing Giraffe Известный пользователь

    Регистрация:
    14.06.15
    Сообщения:
    376
    Лайки:
    45
    Репутация:
    14
    Нужно зарандомить число от x до y включительно. Как реализовать? Пробовал так: rand() % (Count[1] - Count[0]) + Count[0];
    На числах от 1 до 9 работает, дальше бред выдает
     
    #1271
  32. FYP

    FYP админ какой-то

    Регистрация:
    09.03.13
    Сообщения:
    1.022
    Лайки:
    1.875
    Репутация:
    717
    rand() - прошлый век, не надо его юзать.
    
    #include <random>
    
    int randomInteger(int min, int max)
    {
       static std::random_device rd;
       static std::default_random_engine e1(rd());
       std::uniform_int_distribution<int> uniform_dist(min, max);
       return uniform_dist(e1);
    }
    
     
    #1272
    Woofing Giraffe нравится это.
  33. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19.03.14
    Сообщения:
    164
    Лайки:
    156
    Репутация:
    53
    Несколько вопросов, не касаемых гта:
    1)Steam. HL2: DM. На сервере использвуется VAC. Если сразу после включения игры заинжектить простую .dll, которая хукает directx, то при заходе на сервер прилетает VAC бан, или кикает, или еще че, но если заинжектить ее после подключения к серверу - все работает прекрасно. Неужели в CS:GO будет так же? dZFHfvybigc.jpg
    2)Может есть какие-нибудь хитрости в поиске различных структур в играх? Поделитесь ссылками на статьи/гайды пож. Потому что у меня, кроме как пригласить 2-3 человек на сервер и искать в памяти их хп, позицию и т.п., искать закономерности, разницу между адресами этих значений у игроков (по идее должна быть равна размеру стр-ры), других идей пока что нет.
    3)Или, может, по HL2: DM (движок Source) выкладывали хоть какие-нибудь адреса? Искать всё с нуля впадлу пзедц. Нашел исходники движка, но они старые и хер знает, сколько потерпели изменений.
     
    #1273
  34. FYP

    FYP админ какой-то

    Регистрация:
    09.03.13
    Сообщения:
    1.022
    Лайки:
    1.875
    Репутация:
    717
    @Picador
    1. насколько мне известно, инжектить dll туда, где есть встроенный античит - это плохая практика. спустя время такие дллки начинают палится, если не будут замечены античитом сразу же. почему? точно сказать не могу, но можно предположить, что неизвестные библиотеки отправляются на сервера античита для анализа, возможно даже ручного. альтернатива - внешние (external) читы, но и у них есть хуева гора нюансов.
    2. трюки есть, но они все не универсальные. например, в CE есть немало инструментов для автоматического анализа структур, в IDA Pro можно составить структуру из обращения к полям, есть даже отдельная программа ReClass, которая предназначена лишь для одной цели - разбора структур в запущенном процессе, но любые автоматические методы никак не могут гарантировать правильность распознавания, и чаще всего разбор любых структур требует ручного вмешательства.
    3. можно поискать читы с открытыми исходниками. начни с unknowncheats.me, там немало такого контента.
     
    Последние данные очков репутации:
    Devil1606: 2 Очки (побольше подобных ответов на подобные вопросы. надеюсь, не трудно) 26 ноя 2016
    #1274
    Devil1606, AWRage и p1cador нравится это.
  35. Sire

    Sire vk.com/sire_lol
    Друг

    Регистрация:
    20.10.14
    Сообщения:
    411
    Лайки:
    267
    Репутация:
    39
    int x = rand() % (B - A + 1) + A;
    я так делал

    Pawn, как пример.
    stock FractionName(playerid)
    {
        new fractionname[40];
        switch(pInfo[playerid][pMember])
        {
            case 1: { fractionname = "38"; }
            case 2: { fractionname = "64"; }
            case 3: { fractionname = "208+"; }
             case 4: { fractionname = "++102"; }
            case 5: { fractionname = "283"; }
        }
        return fractionname;
    }
    И потом хуярим например так:
    new dialog[24 + 40 + 40]; format(dialog, sizeof(dialog), "%s приглашает Вас присоединиться к %s", pInfo[playerid][pName], FractionName(playerid));
    Kak захуярить на C++ такое? Ну сток создать
     
    #1275
    Последнее редактирование модератором: 17 ноя 2016
  36. Woofing Giraffe

    Woofing Giraffe Известный пользователь

    Регистрация:
    14.06.15
    Сообщения:
    376
    Лайки:
    45
    Репутация:
    14
    char же обычный
     
    #1276
  37. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    531
    Лайки:
    123
    Репутация:
    56
    Есть две строки, одна указатель, другая массив:
    char *pstr = "string",
            str[] = "string";
    Как их сравнить?
     
    #1277
  38. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19.03.14
    Сообщения:
    164
    Лайки:
    156
    Репутация:
    53
    @BlackKnigga, название массива(str) это адрес его первого элемента.
    Передай их в соответствующую функцию/напиши сам
     
    #1278
    Последнее редактирование: 22 ноя 2016
  39. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.342
    Лайки:
    665
    Репутация:
    199
  40. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.611
    Лайки:
    1.573
    Репутация:
    418
    strcmp
     
    #1280
    RanGoo нравится это.