LINUX.ORG.RU
ФорумTalks

Хакеры слили в сеть код игры Gwent после взлома CDRP

 


0

2

После хакерской атаки на студию CD Projekt RED, злоумышленниками были похищены исходные коды ряда игр, среди которых и Gwent. Ранее хакеры предупреждали, что если студия не предоставит выкуп, будут опубликованы исходные коды игр.

Для Ъ: https://gamingsym.in/complete-gwent-source-code-was-publically-available-to-download/

★★★

Последнее исправление: fernandos (всего исправлений: 4)

Ответ на: комментарий от t184256

Виндузятники с теория и заговора это прекрасно, а на ЛОРе ты че забыл?

Ещё один наивняк.

procedure TForm1.Button1Click(Sender: TObject);
var f: file;
begin
  AssignFile(f, 'D:/1/text.txt');
  Reset(f);
  CloseFile(f);
end;

procedure TForm1.Button2Click(Sender: TObject);
var f: file;
begin
  OpenDialog1.Execute;
  AssignFile(f, OpenDialog1.FileName);
  Reset(f);
  CloseFile(f);
end;
Полный лог Анализировал с помощью программы Process Monitor v3.3. Есть что-то подобное в GNU/Linux, чтобы проанализировать работу программ? Первая кнопка выдаёт такие события:
"Операция,""Путь"""
"Запрос раздела реестра,""HKLM"""
"Открытие раздела реестра,""HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\KnownClasses"""
"Запрос раздела реестра,""HKLM"""
"Открытие раздела реестра,""HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\KnownClasses"""
"Создание файла,""D:\1\text.txt"""
"Закрытие файла,""D:\1\text.txt"""
Всё хорошо, на моё удивление, но вторая с диалогом разрывает шаблон:
"Закрытие файла,""C:\Users\Admin\AppData\Roaming"""
"Создание файла,""C:\Users\Admin\AppData\Roaming"""
"Закрытие файла,""C:\Users\Admin\AppData\Roaming"""
"Создание файла,""C:\Users\Admin\AppData\Roaming"""
"Управление устройством I/O,""C:\Users\Admin\AppData\Roaming"""
"Закрытие файла,""C:\Users\Admin\AppData\Roaming"""
"Создание файла,""C:\Users\Admin\AppData\Roaming"""
"Управление файловой системой,""C:\Users\Admin\AppData\Roaming"""
"Закрытие файла,""C:\Users\Admin\AppData\Roaming"""
"Создание файла,""C:\Users\Admin\AppData"""
"Создание файла,""C:\Users\Admin\AppData"""
"Управление файловой системой,""C:\Users\Admin\AppData"""
"Закрытие файла,""C:\Users\Admin\AppData"""
"Создание файла,""C:\Users\Admin\AppData"""
"Закрытие файла,""C:\Users\Admin\AppData"""
"Создание файла,""C:\Users\Admin\AppData"""
"Управление устройством I/O,""C:\Users\Admin\AppData"""
"Закрытие файла,""C:\Users\Admin\AppData"""
"Создание файла,""C:\Users\Admin\AppData"""
"Управление файловой системой,""C:\Users\Admin\AppData"""
"Закрытие файла,""C:\Users\Admin\AppData"""
"Создание файла,""C:\Users\Admin"""
"Создание файла,""C:\Users\Admin"""
"Управление файловой системой,""C:\Users\Admin"""
"Закрытие файла,""C:\Users\Admin"""
"Создание файла,""C:\Users\Admin"""
"Закрытие файла,""C:\Users\Admin"""
"Создание файла,""C:\Users\Admin"""
"Управление устройством I/O,""C:\Users\Admin"""
"Закрытие файла,""C:\Users\Admin"""
"Создание файла,""C:\Users\Admin"""
"Управление файловой системой,""C:\Users\Admin"""
"Закрытие файла,""C:\Users\Admin"""
"Создание файла,""C:\Users"""
"Создание файла,""C:\Users"""
"Управление файловой системой,""C:\Users"""
"Закрытие файла,""C:\Users"""
"Создание файла,""C:\Users"""
"Закрытие файла,""C:\Users"""
"Создание файла,""C:\Users"""
"Управление устройством I/O,""C:\Users"""
"Закрытие файла,""C:\Users"""
"Создание файла,""C:\Users"""
"Управление файловой системой,""C:\Users"""
"Закрытие файла,""C:\Users"""
"Запрос раздела реестра,""HKCU"""
...
"Создание файла,""D:\"""
"Запрос об имени файла,""D:\"""
"Запрос атрибута тома,""D:\"""
"Закрытие файла,""D:\"""
"Создание файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос об имени файла,""D:\1\text.txt"""
"Создание файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Закрытие файла,""D:\1"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос основных сведений файла,""D:\1\text.txt"""
"Закрытие файла,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
"Создание файла,""D:\"""
"Запрос об имени файла,""D:\"""
"Запрос атрибута тома,""D:\"""
"Закрытие файла,""D:\"""
"Создание файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос об имени файла,""D:\1\text.txt"""
"Создание файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Закрытие файла,""D:\1"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос основных сведений файла,""D:\1\text.txt"""
"Закрытие файла,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
"Создание файла,""D:\"""
"Запрос об имени файла,""D:\"""
"Запрос атрибута тома,""D:\"""
"Закрытие файла,""D:\"""
"Создание файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос об имени файла,""D:\1\text.txt"""
"Создание файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Запрос безопасности файла,""D:\1"""
"Закрытие файла,""D:\1"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос безопасности файла,""D:\1\text.txt"""
"Запрос основных сведений файла,""D:\1\text.txt"""
"Закрытие файла,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
"Запрос открытия,""D:\1\text.txt"""
И в конце, наконец-то:
"Запрос раздела реестра,""HKLM"""
"Открытие раздела реестра,""HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\KnownClasses"""
"Создание файла,""D:\1\text.txt"""
"Закрытие файла,""D:\1\text.txt"""
Как объяснить хотя бы дубликаты действий? Почему он пытается его создать до основного действия, в момент открытия диалога? Это и есть лёгкая обфускация и перегрузка железа. В лялихе то же самое, только чуть меньше, поэтому программы работают чуть быстрее.

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от xwicked

Обожемой, дайте этой белке жёлудь, высокоуровневое невесть что делает невесть что. Ты ещё питон так запусти и удивись.

Есть что-то подобное в GNU/Linux, чтобы проанализировать работу программ?

man strace

man ltrace

Как объяснить хотя бы дубликаты действий? Почему он пытается его создать до основного действия, в момент открытия диалога?

Тем, что ты привёл код на высокоуровневое хрен пойми чем, которое делает хрен пойми че, но виновата, конечно, винда.

Это и есть лёгкая обфускация и перегрузка железа.

Это дремучесть и теории заговора.

В лялихе то же самое, только чуть меньше

Нет, там так же нет ничего неожиданного припрограмммировании на низкоуровневых ЯП и так же виноват программист при выборе невесть чего.

Шел бы ты на винфак штоле.

t184256 ★★★★★
()
Ответ на: комментарий от kott

Зря вы так, вот здесь @xwicked привёл достаточные для подтверждения его слов примеры исходных кодов и логов.
Что ещё больше может доказать его правоту, чем приведённые им примеры?

torvn77 ★★★★★
()
Ответ на: комментарий от xwicked

и что тут удивительного? диалог лезет в «recent», «favorites», также есть куча слоев совместимости со старыми виндовсами, у которых все эти пути могут быть разными

kott ★★★★★
()
Ответ на: комментарий от xwicked

Мы уже поняли, что детская психика шокирующей правды не пережила. Плохо, что тут скажешь.

pinus_nigra
()
Ответ на: комментарий от kott

Ну а как ещё объяснить то, что файл открывают и тут же ничего с ним не сделав закрывают обратно?
В чём может быть смысл этого действия?

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

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 4)
Ответ на: комментарий от torvn77

а вы подумайте сами, для начала

перед этим подумайте (ведь наверняка, считаете себя способным к рассуждениям), почему человеческая деятельность полна ошибок, оверинжиниринга, и вообще, склонна к саморазрушению

kott ★★★★★
()
Ответ на: комментарий от torvn77

от чего почистить? от проверок на наличие/валидность файла перед открытием? на доступность устройства перед захватом?

конечно будет быстрее работать, но недолго:)

kott ★★★★★
()
Ответ на: комментарий от kott

Я бы мог с вами согласится если бы это был просто никогда не работающий участок кода, но как видно из логов в том же посте он работает и довольно много.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

в юниксе - всё есть файл) в винде - объект

kott ★★★★★
()
Ответ на: комментарий от t184256

высокоуровневое невесть что делает невесть что. Ты ещё питон так запусти и удивись.

Не программист, сразу видно. Я так и хотел сказать: Хотите узнать почему ваш питон так тормозит? - Проанализируйте его действия и удивитесь мусорному коду.

xwicked ★★☆
()
Ответ на: комментарий от xwicked

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

fernandos ★★★
() автор топика
Ответ на: комментарий от torvn77

На весь лог у него 6 фактических обращений к блочному устройству, все остальные операции происходят в памяти.

Никаких секретов тут нет и заговоров тоже. Банальное дилетантство.

Не менее забавно то, что он под рутом сидит на винде в 2021 году. Ну что там, 16 лет все-таки.

mimico
()
Ответ на: комментарий от mimico

Никаких секретов тут нет и заговоров тоже

толстосумов засланец?

Создание файла,«„C:\Users\Admin\AppData\Roaming

В ОЗУ происходит? Ню-ню...

xwicked ★★☆
()
Ответ на: комментарий от kott

запусти в конце-концов стрейс на ls

Сегодня вечером сделаю и выложу. Если там тоже самое, то это докажет, что мусорный код и в лялихе есть.

xwicked ★★☆
()
Ответ на: комментарий от fernandos

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

Я, кстати, загорелся сделать туже синтетику и в десяточке. Там мне кажется будет ещё больший треш. Она же нереально тормозит на хардах, всё время что-то читает-пишет... ;)

xwicked ★★☆
()
Ответ на: комментарий от mimico

Сколько у тебя еще чудных открытий впереди, ты себе не представляешь.

«Создание файла,„„C:\Users\Admin\AppData““»
«Создание файла,„„C:\Users\Admin\AppData““»

Даже если это в ОЗУ, то что это? Два раза подряд! Раз ты вы***лся, то призываю тебя к ответу.

xwicked ★★☆
()
Ответ на: комментарий от xwicked

Раз ты вы***лся, то призываю тебя к ответу.

Ты же сумасшедший, тебе нет смысла ничего пояснять. Изучи что такое реестр, где он физически хранится, что фактически происходит когда происходит работа с его ветками, как устроена его отказоустойчивость. Про журналирование еще почитай.

Когда какую-нибудь Windows Internals прочитаешь от Руссиновича, чей Process Monitor ты используешь, тогда приходи. А доказывать веруну, что ЗОГа нет - это не моя забота.

mimico
()
Ответ на: комментарий от xwicked

хотя у меня есть подтверждение

Как у плоскоземельцев, да.

mimico
()
Ответ на: комментарий от xwicked

Почему он пытается его создать до основного действия, в момент открытия диалога? Это и есть лёгкая обфускация и перегрузка железа

У тебя перебор с поиском глубинного смысла. За всеми этими дублями стоят вполне осмысленные операции, и современный Process Monitor вполне себе показывает стэки этих действий. Система кэширует файлы и реестр, потому многие чтения/запросы являются на самом деле запросами к оперативной памяти.

byko3y ★★★★
()
Ответ на: комментарий от kott

почему человеческая деятельность полна ошибок, оверинжиниринга, и вообще, склонна к саморазрушению

Потому что это заложено в его сущность? Природой?

Расскажите детальнее, мне интересна эта тема. В том числе по поводу «почему я поступаю так а не иначе».

reprimand ★★★★★
()
Ответ на: комментарий от byko3y

...на самом деле запросами к оперативной памяти.

В первом случае этого не происходит, он чётко делает мои указания, не кешируя ничего в ОЗУ и не показывает стеки, поэтому я могу предположить, что вы объяснение притягиваете «за уши».

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от xwicked

Почитайте git blame, багрепорты, и осознайте, почему так и надо.

t184256 ★★★★★
()
Ответ на: комментарий от xwicked

запусти в конце-концов стрейс на ls

В консольной утилите врядли можно найти мусорный код - его сразу выпилят. Вот над GUI походу издеваются как могут.

openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3</home/user/v/4>
fstat(3</home/user/v/4>, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
getdents(3</home/user/v/4>, /* 5 entries */, 32768) = 144
getdents(3</home/user/v/4>, /* 0 entries */, 32768) = 0
close(3</home/user/v/4>)                  = 0
fstat(1</dev/pts/0>, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
write(1</dev/pts/0>, "1.txt  Logfile.txt  Unit1.pas\n", 30) = 30
close(1</dev/pts/0>)                    = 0
close(2</dev/pts/0>)                    = 0
exit_group(0)                           = ?
+++ exited with 0 +++
Мне тяжело было читать на английском, но я не увидел судорожного метания по фс и 3,4,5 раз открытия и закрытия одного и тоже файла или каталога.
Напишу на Lazarus такую же синтетику и выложу strace.

А можно яблочников попросить вынести наше параллельное обсуждение в отдельную тему с заголовком: «Поиск мусорного кода в программах под Windows и GNU / Linux»? Просто не хочу чтобы потом неожиданно какой-нибудь Альбатрос его снёс...

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 2)
Ответ на: комментарий от reprimand

вряд ли кто-то сможет дать приемлемый ответ, по крайней мере - пока

kott ★★★★★
()
Ответ на: комментарий от xwicked

Я покушать принёс

Напишу на Lazarus такую же синтетику и выложу strace.

Исполняемый файл 5.8МБ с отключённой отладочной информацией с оптимизацией -О4. Лог получился внушительным: 8МБ, из них эта строка:

recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
Встретилась, внимание, 32391(!) раз. Обращение к файлу 4,5 раз, но тут другой мусор. Это я бегло проглядел. Хорошо в розовых очочках? Ну-ну

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 4)
Ответ на: комментарий от Harald

и что тут криминального?

Программа в 2 кнопки, с инетом и сокетами не работает и это всё произошло за время запуска и открытия файлового диалога. Вот почему размер fpc-программ такой чудовищный и почему он медлннее остальных языков. Вам мало, а мне достаточно, там ещё куча всего лишнего. То есть современные ООП жирные не от крутости и количества фич, а от намеренного добавления мусора.

xwicked ★★☆
()
Ответ на: комментарий от fernandos

Ну не выходит считать сообщение из сокета, вот он и возвращает EAGAIN.

А он не должен был вообще этого делать. Зачем чурочкой прикидываться?

xwicked ★★☆
()
Ответ на: комментарий от xwicked

с инетом и сокетами не работает и это всё произошло за время запуска и открытия файлового диалога

это в твоем мире «не работает», фрэймворки жирные для вашего же удобства (с), а не потому что у тебя паранойя

известный пример с кодом echo https://stackoverflow.com/questions/3290683/bloated-echo-command

kott ★★★★★
()
Последнее исправление: kott (всего исправлений: 1)
Ответ на: комментарий от xwicked

А он не должен был вообще этого делать.

Разработчикам виднее. Мы говорим не про консольное приложение, а графическую программу. Она простая, да, но вы же используете высокий уровень абстракции.

fernandos ★★★
() автор топика
Ответ на: комментарий от xwicked

сокет там скорей всего юниксовый локальный, а ты делаешь слишком поспешные выводы

Harald ★★★★★
()
Ответ на: комментарий от kott

а не потому что у тебя паранойя

У юристов в книжках написано, что нужно высмеивать правдунесущих.

kott ★★★★★ (17.02.21 11:19:33) Фанатик или часть системы

Буду высвечивать вас... :D

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от Harald

...скорей всего ...

Не веришь своим глазам, хочешь оправдать систему?

Harald ★★★★★ (12.06.2018 19:02:09)Юрист-фанатик

Я пишу для здравомыслящих...

xwicked ★★☆
()
Ответ на: комментарий от xwicked

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

пруфы ищи сам

Harald ★★★★★
()
access("/home/user/.Xauthority", R_OK)    = 0
openat(AT_FDCWD, "/home/user/.Xauthority", O_RDONLY) = 5</home/user/.Xauthority>
fstat(5</home/user/.Xauthority>, {st_mode=S_IFREG|0600, st_size=51, ...}) = 0
read(5</home/user/.Xauthority>, "\1\0\0\6Comp\0\0010\0\22MIT-MAGIC-COOKIE-"..., 4096) = 51
read(5</home/user/.Xauthority>, "", 4096) = 0
close(5</home/user/.Xauthority>)          = 0
getsockname(4<socket:[133314]>, {sa_family=AF_UNIX}, [124->2]) = 0
brk(0x2303000)                          = 0x2303000
fcntl(4<socket:[133314]>, F_GETFL)      = 0x2 (flags O_RDWR)
fcntl(4<socket:[133314]>, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(4<socket:[133314]>, F_SETFD, FD_CLOEXEC) = 0
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="l\0\v\0\0\0\22\0\20\0\0\0", iov_len=12}, {iov_base="", iov_len=0}, {iov_base="MIT-MAGIC-COOKIE-1", iov_len=18}, {iov_base="\0\0", iov_len=2}, {iov_base="^\21\275\252\1x\304\17'\355\214\254\254\246\4\267", iov_len=16}, {iov_base="", iov_len=0}], 6) = 48
recvfrom(4<socket:[133314]>, "\1\0\v\0\0\0K\3", 8, 0, NULL, NULL) = 8
recvfrom(4<socket:[133314]>, "\320\253\265\0\0\0 \5\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0  \10\377\0\0\0\0"..., 3372, 0, NULL, NULL) = 3372
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="b\0\5\0\f\0\0\0BIG-REQUESTS", iov_len=20}], 1) = 20
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\1\0\0\0\0\0\1\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="\205\0\1\0", iov_len=4}], 1) = 4
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="7\0\5\0\0\0 \5\320\1\0\0\10\0\0\0\377\377\377\0\24\0\6\0\320\1\0\0\27\0\0\0"..., iov_len=44}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 44
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\10\4\0\36\0\0\0\37\0\0\0\0\0\0\0u\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 152
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="b\0\5\0\t\0 \5", iov_len=8}, {iov_base="XKEYBOARD", iov_len=9}, {iov_base="\0\0\0", iov_len=3}], 3) = 20
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\5\0\0\0\0\0\1\207U\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="\207\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f58de027f38, FUTEX_WAKE_PRIVATE, 2147483647) = 0
poll([{fd=4<socket:[133314]>, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4<socket:[133314]>, [{iov_base="\20\0\5\0\v\0\0\0UTF8_STRING\0\20\0\6\0\20\0\0\0WM_C"..., iov_len=916}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 916
poll([{fd=4<socket:[133314]>, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4<socket:[133314]>, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\7\0\0\0\0\0006\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 1088
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(4<socket:[133314]>, {msg_namelen=0}, 0) = -1 EAGAIN 

Полный лог
Давайте без всяких параной и обзываний разберёмся что на самом деле происходит? Судя по данному участку понятно, что идёт взаимодействие с иксами. Но тут 2 вопроса возникают: Почему моя программа напрямую взаимодейтсвует с ними не через API или почему это отражается в strace моей программы?
В оффтопике я понял программа отражает события только моей программы, а GNU /Linux нет такого понятия и взаимодействие идёт только как с другой программой, не частью системы? Если так, то мне нужно написать такую же синтетику на C++ + Qt и тогда станет ясно где собака порылась. Сейчас попробую.

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.