- 1
- 2
- 3
- 4
function GetBiosNumber: string;
begin
result := string(pchar(ptr($FEC71)));
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+127
function GetBiosNumber: string;
begin
result := string(pchar(ptr($FEC71)));
end;
Windows NT поддерживает прерывания!!! А Вы знали?
Линух тоже. Не зря же режим работы проца называется "защищенным".
А прерывания, кстати, действительно есть до сих пор. Сейчас для скорости общение с ядром производится через sysenter/sysexit, но прерывание, емнип, никуда не делось, можно пихать аргументы и вызывать функции ядра в обход ntdll :)
P.S. Я не понял, в чем заключаются breaking news этого поста. Сможете пояснить?
Можно вызывать любые, но за это процессу грозит смертная казнь ;)
Анонимб, Вы, насколько я понял, пишете бота? Могу предложить свою помощь, если конечно, Вы снизойдете до моего уровня, сказал я, заискивающе.
Спам и взломы, к сожалению, уже давно не забава...
Насчет гроши - и в рашке вроде тоже трудятся, была где-то чисто российская сеть.
не ты поехавший, не он поехавший, это я, я поехавший!!!! )
бггг
Там где админ-священник, видимо.
Да, сын мой. Не возьми на себя греха, чужие сайты ломаючи. Возлюби ближнего своего, и помоги проектам опенсурсников избавиться от багов лукавых.
))))
Должно быть, эти слова священник-педофил внушал всем детям, которых растлил - перед тем, как заставить сосать свой вялый ...
Если там есть педофилия, то правильней будет не завалить сайт, а отправить ссылочку на него вот сюда: http://zapret-info.gov.ru
Прокатит, конечно. Но хостеру и хозяину сайта даются 3 дня, за которые они должны эту ссылку выпилить. Если не выпилят - только тогда бан ;)
помница, анониму-ХХХ тоже как то попалась на глаза вундервафля, минусующая всех кучей
у детей руки чешуца, еще 2 месяца это терпеть
Чем бы дитя не тешилось, лишь бы говнокод не спамило.
P.S. Из-за этой школоты пришлось govnotify в бесшумный режим переключать. Надоело вибро каждые 5 минут ;(
pwd = 'dc604057d2ea'
import httplib, re
from urllib import urlencode
c = httplib.HTTPConnection('govnokod.ru')
c.request('GET', '/user/login')
res = c.getresponse()
content = res.read()
m = re.search('_csrf_token" type="hidden" value="([^"]+)', content)
token = m.group(1)
cookie = res.getheader('set-cookie').split(';')[0]
# print token, cookie
c = httplib.HTTPConnection('govnokod.ru')
data = urlencode({'_csrf_token': token, 'login': usr, 'password': pwd, 'save': 'true', 'submit': 'Вхожу!'})
c.request('POST', '/user/login', data, {'Cookie': cookie, 'Content-Type': 'application/x-www-form-urlencoded'})
res = c.getresponse();
cookie += '; ' + res.getheader('set-cookie').split(';')[0]
# ...
Что это за язык?
Хм.
А ну похуй. Поставлю ка я вам всем по минусу...
[email protected]
Если меня - пожалуйста, пиши, вот мыло:
[email protected]
Если спетросянишь или обманешь - уважать тебя перестану.
anonimb84a2f6fd141: хорошо
(Trollface)
Если коллектив плюнет на тебя — ты утонешь.
Не надо так близко к сердцу принимать; это всего лишь сайт. В конце концов, солнце же не перестанет светить)
Вы так говорите, как будто я принимаю это близко к сердцу ;)
На ГК любой комментарий является сарказмом, если не указано обратное.
Под моей учеткой весь сайт,ибо я публиковал свой пароль, в надежде на бан, однако даже я себя относительно культурно веду. Во всяком случае пытаюсь изо всех сил.
Говнокод жесток и бессердечен. Здесь некому протянуть соломинку бана, и спасти тонущего новичка...
P.S. И пароль сменить, емнип, нельзя.
Модератор
Модератор
Модератор
авансом
хотя - id 5934 - не такой уж и нуб
должен уже ориентироваться что к чему
Надо нарегать четырехзначных ID, чтобы потом продавать их.
конкретно этот говнокод - при каком царе горохе оно работало? где ты его откопал?
Или у тех, кто зареген под openid его нет?
пилять, не фсе цвета поттершифаитОлолололо--ТрололололоОлолололо--Трололололо
пилять, не фсе цвета поттершифаитОлолололо--ТрололололоОлолололо--Трололололо
пилять, не фсе цвета поттершифаит
Сишачку учить не хочет,
Значит, снова нам идти в незримый бой,
Так назначено судьбой для нас с тобой —
Говнокоды, дни и ночи!
>до Делфи.
Ну ты понел.
Модератор
Устройство для передачи звука посредством генов?
Генетический фон в окружающем нас мире?
чтоб ты жил в мире порно, чтоб тебя однажды стало тошнить от этого всего, но тебе бы упорно везде рисовался извращенный секс. чтоб ты даже когда пошел попить чаю, а там у чайника член, и их него в чашку тебе течет моча.
заебал.
Это значит, что на втором этаже в кран дрочит толпа парней, так получается?
вот будет дрочилово оуу
у меня лучше, у меня есть женщины.
а ты поищи себе подобного, тут под одним ником видимо много братьев по твоему разуму
Сотрудники Яндекс
Модератор
Представитель Пентагона
Экс-министр Чехословакии
Девочкомальчик
Крокодил Гена
Герцог Йеллоунстонский
Это Lure Of Chaos сам с собой пиздит.
>Хотя я и сам не профи.
У меня уже есть готовый, мудило.
Анонимный доброжелатель
Я сваливаю с темки.
Ололо
Борис Моисеев
1) Разумеется, NT поддерживает прерывания (как любая ОС для PC, потому что другого способа получить сообщение от железа нет). Только они тут не причем.
2) софтварные прерывания (инструкция INT) поддерживаются для входа в защищенный режим старыми программами, но последние версии уже так не делают (ибо теперь нужна инструкция SYSENTER), но они тут не причем.
3) То, куда ты залез, называется BIOS DATA AREA: http://stanislavs.org/helppc/bios_data_area.html. По адресу FC00 находится Bios Data Rom, из его "хвостика" ты и попытался считать версию.
4) Для программ защищенного режима современные NT ничего такого уже не поддерживают, так как нужно это только для эмуляции DOSа, скорее всего твой шедевр не взлетит на NT, а только на 9x.
> другого способа нет
Есть - поллинг никто не отменял.
> нужна инструкция sysenter
Что-то мне намекает, что оба способа до сих пор должны работать. Можно проверить.
> но они тут не причем
А через что по-твоему сегфолт и пейджфолт обрабатываются?
> 9х
Я не уверен, там же уже была нормальная изоляция процессов (хотя в порты всё ещё давали срать, емнип). И вряд ли в первый мегабайт виртуальной памяти мапали первый мегабайт физической. Так что разве что на 3.1 или в эмуляторе доса взлетит.
Опять сам с собой пиздишь? Это диагноз, Илья.
Хочешь систему, которая полингом опрашивает и USB хаб с HID (на котором кнопочку раз в год нажимают) и сетевую карту (где кадр нужно срочно забирать из буфера)?
>>Что-то мне намекает, что оба способа до сих пор должны работать
Скорее всего да, ибо обратная совместимость, а MS о ней очень печется (кто видал список программ в shims database в App Compat Toolkit тот в цирке не смеется)
С другой стороны _хорошие_ программы напрямую сисколы не дергают: они юзают официальный API, а он под капотом поменялся в XP (кажется, тогда перешли на sysenter).
>>А через что по-твоему сегфолт и пейджфолт обрабатываются?
а где тут фолты?
Кроме того давай таки разделять:
Прерывания:
Hardware Interrupt -- пришел через APIC от какой-то шины или родился внутри APIC (в таймере, например)
Software Interrupt -- вызов инструкции int. Я сказал что прикладнику он нужен только для сисколов, но на самом деле есть еще божественный int 3 (aka 0xCC) -- софтварный брейкпоинт.
Exceptions(исключения же) генерятся самим процессором в ответ на какие-то действия:
Faults: могут быть исправлены, IP (емпним) возвращается на инструкцию, вызывавщую fault, то-есть обработчик может исправить (подругрузить страницу в память, например) и реланчнуть инструкцию
Trap: вызывается ПОСЛЕ инструкции (IP показывает на след. инструкцию) и, в принципе, на него можно забить. Обычно используется для дебага (если идет обращение по адресу, записанному в регистр для DR* или вызывается int3)
Abort: когда все оче плохо, например при обработке Fault произошел еще один Fault.
Так что pagefault это exception типа fault а не interrupt, хотя адрес обработчика pagefault наверное лежит в _Interrupt_ Description Table чтобы смущать умы.
to be cont
> срочно забирать
Дык у всех нормальных карт там давным-давно bus master. И буфер в твоей оперативке. Вроде даже драйверы 10gb/s карточек в линухе как раз на поллинге по таймеру делали, иначе даже с прерываниями по watermark'у систему штормило.
Я знал только что серьезные адаптеры позволяют выбирать через сколько кадров дергать прерывание чтобы не дергать на каждый, или же вообще управляют этим динамически: т.н. adaptive irq management, врубается через ethtool. Но вот сейчас вижу что то, о чем ты говоришь называется NAPI: https://en.wikipedia.org/wiki/New_API и похоже что является хорошим решением.
Вообще прерывания от NIC известная боль у админов, некторые админы старались привязать все прерывания к отдельному ядру (irqbalance)
Я, конечно, не настоящий железячник, но разве «USB» так и не работает — постоянным опросом? Там жеж, ЕМНИП, в протоколе прерываний хоста не предусмотрено.
Но этот поллинг только на самой USB шине, драйверу тысячи пустых пакетов в секунду не надо парсить.
HC железке: вот тебе пакет от хоста, передаёт данные
железка: отъебись
HC железке: вот тебе пакет от хоста, передаёт данные
железка: отъебись
HC железке: вот тебе пакет от хоста, передаёт данные
железка: ок, приняла
HC процу: как же эта тормозная хуйня заебала...
Ну ты понял.
Ничего не понял. Переведи на «PHP».
Это смешно, конечно. Но такая "ось" сейчас в каждом компе стоит и помогает настоящей операционке загрузиться.
>>Я не уверен, там же уже была нормальная изоляция процессов
Ну как минимум там была виртуальная память:)
>>(хотя в порты всё ещё давали срать, емнип).
Думаю что не во все: давайте будем втроем одновременно писать в IO порт видеоадаптера, и что это будет?:) Вот для досовых программ там были vxd драйвера которые "эмулировали" IO.
В TSS был IO Permission Map, и скорее всего там многое было запрещено.
>>И вряд ли в первый мегабайт виртуальной памяти мапали первый мегабайт физической
Ну где-то же он этот код откопал? Можно представить что этот код под паскаль под дос, но вряд-ли. Значит, он под винду, и у кого-то он работал. Вот на семерке у меня этот адрес даже не замаплен. Я и предположил что оно работало под 9x.
>>Так что разве что на 3.1 или в эмуляторе доса взлетит.
В DOSBox может полететь, но лучше читать тогда 0xfe061
https://github.com/Henne/dosbox-svn/blob/master/src/ints/bios.cpp (1107)