LINUX.ORG.RU

Сообщения zer0cat

 

Как выделить много памяти?

Форум — Development

В Windows есть разница между памятью, выделенной в хипе (HeapAlloc) , в плане нельзя там выделить скажем 100 мегабайт (хип процесса имеет меньше, можно конечно свой создать, но это такое). И виртуальной памятью (virtualloc) где можно выделить сколько угодно (в пределах ограничений ОС, ес-но). А как в линукс? Можно ли выделить много памяти (скажем, блок на 100мб ) через malloc? Или надо иначе, через brk / mmap?

Нужен фикс. блок большого размера, который будет жить все время работы программы

 ,

zer0cat
()

Как собрать оффлайн версию gdb?

Форум — Development

Есть система, вроде как Linux ESXI, изолирована от интернета. Нельзя сделать apt-get install Нужно там дебажить софт, но никаких встроенных средств нет. Дебажить через printf не очень весело.

Реально ли собрать оффлайн версию GDB или еще какой отладчик и скопировать туда? Или подключится удаленно через ssh?

 ,

zer0cat
()

Если я нашел ошибку в PHP , куда сообщить?

Форум — Development

Предположительно нашел ошибку в РНР. В функции mb_strpos на винде. Проявляется на всех 7-8 версиях, хоть веб сервер, хоть cli.

Такой вопрос, возможно немного не по теме форума, но хз где спросить. На виндофорумах не шарят в пхп, а на пхп форумах все грустно.

Перемещено Zhbert из talks

 ,

zer0cat
()

Как узнать количество прочитанных байт?

Форум — Development

Собственно, сабж. Есть код

FILE* cmd = popen("hostname", "r");
len = fread(buf, 100, 1, cmd);
    if (len > 0)
        что-то делаем

    pclose(cmd);

Почему-то в len всегда возвращается 0, хотя данные прочитаны . Почему так?

 

zer0cat
()

ARP - существуют ли апи или надо парсить вывод?

Форум — Development

Мне нужно получать ip-адреса устройств в сети. В консоли это выводит команда arp -a. Но, существуют ли какие-то апи функции сокетов,чтобы получить этот список? Или только парсить выхлоп командной строки / открывать на чтение файл /proc/net/arp и парсить регуляркой его содержимое?

 ,

zer0cat
()

Как создать еще одну кодосекцию в ELF?

Форум — Development

Каким образом можно создать еще одну секцию кода в эльф файле , на Си ? На Асме оно понятно как, т.е.

.code
...
.code1
..

а как здесь? Или невозможно?

 , ,

zer0cat
()

Права доступа и редирект на http

Форум — Admin

Есть два вопроса по вебу, которые не могу понять. 1. Есть директория, в ней лежат картинки. Почему-то чтобы картинку можно было посмотреть, права на директорию должны быть 755 (RWX-RX-RX). Если убрать Х, то пишет ошибку 403. Но почему? Картинка это же не исполняемый файл, зачем ей выполняться?

2. Есть image.html который по ajax отправляет запрос на image.php. image.html открываю в браузере как https , но почему-то в image.php получаю $_SERVER['REQUEST_SCHEME'] как http. Откуда оно берётся? Может ли Nginx как-то редиректить на http?

 , , ,

zer0cat
()

OpenVPN , несколько клиентов

Форум — Admin

Сделал свой vpn на vps (убунту 18), все работает, но невозможно подключиться с двух и более клиентов. Добавил в конфиг сервера duplicate-cn , перезапустил, не помогло.

Что делать?

 

zer0cat
()

wget не видит часть ссылок

Форум — Web-development

Пробую скачать страницу через wget, и он почему-то не видит ссылки вида

/index.php?action=dlattach;topic=175.0;attach=3326 , точнее не качает по ним вложения. А это необходимо.

Запускаю примерно так (куки предварительно получаю другим запросом)

wget -qO- -r --level=2 --load-cookies cookies.txt http://site.com/board/index.php?topic=175.0

 

zer0cat
()

Порадовал Virtualbox

Форум — Talks

Хз куда написать, напишу сюда. Порадовал виртуалбокс. Предложил обновиться до 7 версии. Обновился. Виртуалка с зашифрованными жесткими дисками перестала запускаться. В настройках показывает,что шифрования нет. Хз как быть и что делать.

 

zer0cat
()

Клиентский TCP сокет, send или recv?

Форум — Development

Вот есть простой tcp клиент, самый обычный socket(..), connect(..) а что дальше нужно , send или recv?

Во всех мануалах «учим сокеты» после connect идет send, т.е. мы отправляем какие-то данные серверу. Но, вот я пробую соединиться с сервером DAYTIME (13 порт), там если идет запрос send, то до запроса recv уже не доходит, сервер разрывает соединение. И как быть? Если начинать общение с сервером с recv, тогда (если сервер ожидает от нас данные) вызов recv подвесит клиента на бесконечное время.

Запутался уже совсем.

 , , ,

zer0cat
()

Запуск и ожидание дочерней программы

Форум — Development

Нужно запустить дочерний процесс и дождаться от него данных. Ну например, командную строку, с командой ping , и получить результат. Есть такие вопросы: 1. Как это правильно делать в линукс? На винде будет CreateProcess / CreateThread, а тут как? fork , и в нем if (проверка дочерний или родительский процесс). Или потоки - как понял, потоки в линуксах не особо котируются?

2. Как дождаться всех данных от программы? Допустим

char buf[1024] = { 0 };

	FILE *p = popen("ping ya.ru -c 3", "r");

	if (p)
	{
		fread(buf, 1, 1024, p);
		puts(buf);
	}

	pclose(p);
Заблокирует ли fread поток до чтения всех данных или нет? Т.к. какой-то ls вернет результат сразу, а ping надо ждать.

3. Правильный ли подход код выше, или лучше создавать pipe ? Можно ли передать handle от pipe в другую программу (не в свою, где fork , а именно вот в левую, типа bash ? ) чтобы ответ пришел туда, а не в STDOUT.

 ,

zer0cat
()

NSS_init возвращает ошибку SecFailure

Форум — Development

Пишу программу, которая восстанавливает пароли пользователя с помощью библиотек Firefox. ОС - убунту.

sudo apt-get install libnss3

Далее примерно такой код

	void* nssLib = dlopen("libnss3.so",RTLD_LAZY);
	
	if(nssLib == NULL)
		{
		fprintf(stderr,"dlopen() error: %s\n", dlerror()); 	
		return 1; 
		}
	
	NSS_Init = dlsym(nssLib,"NSS_Init");
NSS_Init (тут_путь_к_профилю_лисы) 

Код прекрасно работает на убунте из WSL (подсистема на десятой винде), но при переносе на реальную убунту NSS_Init возвращает -1. Пробовал по разному, и полный путь, и относительный, и слеш в конце, и даже бинарник копировал - одинаковый результат. Документации никакой нет. Что это может быть?

 ,

zer0cat
()

Как скопировать рекурсивно данные?

Форум — Admin

Есть один сервер, на котором расположено множество папок директорий с другими папками или файлами. Как все это дело скопировать на другой сервер? Доступ есть любой (ssh, ftp). Не хочется кодить, по любому ведь есть какие-то инструменты.

 

zer0cat
()

Почему не работает -static компиляция?

Форум — Development

Подскажите, почему такое может быть. Собираю 64 битный эльф с помощью GCC, ключи такие:

CXX      := /usr/bin/x86_64-linux-gnu-g++
CC       := /usr/bin/x86_64-linux-gnu-gcc
CXXFLAGS :=  -pthread -static -std=gnu99   $(Preprocessors)
CFLAGS   := -pthread -static -std=gnu99   $(Preprocessors)
Все равно получается не-статик, потому что ldd показывает зависимость от библиотек. Собираю на убунте, а на центосе не работает.

Что я делаю не так?

 ,

zer0cat
()

Что думаете о малваре шифровальщиках?

Форум — Talks

Как известно, на винде уже лет 8 длится эпидемия малвари шифровальщиков. Кто не знает - софт запускается на машине, шифрует каким-то криптостойким алгосом все файлы и требует выкуп. Если раньше это были поделки школьников, то последние годы в игру включились игроки покрупнее, а суммы выкупов давно превысили и миллион и более (в СМИ фигурируют требования и по 50лямов).

И вот уже с полгода в тренд выходит новое направление - шифровальщики под Vmware esxi / NAS, т.е. под линуксы. Что думаете на эту тему? Понятно что это все направлено на крупные конторы, но все же, малварь для линуксов всегда считалось чем-то мифическим, а тут вполне реальное.

Образца такой малвари на руках нет, чтобы потестить. Но они есть.

 , ,

zer0cat
()

Как зарегистрировать освобождающийся домен?

Форум — Talks

Кто сталкивался с такой ерундой: домен вроде бы освободился еще вчера , но не доступен до сих пор для регистрации. Whois пишет так

paid-till: 2021-03-18

free-date: 2021-04-18

Как это может быть? Это какая-то альтернативная дата, но вроде уже везде 19 число должно быть.

зона RU

 

zer0cat
()

Можно ли в одной папке размещать десятки тысяч файлов?

Форум — Admin

Есть фотохостинг, и там папка /upload, в которой вот уже 35к картинок. Так вообще можно делать, или лучше там делить по месяцам, годам, чтобы не было все в 1 папке?

 

zer0cat
()

Open_basedir и бинарник

Форум — Development

На сервере стоит директива РНР open_basedir, которая запрещает пхп скриптам работать с файлами ниже домашней директории. Но надо кое что сделать, не отключая этой директивы. Попробовал написать на Си бинарник, закинул его рядом со скриптом, и вызвал через system(функция пхп) - не работает. И пхп скрипт, и бинарник имеют владельца root и права 777. Почему такое может быть, и как это можно обойти?

Если очень по простому, мне нужен веб интерфейс, чтобы писать в файл в /etc , но не отключая open_basedir

 , ,

zer0cat
()

Что делает этот асм-код, не могу перевести в Intel формат

Форум — Development

Есть такой код на асме, не особо понимаю, что он делает , и, соответственно, как его перевести в Intel синтаксис

xorl %%ebx, %%ebx ;xor ebx,ebx
negl %%eax ;neg eax
rcl $3, %%ebx ;rcl ebx,3
movl 0f( , %%ebx ), %%eax ;тут непонятно
jmp *%%eax ;тут тоже - переход на то, что указывает еах?
0:
.long 1f ;тоже неясно, и ниже все неясно
.long 2f
1:
: : "a" (val) : "%ebx"

jmp 3f
2:
3:

в оригинале это макрос для Си

#define IF_ZERO(val) \
asm(" xorl %%ebx, %%ebx\n\t" \
" negl %%eax\n\t" \
" rcl $3, %%ebx\n\t" \
" movl 0f( , %%ebx ), %%eax \n\t" \
" jmp *%%eax \n" \
"0: \n\t" \
" .long 1f\n\t" \
" .long 2f\n" \
"1: \n" \
: : "a" (val) : "%ebx");
#define ELSE_ZERO \
asm(" jmp 3f\n\t" \
"2: \n");
#define ENDIF_ZERO \
asm("3: \n");

 , , , ,

zer0cat
()

RSS подписка на новые темы