Post:#471944 Date:06.06.2015 (00:41) ... 21 августа 1991 года закончился августовский путч в СССР-
24 августа 1991 в центре Киева. Люди приветствуют провозглашение независимости
25 августа 1991 года Линус Товальдс опубликовал ядро Linux Date: 25 Aug 91 20:57:08 GMT
Просто совпадение? Можно быть, но есть еще много других совпадений.
Главное- это одинаковая методика зомбирования адептов Линукса и Нэзалежной.
Линуксоидов в мире точно столько же сколько и укропов- около 1 %.
О чем не спросишь линуксоида- ответ : хто нескаче тотмастдай
дед, C-компилятор
> выдает промежуточный ассемблерный файл
отнюдь не всегда, а только по запросу.
Выдает и создает - разные понятия. Создает всегда как промежуточный результат. А выдает по запросу.
Это основной принцип всех компиляторов с яву.
Если сомневаешься- перемести файл tasm.exe в какую нибудь временную папку и попробуй скомпилить без него.
Есть еще новые системы у мелкософта- они создают промежуточный байт код- но это примерно то же самое.
di_mon Пост: 605508 От 28.Nov.2018 (19:15)
Переводим процессор в режим реальных адресов.
mov eax,cr0
and al,0feh ; Сбрасываем бит PE.
mov cr0,eax ; Процессор перешёл в режим реальных адресов.
И всё- нет никакой защиты.
А ну-ка, Дед, проделай-ка такой хакинг из юзерспейса в Linux на практике. Ждём с нетерпением! Только повторяю, от имени обычного пользователя, а то рутом и дурак сможет. Root он на то и root, что ему всё позволено.
Matroskin Пост: 605999 От 03.Dec.2018 (18:25)
Ждём с нетерпением!
Нифига себе у тебя терпелка-12 лет уже разговор идет, а ты еще до сих пор не понял как это делать. Другие за это время два вуза заканчивают, а ты еще тэги в обычном форуме не можешь расставить правильно, а другие вон файл переместить не могут, чтобы компилятор не нашел его.
Еще раз- по слогам.
1-Это делается только в линухе. Понятно? Не в винде, как некоторые пытаются тут примеры привести.
Почему только в линухе-
В линухе общий стэк юзера и ядра. Это позволяет юзеру знать адрес строки , где записан идентификатор- номер его задачи.
В винде стеки разделены. и юзер не знает по какому адресу в памяти ось записала эту строчку.
2- этот номер обычно создает компилятор, но может задать его и сам программер. Но при этом может задать такой номер- что его двоичный код будет точно соответствовать коду нужной тебе программки- там всего 256 байт на все про все выделяется.
3- этот код- номер программы ядро размещает в своем пространстве ядра, и в стеке ядра виден адрес начала этого кода.
Нужно только попросить ядро запустить задачу с этого адреса. Код уже находится в пространстве ядра- и выполняется с привилегиями ядра.
4- чтобы твой код был похож на идентификатор- нужно писать его как строковую переменную- с ноликом на конце, и чтобы ни одного нолика не было внутри кода. Для этого нужно писать код даже не просто на асме, а в машинных кодах. Но он должен выполнять те же функции. что и написанный выше код на асме.
Как это делается - раньше знали если не все, то многие.[ссылка]
Кстати обрати внимание- раньше сайт wasm был в домене ru , но кому то не понравилось, что эти знания были доступны всем, и сайт грохнули. Теперь он в индии живет- индийским программистам пока разрешено это знать, при условии что они еще и русский язык знают.
Эфиродомен Пост: 606029 От 04.Dec.2018 (02:44)
(среда - Borland C++ Builder 6)
Что ты хвостом вертеть начал, подозрительно похоже на поведение всех иуд.
У тебя на картинке видно Builder 5.5 , а 5.0 последняя версия, которая поддерживает реальный режим , шестерочка уже совсем другая песня.
А линухе работает гнутый си совместно с гнутым ассемблером, чтобы можно было в реальном режиме работать . Без ассемблера там делать нечего.
ибо есть скопцы, которые из чрева матернего родились так; и есть скопцы, которые оскоплены от людей; и есть скопцы, которые сделали сами себя скопцами
А это вообще песня:
В прошлом веке магия кода пользовалась почтением, а ремесленный подход к программированию, которым грешат многие нынешние адепты, был не так распространён. В те времена заклинание кода было популярно, особенно среди заклинателей демонов. Таинственные маги древности обладали невероятными на взгляд современного обывателя способностями
> Что ты хвостом вертеть начал, подозрительно похоже на поведение всех иуд.
Сам ты иуда, а точнее, обманщик.
А может, и иуда
> У тебя на картинке видно Builder 5.5 , а 5.0 последняя версия, которая
> поддерживает реальный режим , шестерочка уже совсем другая песня.
Если ты имеешь ввиду отосланный тебе ранее пример gp.obj ,
то это именно оригинальный файл из поставки BCB6 без установленных сервис-паков.
Если не веришь - можешь посмотреть сам, что находится в этом пакете.
Во-вторых, речь о конкретной версии какого-либо компилятора тут не велась.
Если для тебя это что-то меняет, вот тебе свежескомпилированный BCB6 .obj
от HelloWorld (прикреплён), там хоть и прописана иная версия компилятора (5.6),
но принципиально ничего не меняется
- ни следа ассемблерных мнемоник, как его не переименовывай.
Любое твоё утверждение в этом разговоре опровергнуто
- включая и то, где ты говорил об обязательной необходимости наличия tasm
для успешной компиляции.
Уж извини, устанавливать пятую или ещё более ранние версии Билдера,
дабы тебе потрафить, я не буду.
Такая же ситуация и практически со всеми остальными
хоть сколько-нибудь современными C-компиляторами
(точно могу сказать о BCB5, BCB4, BCB3, VC 2..6, VS2012, VS2017,
xlC(не помню версию), WatcomC ver. 9 - ver.11, SymantecC 6 и тд и тп)
- при компиляции программы на чистом С в обьектный или же в исполняемый файл
им не требуется наличие внешнего ассемблера.
> а другие вон файл переместить не могут, чтобы компилятор не нашел его.
это ты обо мне ?
Что-то я сомневаюсь, чтобы компилятор нашёл tasm32.exe, перемещённый
из C:\Program Files (x86)\Borland\CBuilder6\Bin\ в C:\Misc\TT\,
при том, что C:\Misc\... в PATH отсутствует.
и вот ещё что
> Еще раз- по слогам. 1-Это делается только в линухе. Понятно?
Итак, по-слогам :
- ты утверждал, что .obj - файл содержит ассемблерные мнемоники - оказалось, нет
- ты утверждал, что для компиляции программы на чистом C
в объектный или исполняемый файл нужен внешний ассемблер (tasm)
- оказалось, нет
- твоё утверждение о том, что linux - операционка,
которая разрабатывалась для студентов - ложь,
об этом недвусмысленно высказался Торвальдс
- твоё утверждение о том, что можно легко выполнить произвольный код
в linux из пользовательского режима - также ты не сумеешь осуществить,
несмотря на найденные тобою на wasm.ru(.in) материалы по этой тематике
- ты утверждал, что для компиляции программы на чистом C
в объектный или исполняемый файл нужен внешний ассемблер (tasm)
- оказалось, нет
Это не про тасм разговор был и тем более не про шестой билдер, это ты это говно притащил- сам его и расхлебывай.
Как расхлебать- скомпилируй (со спрятанным тасмом) с ключом -S, если выдаст ассемблерный файл- то какой то урезанный ассемблер встроен в него.
А если выдаст ошибку- то именно поэтому он и не работает в реальном режиме. Виртуальная поделушка.
И я никогда не утверждал, что C-компиляторы не могут оформлять результат компиляции как файл на языке ассемблера,
а лишь только то, что в .obj и исполняемых файлах отсутствуют ассемблерные мнемоники, сгенерированные C-компилятором.
Там - только бинарный машинный код.
> если выдаст ассемблерный файл- то какой то урезанный ассемблер встроен в него.
Опять ты ошибся. Большинство хоть сколько-то современных C-компиляторов получают ассемблерный листинг,
пропуская сгенерированный ими двоичный код через дизассемблер,
и комбинируя полученный результат с символьной информацией
(о том, какие строки исходного C-файла ему соответствуют).
> Как расхлебать- скомпилируй (со спрятанным тасмом) с ключом -S,
> если выдаст ассемблерный файл- то какой то урезанный ассемблер встроен в него.
> А если выдаст ошибку- то именно поэтому он и не работает в реальном режиме.
Блин, такое впечатление, что ты специально всё переворачиваешь с ног на голову...
C-компилятор может выдать ассемблерный код, но это совсем не означает,
что он (компилятор) работает в реальном режиме.
Равно, как и то, что сгенерированный им ассемблерный код
работает или же не работает в реальном режиме.
- твоё утверждение о том, что linux - операционка,
которая разрабатывалась для студентов - ложь,
об этом недвусмысленно высказался Торвальдс
Это тоже ты придумал, иудушка.
dedivan Пост: 605342 От 27.Nov.2018 (00:13)
А гнусы решили все унифицировать- все делают одинаково- им грамотные люди говоряли- так нельзя,
это дыра на дыре. А гнусовцы им в ответ- ну мы же учебную игрушку пишем, отстаньте.
....в страшном сне не поставят на обслуживание банка линух. Он работает на игрушечном учебном компиляторе языка.
Любому видно, что речь про компилятор идет а уж дырявый линух на нем это следствие компилятора.