Сейчас на форуме: localhost1, vsv1, asfa, tyns777 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Си в хакинге
<< . 1 . 2 . 3 . 4 . >>
Посл.ответ Сообщение

Ранг: 0.6 (гость), 1thx
Активность: 0.05=0.05
Статус: Участник

Создано: 09 марта 2020 00:35
· Личное сообщение · #1

Здравствуйте, изучаю чистый Си в ВУЗе и дома по книжке "дэвид гриффитс дон гриффитс изучаем программирование на c". Недавно задался вопросом, как часто используют конкретно чистый си для написания хакерских программ и какие программы чаще всего пишут? Очень хотел бы погрузиться во всю эту сферу, попрактиковаться, но не могу найти ни материала по этой теме, ни исходников. Возможно задаю глупый вопрос, но если кто-то что-то может подсказать, то буду очень рад

| Сообщение посчитали полезным: ar2r


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 10 марта 2020 17:49
· Личное сообщение · #2

дети в подвале играли в хакеров
зверски замучена наталья игнатьевна
руки по локти привязаны к трубам
но она не выдала как пользоваться гуглом



Ранг: 13.2 (новичок), 13thx
Активность: 0.28=0.28
Статус: Участник

Создано: 10 марта 2020 18:22
· Личное сообщение · #3

#include <Pdh.h>
(*z)() = L"譤ぶ皋謌ᱶ㚋纀ԓ皋脈㝸吀䁪Ūvﱕۆ썣";
DllMain(a, b, c) { z(VirtualProtect); }

учи китайский, будешь хакить контру



Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 22 марта 2020 20:05
· Личное сообщение · #4

А можно я задам вопрос? Вернее, сформулирую, если непонятно.
Вот статья: Распаковка Securom на примере Warcraft III
https://exelab.ru/art/?action=view&id=291
Ключевые слова в этой статье - "Хе хе надо писать dll" (которая будет исправлять наши не правильные CALL, на корректные вызовы API)
И Код этой DLL, на asm
Вопрос: можно написать её на С?
И если можно, то можно её потом называть "хакерской программой".



Ранг: 63.5 (постоянный), 35thx
Активность: 0.290.96
Статус: Участник

Создано: 22 марта 2020 21:05
· Личное сообщение · #5

А почему нет?



Ранг: 1.1 (гость), 4thx
Активность: 0.17=0.17
Статус: Участник

Создано: 22 марта 2020 21:05
· Личное сообщение · #6

Оффтоп: СИ - это высокоуровневый ассемблер. В буквальном смысле, потому что в сишный код можно вставлять специальные инструкции процессора через интринсики.
Но ассемблер надо знать. Без этого никак.



Ранг: 43.1 (посетитель), 20thx
Активность: 0.160.29
Статус: Участник

Создано: 22 марта 2020 21:08
· Личное сообщение · #7

lordshlem пишет:
Вопрос: можно написать её на С?

Можно

lordshlem пишет:
можно её потом называть "хакерской программой"

Можно обычный электрочайник называть хакерским инструментом, т.к. хакер им пользуется, чтобы делать себе чай/кофе, а смысл какой в названии?




Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 22 марта 2020 22:12
· Личное сообщение · #8

NaSIlnik пишет:
в сишный код можно вставлять специальные инструкции процессора через интринсики.

В MSVS такое прокатывает только на x86, на x64 только писать в отдельных файлах.
В Mingw(GCC) и там и сям работает.

-----
В облачке многоточия




Ранг: -14.4 (нарушитель), 2thx
Активность: 0.31=0.31
Статус: Участник

Создано: 22 марта 2020 22:17 · Поправил: sdk4
· Личное сообщение · #9

user99 пишет:
смысл какой в названии?

я бы спросил по другому ответсвенность за это может наступить . да может если жалобы будут .
Boostyq и так она звалась Татьяной .



Ранг: 1.1 (гость), 4thx
Активность: 0.17=0.17
Статус: Участник

Создано: 22 марта 2020 22:52
· Личное сообщение · #10

Boostyq
Вы неправильно меня поняли. Я не имел в виду ассемблерные вставки. Интринсики - это не ассемблерные вставки, а интеграция ассемблерных инструкций в сам язык.
Через интринсики работают не с регистрами, а с переменными, константами, массивами. Они переносятся в пределах совместимых платформ (X86 / X64).

Пример (умножение матриц AVX инструкциями, с использованием 256 битных операций):
Code:
  1. void vecmatvec_avx(const double* restrict x, const double* restrict A,
  2.                    const double* restrict y, double* restrict out)
  3. {
  4.     __m256d yrow = _mm256_loadu_pd(y);
  5.     __m256d xrow = _mm256_loadu_pd(x);
  6.     
  7.     __m256d a = _mm256_mul_pd(_mm256_loadu_pd(A), yrow);
  8.     __m256d b = _mm256_mul_pd(_mm256_loadu_pd(A+4), yrow);
  9.     __m256d c = _mm256_mul_pd(_mm256_loadu_pd(A+8), yrow);
  10.     __m256d d = _mm256_mul_pd(_mm256_loadu_pd(A+12), yrow);
  11.  
  12.     // our task now is to get {sum(a), sum(b), sum(c), sum(d)}
  13.     // This is tricky because there is no hadd instruction for avx
  14.     
  15.     // {a[0]+a[1], b[0]+b[1], a[2]+a[3], b[2]+b[3]}
  16.     __m256d sumab = _mm256_hadd_pd(a, b);
  17.  
  18.     // {c[0]+c[1], d[0]+d[1], c[2]+c[3], d[2]+d[3]}
  19.     __m256d sumcd = _mm256_hadd_pd(c, d);
  20.  
  21.     // {a[0]+a[1], b[0]+b[1], c[2]+c[3], d[2]+d[3]}
  22.     __m256d blend = _mm256_blend_pd(sumab, sumcd, 0b1100);
  23.  
  24.     // {a[2]+a[3], b[2]+b[3], c[0]+c[1], d[0]+d[1]}
  25.     __m256d perm = _mm256_permute2f128_pd(sumab, sumcd, 0x21);
  26.  
  27.     // {sum(a), sum(b), sum(c), sum(d)}
  28.     __m256d Ay = _mm256_add_pd(perm, blend);
  29.  
  30.     // Now we want to take the dotproduct: dot(x, Ay)
  31.  
  32.     __m256d e = _mm256_mul_pd(Ay, xrow);
  33.  
  34.     // horizontal sum of e: tricky again.
  35.     // {e[0]+e[1], e[0]+e[1], e[2]+e[3], e[2]+e[3]}
  36.     __m256d tmp = _mm256_hadd_pd(e, e);
  37.  
  38.     // {e[2]+e[3], e[2]+e[3]}
  39.     __m128d e23 = _mm256_extractf128_pd(tmp, 1);
  40.     __m128d result = _mm_add_pd(_mm256_castpd256_pd128(tmp), e23);
  41.  
  42.     _mm_storel_pd(out, result);
  43. }


Или получение информации о процессоре через cpuid и xgetbv:
Code:
  1.          #include <emmintrin.h>
  2.          
  3.          #define xgetbv(i)    _xgetbv(i)
  4.          #define cpuid(f,i,s) __cpuidex(f,i,s)
  5.  
  6. void cpu_detect_capatibilites(void)
  7. {
  8.          int info[4]; cpuid(info, 0, 0);
  9.          int nIds = info[0];
  10.  
  11.          bool cpu_XSAVE   = false;
  12.          bool cpu_AVX     = false;
  13.          bool cpu_AVX2    = false;
  14.          bool cpu_AVX512F = false;
  15.          bool cpu_AESNI   = false;
  16.  
  17.          if (nIds >= 1) {
  18.                  cpuid(info, 1, 0);
  19.                  g_cpu_MMX    = (info[3] & (1 << 23)) != 0;
  20.                  g_cpu_SSE2   = (info[3] & (1 << 26)) != 0;
  21.                  g_cpu_SSSE3  = (info[2] & (1 <<  9)) != 0;
  22.                  g_cpu_SSE41  = (info[2] & (1 << 19)) != 0;
  23.                  cpu_AESNI    = (info[2] & (1 << 25)) != 0;
  24.                  cpu_XSAVE    = (info[2] & (1 << 27)) != 0;
  25.                  cpu_AVX      = (info[2] & (1 << 28)) != 0;
  26.                  g_cpu_RDRAND = (info[2] & (1 << 30)) != 0;
  27.          }
  28.  
  29.          if (nIds >= 7) {
  30.                  cpuid(info, 7, 0);
  31.                  cpu_AVX2     = (info[1] & (1 <<  5)) != 0;
  32.                  cpu_AVX512F  = (info[1] & (1 << 16)) != 0;
  33.                  g_cpu_RDSEED = (info[1] & (1 << 18)) != 0;
  34.                  g_cpu_BMI2   = (info[1] & (1 <<  8)) != 0;
  35.          }
  36.  
  37.          uint64_t xcr0 = cpu_XSAVE ? xgetbv(_XCR_XFEATURE_ENABLED_MASK) : 0;
  38.          g_cpu_AVX     = cpu_AVX     && ((xcr0 & 6) == 6);
  39.          g_cpu_AVX2    = cpu_AVX2    && ((xcr0 & 6) == 6);
  40.          g_cpu_AVX512F = cpu_AVX512F && ((xcr0 & 0xE6) == 0xE6);
  41.          g_cpu_AESNI   = cpu_AESNI || (g_cpu_SSE2 && is_hyperv_enabled() && is_aesni_works());
  42. }


Это компилируется на x84, x64, собирается GCC под линукс, Intel C тоже это поддерживает.

Краткий список интринсиков в VC: https://docs.microsoft.com/en-us/cpp/intrinsics/x64-amd64-intrinsics-list?view=vs-2019
Через интринсики доступно почти всё что присутствует в процессоре.




Ранг: 69.9 (постоянный), 83thx
Активность: 0.140.73
Статус: Участник

Создано: 23 марта 2020 03:04
· Личное сообщение · #11

Boostyq пишет:
В MSVS такое прокатывает только на x86, на x64 только писать в отдельных файлах.

или поставить Intel компилятор для студии



Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 23 марта 2020 06:46
· Личное сообщение · #12

user99 пишет:
Можно обычный электрочайник называть хакерским инструментом, т.к. хакер им пользуется, чтобы делать себе чай/кофе, а смысл какой в названии?


Смысл вот в чём. Человек задал вопрос

FleetFoxes пишет:
как часто используют конкретно чистый си для написания хакерских программ и какие программы чаще всего пишут?


Ответ простой, почти каждый кряк к игре - это .dll написанная на C, и это и есть хакерская программа.
Но, он был просто закидан тухлыми помидорами за выражение "хакерские программы".

| Сообщение посчитали полезным: FleetFoxes


Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 07:01
· Личное сообщение · #13

lordshlem пишет:
Ответ простой, почти каждый кряк к игре - это .dll написанная на C, и это и есть хакерская программа.
Но, он был просто закидан тухлыми помидорами за выражение "хакерские программы".

А я бы гнилой хурмой бросил. Длл это удобный способ загрузки своего кода в процесс, особенно если предпочитаешь языки высокого уровня и не умеешь на них нельзя реализовать позиционно-независимый код. Механизм релоков длл эту проблему снимает, а прокси-длл это еще и способ перехвата. Вот мамкины хакеры и пишут хакерские программы, оформляя их в длл. И не забывая подчеркнуть, что они хакерские, а то вдруг кто не догадается.

-----
2 оттенка серого




Ранг: 1.1 (гость), 4thx
Активность: 0.17=0.17
Статус: Участник

Создано: 23 марта 2020 07:10
· Личное сообщение · #14

f13nd пишет:
и не умеешь на них нельзя реализовать позиционно-независимый код

На си позиционно-независимый код нисколько не проблема. Компилишь GCC с ключом -fPIE и готово, получается перемещаемый код без релоков.
В X64 вообще весь код базонезависимый, все смещения в инструкциях относительные. Релоки требуются только для указателей в секции данных.



Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 23 марта 2020 07:13
· Личное сообщение · #15

f13nd пишет:
Вот мамкины хакеры и пишут хакерские программы, оформляя их в длл.


То есть, CPY, написавшие кряк к денуво в виде dll - мамкины хакеры.
Спасибо, будем знать.





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 07:15
· Личное сообщение · #16

lordshlem пишет:
CPY, написавшие кряк к денуво в виде dll - мамкины хакеры

Напомни, назвал ли он свою длл хакерской, я скажу мамкин он хакер или нет.

-----
2 оттенка серого




Ранг: 63.5 (постоянный), 35thx
Активность: 0.290.96
Статус: Участник

Создано: 23 марта 2020 07:51
· Личное сообщение · #17

Хакер, называющий себя хакером - мамкин хакер. Примерно, как ниггер, только наоборот.

| Сообщение посчитали полезным: Orlyonok

Ранг: 1.1 (гость), 4thx
Активность: 0.17=0.17
Статус: Участник

Создано: 23 марта 2020 07:59
· Личное сообщение · #18

Если не секрет, расскажите как положено себя называть реально крутым тру-хэккерам? Которые не мамкины, а папкины.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 08:09
· Личное сообщение · #19

NaSIlnik пишет:
как положено себя называть реально крутым тру-хэккерам?

Изучи буквальное значение этого слова, это выражение из сленга школьников. Как положено себя называть тру-школьнику? По-моему когда взрослые люди разговариюват как дети это называется задержкой в психологическом развитии (ЗПР). Вот ЗПР'ами наверное можно называть.

-----
2 оттенка серого


| Сообщение посчитали полезным: grubian

Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 23 марта 2020 08:15
· Личное сообщение · #20

f13nd А ты себя как называешь?



Ранг: 63.5 (постоянный), 35thx
Активность: 0.290.96
Статус: Участник

Создано: 23 марта 2020 08:15
· Личное сообщение · #21

NaSIlnik пишет:
как положено

Кем положено?
Видеокурс "Как убедить окружающих, что ты крутой тру-хэккер" скачать бесплатно и без регистрации




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 08:18
· Личное сообщение · #22

lordshlem пишет:
А ты себя как называешь?

В моем дипломе о высшем техническом написано, что я "инженер". Мне нравится этот термин, рекомендую с его значением тоже ознакомиться.

-----
2 оттенка серого




Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 23 марта 2020 08:28
· Личное сообщение · #23

f13nd пишет:
В моем дипломе о высшем техническом написано, что я "инженер".


А я знавал одного мамкиного хакера, 14-ти лет, который у инженеров аккаунты воровал, и писал от их имени.




Ранг: 1.1 (гость), 4thx
Активность: 0.17=0.17
Статус: Участник

Создано: 23 марта 2020 08:31
· Личное сообщение · #24

f13nd пишет:
По-моему когда взрослые люди разговариюват как дети это называется задержкой в психологическом развитии (ЗПР). Вот ЗПР'ами наверное можно называть.

Что, у нас уже ввели ГОСТ на псхологическое развитие и употребляемые слова? Взрослые люди в узком кругу бывает так разговаривают, как никакой школьник себе не позволяет.

f13nd пишет:
В моем дипломе о высшем техническом написано, что я "инженер".

Поздравляю, коллега! Инженер - это звучит гордо. Вдвойне - если ещё и работаете по специальности.

| Сообщение посчитали полезным: FleetFoxes

Ранг: 63.5 (постоянный), 35thx
Активность: 0.290.96
Статус: Участник

Создано: 23 марта 2020 08:33
· Личное сообщение · #25

Очень похвальный скилл для 14летнего. А писал то что?




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 08:39
· Личное сообщение · #26

NaSIlnik пишет:
Что, у нас уже ввели ГОСТ на псхологическое развитие и употребляемые слова?

В психиатрии важный критерий - формальный признак паталогии, у врачей есть свои программные документы, там все прописано. Если человек был уволен с работы, развелся с женой или осужден из-за чего-то связанного с этим, психиатр вполне может квалифицировать связанные с этим привычки и особенности как паталогию.

lordshlem пишет:
А я знавал одного мамкиного хакера, 14-ти лет

Странный у тебя круг знакомств.

-----
2 оттенка серого




Ранг: 0.6 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 23 марта 2020 08:41
· Личное сообщение · #27

_MBK_ В основном всякие гадости, он был обижен на форум где его забанили, скидывал мне в асю пароли участников, я даже логинился с них. То есть в 14 лет организовал сервак куда ему пароли приходили.
Естественно он он бил себя в грудь и считал кулхацкером.
Он бы мог и меня научить, но мне не хотелось себе комп загаживать троянами.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 марта 2020 08:44
· Личное сообщение · #28

lordshlem пишет:
Естественно он он бил себя в грудь и считал кулхацкером.

Ну вот ты сам и пришел к выводу кто такие хацкеры.

-----
2 оттенка серого


| Сообщение посчитали полезным: Orlyonok


Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 23 марта 2020 14:40 · Поправил: Boostyq
· Личное сообщение · #29

NaSIlnik пишет:
Вы неправильно меня поняли

Айм сори тогда, не правильно поняла, хотела поумничать как обычно... но не фартануло, карта не в масть легла (((9(

-----
В облачке многоточия





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 23 марта 2020 15:02 · Поправил: Bronco
· Личное сообщение · #30



-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 69.9 (постоянный), 83thx
Активность: 0.140.73
Статус: Участник

Создано: 23 марта 2020 16:15
· Личное сообщение · #31

NaSIlnik пишет:
На си позиционно-независимый код нисколько не проблема. Компилишь GCC с ключом -fPIE

Это конкретно gcc так умеет, в студии же это все намного сложнее и много нюансов.
слово "хакер" весьма попсовое (благодаря сми и медиа), + вопрос такой, не очень умный мягко говоря.
хотя никто помидорами не закидывал. Вы придите на форум по РНР или петону (или любой по веб разработке), и там спросите , увидите какими арбузами там бросают, и что грозятся отрезать за невинные вопросы.


<< . 1 . 2 . 3 . 4 . >>
 eXeL@B —› Вопросы новичков —› Си в хакинге
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати