p→String.Pointer = (char*)((UINT8*)(p→String.Pointer) — orig + (UINT8*)p);
Чуть-чуть говнокода^Wуличной магии с указателями и ... вуаля!
# ./acpi_call -p '\_OS'
Microsoft Windows NT
# uname
FreeBSD
кекеке, ну вы понели
*C
getaddrinfo(3) — Ъ
Костыли типа
switch(r→ai_family) {
case PF_INET:
...
case PF_INET6:
...
};
ненужны
На жевание ~25000 http-запросов в секунду ушло всего-лишь 60% одного 2GHz-ядра ^_^ В жевание входит выдирание TCP payload из raw IP-пакета, парсинг http-запроса и заголовков, подсчёт sha256, формирование и отправка udp-пакета с инфой коллектору. Осталось приделать параметры командной строки и конфиг и сенсор готов. ... more →
Совершенно неожиданно оказалось что парсить бинарные структуры на С куда проще и приятней чем на ruby
*C is used by:
gelraen
gelraen
Hirthwork McGillah
hirthwork
Оранжевус Охуеннус
utros
analizer
analizer
16+
238328
профессиональный говноед
ulidtko
kb
kb
Minoru
Minoru
werehuman
werehuman
4DA
4da
Nico-izo
Nico-izo
SirAnthony
SirAnthony
eoranged
eoranged
lexszero
lexszero
dorfe
dorfe
jabber
jabber
няша
generatorglukoff
L29Ah
L29Ah
Michael Pogoda
MPogoda
asmer
asmer
Лисий хвост
madInsane
Артс
arts
Mагог Магогович
magog
Марсианская улиточка
gisty
Maxim Kirenenko
part1zano
i
inst
Проба оперения
17eyes
Владимир
xaos
Oleg Tsarev
zamotivator
Maxim Barzunov
zweipluse
nstm0
nstm0
polatov
polatov
0x2207
0x2207
eurekafag
eurekafag
DOMr
DOMr
Forth EMU
emu
anonkz
anonkz
carnero
carnero
Джордж Ричмонд
richmond
Rejjin
Rejjin
K900
K900
Darth Bricktop
Like-all
nya
nya
gelraen
hirthwork
utros
analizer
238328
ulidtko
kb
Minoru
werehuman
4da
Nico-izo
SirAnthony
eoranged
lexszero
dorfe
jabber
generatorglukoff
L29Ah
MPogoda
asmer
madInsane
arts
magog
gisty
part1zano
inst
17eyes
xaos
zamotivator
zweipluse
nstm0
polatov
0x2207
eurekafag
DOMr
emu
anonkz
carnero
richmond
Rejjin
K900
Like-all
nya