- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
/* gcc -static -Os -W -nostartfiles -fno-stack-protector -U_FORTIFY_SOURCE glibc_preinstall.c */
#include <unistd.h>
#include <signal.h>
#include <sys/utsname.h>
#ifndef MIN_KERNEL_VERSION
# error "MIN_KERNEL_VERSION not defined"
#endif
#define PRINT_MSG(msg) write(2, (msg), sizeof(msg) - 1)
#define FATAL(msg) do {PRINT_MSG(msg); kill_parent(); _exit(1);} while(0)
static void kill_parent(void)
{
pid_t pid = getppid();
if (pid < 100)
return;
PRINT_MSG("Sending SIGSTOP signal to parent process.\n");
(void) kill(pid, SIGSTOP);
}
static int is_digit(char c)
{
return c >= '0' && c <= '9';
}
static int
parse_release(const char *p)
{
unsigned int i, osversion = 0;
for (i = 0; i < 3 && *p; i++, ++p)
{
unsigned int d = 0;
for (; is_digit(*p); ++p)
d = d * 10 + (*p - '0');
if (d == 0 || d >= 255 || (i < 2 && *p && *p != '.'))
{
osversion = 0;
break;
}
osversion |= d << (16 - 8 * i);
}
return osversion;
}
static void
check_kernel_version(void)
{
struct utsname name;
if (uname(&name) < 0)
FATAL("kernel version check failed: uname syscall failed.\n");
if (parse_release(name.release) < parse_release(MIN_KERNEL_VERSION))
FATAL("kernel version check failed: KERNEL TOO OLD, "
"minimal version supported by glibc is " MIN_KERNEL_VERSION
".\n");
}
void
_start(void)
{
check_kernel_version();
_exit(0);
}
Скрипт на языке Си, проверяющий, что загружено ядро версии не меньшей чем MIN_KERNEL_VERSION (2.6.18 на момент написания). Очень красиво взрывается на ядре 3.0.
Lure Of Chaos 11.08.2011 19:23 # 0
raorn 11.08.2011 19:26 # 0
Lure Of Chaos 11.08.2011 19:29 # 0
raorn 11.08.2011 19:31 # 0
Lure Of Chaos 11.08.2011 19:34 # +1
Fai 11.08.2011 19:36 # 0
_________
|сарказм|
--------------
|
|
|
absolut 11.08.2011 21:07 # +3
bugmenot 11.08.2011 21:19 # 0
gegMOPO4 12.08.2011 17:02 # +1
raorn 11.08.2011 19:40 # 0
_________
|сарказм|
--------------
|
|
|
Fai 11.08.2011 19:42 # −2
sayidandrtfm 11.08.2011 19:33 # −1
(2+6+18) < загружено_ядро ?
raorn 11.08.2011 19:37 # 0
sayidandrtfm 11.08.2011 19:49 # −2
Lure Of Chaos 11.08.2011 19:44 # +4
2.6.18 < 3(.0.0.0)
sayidandrtfm 11.08.2011 19:54 # 0
FAKYOUINTIRNEAT 11.08.2011 21:06 # 0
absolut 11.08.2011 21:10 # 0
Fai 11.08.2011 21:13 # 0
absolut 11.08.2011 21:27 # −1
Fai 11.08.2011 21:54 # +3
CPPGovno 12.08.2011 01:35 # −4
Вы пользуетесь интерпретаторами языка Си?
raorn 12.08.2011 11:29 # −2
TheHamstertamer 12.08.2011 16:42 # +2
roman-kashitsyn 12.08.2011 20:25 # 0
j123123 30.10.2021 18:09 # 0
bormand 30.10.2021 18:10 # 0
j123123 30.10.2021 18:16 # 0
bormand 30.10.2021 18:18 # 0
j123123 30.10.2021 18:22 # +1
gegMOPO4 12.08.2011 21:57 # +3
CPPGovno 13.08.2011 00:24 # −1
inkanus-gray 12.02.2017 17:39 # 0
http://www.softintegration.com/products/chstandard/
dxd 12.02.2017 17:44 # +3
inkanus-gray 12.02.2017 17:49 # 0
https://root.cern.ch/cling
Да и сам CINT пока ещё можно скачать.
dxd 12.02.2017 18:08 # +2
А вот CINT (и ROOT, для которого он оригинально был сделан) - это выдающийся образец контента для говнокодика. История такова: в конце восьмидесятых весь церн заебался писать на фортране77 и было решено переписать все нужные либы на новый модный молодой язык - плюсы. Сразу после этого вышел фортран90, потом ещё пара ревизий фортрана, более удобных для церновского применения, но ROOT уже пустил корни и до сих пор является основной софтиной для обработки данных.
Пользоваться этим ужасом довольно стрёмно. Я где-то в районе второго курса попробовал чего-то уровня лабы на нём написать и могу сравнить этот ад с помесью винапи и матлаба. Собственно, физики из церна тоже уже почти сдались и без обёртки на питоне в рут нынче почти никто не лазает.
guest 13.08.2011 17:00 # 0
dm_fomenok 11.02.2017 20:29 # 0
Статья 105 УК РФ
bormand 11.02.2017 21:06 # +3
guest 11.02.2017 21:40 # 0
bormand 11.02.2017 22:04 # 0
guest 11.02.2017 22:08 # +2
bormand 11.02.2017 22:35 # 0
j123123 30.10.2021 18:14 # 0