Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 373
от 23.09.2002, 14:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1321 Отправлено ответов: 4125 Активность: 312.2 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
SonicX Статус: Доверительный Общий рейтинг: 120.76 [Подробней >>] |
Beeblebrox Статус: Профессиональный Общий рейтинг: 115.19 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Kiss Статус: Доверительный Общий рейтинг: 140.18 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 134.3 URL: моя рассылка по Protected Mode [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 157.26 [Подробней >>] |
igorash Статус: Профессиональный Общий рейтинг: 119.29 [Подробней >>] |
Shal Статус: Опытный Общий рейтинг: 107.2 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 121.14 URL: Мой сайтик... [Подробней >>] |
Pablo Статус: Профессиональный Общий рейтинг: 130.37 URL: Моя страничка [Подробней >>] |
Biv Статус: Доверительный Общий рейтинг: 128.16 [Подробней >>] |
Bob Johnson Статус: Доверительный Общий рейтинг: 138.04 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 119.28 [Подробней >>] |
ASMодей Статус: Опытный Общий рейтинг: 123.57 [Подробней >>] |
DiGiT[old] Статус: Доверительный Общий рейтинг: 113.12 [Подробней >>] |
Sinner Статус: Доверительный Общий рейтинг: 106.13 [Подробней >>] |
ARDoS Статус: Доверительный Общий рейтинг: 107.37 [Подробней >>] |
LIFO Статус: Опытный Общий рейтинг: 134.03 Телефон: 8 01710 24758 [Подробней >>] |
Painbringer Статус: Профессиональный Общий рейтинг: 150.04 URL: Музычка, стишки и прочая дрянь [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.47 URL: Страничка обо мне и моих друзьях [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 134.82 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 127.4 URL: Страничка рассылки по Паскаля... Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 116.71 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
VicSimon Статус: Начальный Общий рейтинг: 104.57 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1270. Новый конкурс! Файло лежит по адресу www.dospage.by.ru/files/hackme2.zip Условия внутри. Мой ящик... (ответов: 4)
Вопрос № 1271. Так, первые взломщики... Beeblebrox узнал-таки за полтора часа длину пароля и несколько символов, од... (ответов: 3)
Вопрос № 1273. Дарова всем! Помните меня? Сегодня я задавал вопрос по АСМу - учить или не учить... Так вот я тут ЛЁ... (ответов: 6)
Вопрос № 1274. Ой-ой... Всё понял почему у меня не компильнится прога.. Ответы слать не надо!!! Лучше скажите норма... (ответов: 4)
Вопрос № 1275. Спасибо, всем, кто помог разобраться с вопросом №1249. Возникла другая трабла: в досе при вызове mo... (ответов: 5)
Вопрос № 1276. Уважаемые эксперты! Вопрос не совсем по теме , но надеюсь на Вашу помощь как давний поклонник рассыл... (ответов: 3)
Вопрос № 1277. BrokenSword & Beeblebrox - вы круты, я даже сам не знал, что у меня четвертый символ - 'p'... Вообщ... (ответов: 1)
Вопрос № 1278. Дарова всем! Это опять я. И у меня вопрос который вам задавали ,наверное, 10000000000000 раз.... Я п... (ответов: 12)
Вопрос № 1279. Посоветуйте какую-нибудь прогромулину, для отладки листинов написаных для масм32. ... (ответов: 3)
Вопрос № 1280. Здравствуйте, уважаемые эксперты. Я бы хотел задать вопрос, как правильно вызвать GetModuleHandleA и... (ответов: 6)
Вопрос № 1281. Дарова перцы!! Вот у меня вопросы: 1) Мне надоело проги писать в блокноте! Может кто подскажет где м... (ответов: 11)
Вопрос № 1282. Хай, эксперты! Не знаете ли вы, есть ли вирусные группы, которые продолжают выпускать свои журналы в... (ответов: 5)
Вопросов: 12, ответов: 63
Вопрос № 1270 |
Новый конкурс!
Файло лежит по адресу www.dospage.by.ru/files/hackme2.zip
Условия внутри.
Мой ящик - 10ck@mail.nnov.ru, но я проверяю его не каждый день, т.к. не имею возможности (поэтому и ушел из экспертов), так что... :-(
Но 2-3 раза в неделю я проверяю точно.
Вопрос отправлен: 18.09.2002, 16:07
Отправитель: 10ck (10ck@mail.nnov.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает SonicX
Приветствую Вас, 10ck!
Ты хоть бы написал что должна делать взломанная прога.
Ответ отправлен: 18.09.2002, 17:21
Отправитель: SonicX
Отвечает Beeblebrox
Добрый день, 10ck!
Пароль 23 символа длиной, отгадывать весь по одной букве - долго и нудно, я за полтора часа расковырял только:
'NNop....k...4..........'
ничего интересного
Ответ отправлен: 18.09.2002, 18:19
Отправитель: Beeblebrox
Отвечает Kiss
Приветствую Вас, 10ck!
Это конечно прикольно но ты написал бы что должна делать эта прога!
Ответ отправлен: 18.09.2002, 19:53
Отправитель: Kiss
Отвечает Broken Sword
Добрый день, 10ck!
Что то никаких условий я не нашел...
Пароль состоит из 23 символов:
Первый = вторму = N
Третий = o
Четвертый = p
Сумма с пятого по восьмой и с десятого по двенадцатый = 262h
Девятый = k
Тринадцатый = 4
про четырнадцатый ты почему то забыл... :)
Сумма с пятнадцатого по двадцать третий при сдвиге на 3 вправо должна равняться 4Fh
Есесно, паролей безумное множество, могу написать генератор если кому интересно...
Как вариант, можно заюзать этот:
NNopRRRRkRRv44FFFFFFFGG
p.s. прогу ты писал? Весь крак занял ~2 часа... (но учитывая то состояние в котором он производился - это супербыстро! :)
спасибо, давно не шевелил извилинами...
Ответ отправлен: 18.09.2002, 20:22
Отправитель: Broken Sword
Вопрос № 1271 |
Так, первые взломщики... Beeblebrox узнал-таки за полтора часа длину пароля и несколько символов, один - неправильно (4 символ - не 'p') :) и заявил, что это нудно и долго... Что ж, может быть...
Вопрос отправлен: 18.09.2002, 18:31
Отправитель: 10ck (10ck@mail.nnov.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, 10ck!
не, не спорь, нам виднее :) все правильно beeblebrox сказал - 4 символ маленькая латинская p. Ты ведь что делаешь:
ASCII код четвертого символа делишь на 7, а потом сравниваешь с 10h. Т.ч. четвертый символ = 70h, а это маленькая "пэ".
Ответ отправлен: 18.09.2002, 21:54
Отправитель: Broken Sword
Отвечает masquer
Добрый день, 10ck!
Эх Broken Sword :)
Буквочка в диапазоне p-v (70h-76h)
Ответ отправлен: 18.09.2002, 23:52
Отправитель: masquer
Отвечает igorash
Приветствую Вас, 10ck!
С радостью бы принял участие, если бы была возможность узать комп для чего-то более существенного чем мыло... пока такой возможности нет, вернее есть но как-то неудобно сидеть не за своим компом и ломать прогу... тем более неизвестно сколько это времени займет :)
Ответ отправлен: 19.09.2002, 01:23
Отправитель: igorash
Вопрос № 1273 |
Дарова всем!
Помните меня? Сегодня я задавал вопрос по АСМу - учить или не учить...
Так вот я тут ЛЁГКУЮ программульку написал (см. приложение)на нём , но возникли трудности при компиляции.
Значит так, он у меня линковаться не хочет?!
При делании obj файла при помощи tasm.exe всё проходит без ошибок. Потом когда я хочу его в исполняемый сделать не хочется?!
Т.к. я хочу получить com файл в коде пишу org 100H и при линковке задаю /t . Чё я сделал неправильно?
У меня TASM 5.0
Приложение:
Вопрос отправлен: 18.09.2002, 20:05
Отправитель: Soldier
[Следующий вопрос >>] [Список вопросов]
Отвечает Shal
Здравствуйте, Soldier!
У меня все нормально. Да и у тебя тоже вроде.
Ответ отправлен: 19.09.2002, 17:20
Отправитель: Shal
Отвечает Kiss
Приветствую Вас, Soldier!
Ответ отправлен: 19.09.2002, 07:58
Отправитель: Kiss
Отвечает Portnov
Здравствуйте, Soldier!
У вас в начаной точке исполнимого кода данные, вот и не линкуется. Поставьте Message db... в конце (после Int20h), и усе будет ОК.
С уважением, Portnov.
Ответ отправлен: 19.09.2002, 11:12
Отправитель: Portnov
Отвечает Pablo
п—пґяЂп°пІяЃя‚пІяѓп№я‚пµ, Soldier!
пќп°пґпµяЋяЃяЊ я‚я‹ пїпѕп»яЊп·яѓпµя€яЊяЃяЏ tlink.exe, п° пЅпµ tlink32.exe. пђ пєп°пєп°яЏ пѕя€пёп±пєп° я‚пѕ пІя‹п»пµя‚п°пµя‚?!
Ответ отправлен: 18.09.2002, 20:29
Отправитель: Pablo
Отвечает Biv
Здравствуйте, Soldier!
у меня тоже тасм 5.0 и у меня великолепно откомпилилось. Я компилил так:
tasm prog.asm
tlink /t prog.obj
А вот прога левая какая-то, но я думаю - ты ее сам отладишь
Ответ отправлен: 18.09.2002, 23:11
Отправитель: Biv
Отвечает igorash
Добрый день, Soldier!
Насчет компиляции - hands.sys твой явно на твоем любимом визуально-глученом-тормознутом чем-то написан....
а вот ошибок.... короче выполнение твоей проги начнется с выполнения тех кодов, которые представляет собой строка "Vvedite chislo"... про это было 10000 раз писано, но вот такие ксакепы типа тебя до сих пор это делают.. дальше в лом разбирать - хочу спать, дальше самостоятельно
Ответ отправлен: 19.09.2002, 01:36
Отправитель: igorash
Вопрос № 1274 |
Ой-ой...
Всё понял почему у меня не компильнится прога.. Ответы слать не надо!!!
Лучше скажите нормальные сайты посвещённый взлому. А то я вижу на АСМЕ ломается всё :-))
Вопрос отправлен: 18.09.2002, 20:13
Отправитель: Soldier
[Следующий вопрос >>] [Список вопросов]
Отвечает SonicX
Добрый день, Soldier!
WWW.WASM.RU
Ответ отправлен: 18.09.2002, 21:14
Отправитель: SonicX
Отвечает masquer
Доброе время суток, Soldier!
fravia - www.woodmann.com
Ответ отправлен: 18.09.2002, 23:53
Отправитель: masquer
Отвечает Bob Johnson
Доброе время суток, Soldier!
А какая прога-то???
Из вопроса 1273???
А что все-таки тебя заставило учить АСМ?
Ответ отправлен: 19.09.2002, 00:00
Отправитель: Bob Johnson
Отвечает igorash
Приветствую Вас, Soldier!
Ох уж эти ксакепы... сам ищи.. загорелось ему ЛОМАТЬ, а раньше ты на чем ломал, что не все ломалось :)
Ответ отправлен: 19.09.2002, 01:40
Отправитель: igorash
Вопрос № 1275 |
Спасибо, всем, кто помог разобраться с вопросом №1249.
Возникла другая трабла: в досе при вызове
mov ah, 48h
mov bx, 25h
int 21h
(выделить блок памяти), возвращается ошибка: мол, недостаточно памяти (ax=8), причем максимальный размер свободной равен нулю (в bx). Почему?
Спасибо еще раз.
Вопрос отправлен: 18.09.2002, 21:44
Отправитель: Виталий
[Следующий вопрос >>] [Список вопросов]
Отвечает Beeblebrox
Доброе время суток, Виталий!
Небось, СОМ-файл? :) Нужно сначала урезать память до необходимой, а потом выделять. (сначала realloc, потом alloc)
Ответ отправлен: 19.09.2002, 10:08
Отправитель: Beeblebrox
Отвечает Ayl
Здравствуйте, Виталий!
Все правильно, как и написали эксперты. Но хочу тебя предупредить, что если речь идет по-прежнему о модуле, прикрепляющемся к любой COM-программе, то у тебя не получится делать уменьшение памяти, выделенной программе. потому что неизвестно, собирается ли исходная программа использовать эту память или нет. А что ты вообще пытаешься сделать?
Ответ отправлен: 19.09.2002, 11:03
Отправитель: Ayl
Отвечает SonicX
Приветствую Вас, Виталий!
Перед выделением памяти измени размер выделенной памяти ДОСом для твоей программы ф. 04Ah 021h прерывания.
Ответ отправлен: 20.09.2002, 17:35
Отправитель: SonicX
Отвечает ASMодей
Здравствуйте, Виталий!
Если ты пишешь COM-программу, то знай, что DOS выделяет твоей
программе всю доступную память, то есть можешь спокойно
работать с памятью за последним используемым программой
(и стеком!) байтом.
Если все же вызывать функцию 48h, то предварительно нужно
освободить выделенную программе память функцией 4Ah.
Например так:
mov ax,cs
mov es,ax
mov bx,1000h
mov ah,4Ah
int 21h
Ответ отправлен: 19.09.2002, 07:29
Отправитель: ASMодей
Отвечает Bob Johnson
Приветствую Вас, Виталий!
И правильно возвращается... Потому что после запуска com программы ей выделяется ВСЯ (!!!) свободная память DOS. Поэтому программы, которые будут манипулировать с памятью изменяют размер выделенного им блока (основного блока под код) в меньшую сторону (функция 4Ah) и свободная память появляется. После этого ее уже можно выделять по 48h.
Для com программы es при вызове 4Ah должно совпадать с cs.
Ответ отправлен: 19.09.2002, 21:21
Отправитель: Bob Johnson
Вопрос № 1276 |
Уважаемые эксперты!
Вопрос не совсем по теме , но надеюсь на Вашу помощь как давний поклонник рассылки. Подскажите, пожалуйста, где можно скачать Windows 3.1 если его вообще скачать где-нибуть можно?
Вопрос отправлен: 19.09.2002, 00:18
Отправитель: Alice (nashostrov@mailru.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Alice!
Я как-то его видел где-то, так что можно. Попробуй поискать яндексом... Или возьми старые диски с софтом.
Ответ отправлен: 20.09.2002, 22:00
Отправитель: Bob Johnson
Отвечает Kiss
Добрый день, Alice!
Поищи по нету, по каким небудь сайтам с софтами, хотя врятле такую можно найти! Такую древность я раз видел на машине года наверное с 95 так что такую найти проблема!
Ответ отправлен: 19.09.2002, 08:02
Отправитель: Kiss
Отвечает igorash
Добрый день, Alice!
поищи лучше у знакомых у которых комп с 94-95 года или на дисковых рынках, должны копейки стоить
Ответ отправлен: 19.09.2002, 01:48
Отправитель: igorash
Вопрос № 1277 |
BrokenSword & Beeblebrox - вы круты, я даже сам не знал, что у меня
четвертый символ - 'p'... Вообще-то пароль - "NNov rockz d4 WORld :-)", что-
то такое... Проверьте. Символы "WORld :-)" зашиты в код сразу после
проверок и используются как инструкции.
И, хотя никто мой пароль и не нашел... условие-то было найти пароль -
Broken Sword его нашел (я не проверял, но верю. Если пароль верный, то
прога выдает Oh, lucky...).
Так что ему торжественно присуждается его квартира!
Ждите 3-ий хакми... Я учту предыдущие ошибки... (типа отсутствия
условий и разных вариантов пароля). И заставлю вас поломать голову!
PS
Никто мне не сказал, чем запакована прога и на чем написана :).
Вопрос отправлен: 19.09.2002, 00:48
Отправитель: 10ck
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Здравствуйте, 10ck!
Два раза PKzip-пом (один раз 1.21 версии, второй раз более старой 0.97, IMO), писана на сях.
А насчет пароля - я ж написал, там сумма чисел высчитывается, т.е. паролей может подойти безумное множество. :)
Да, вот теперь мне интересно: где у тебя идет сравнение с тем паролем что ты прислал? И вообще, зачем ты каждый символ в отдельности тогда с чем то сравниваешь и высчитываешь суммы?
С нетерпеньем ждемс третий хакми! )
Ответ отправлен: 19.09.2002, 08:13
Отправитель: Broken Sword
Вопрос № 1278 |
Дарова всем!
Это опять я. И у меня вопрос который вам задавали ,наверное, 10000000000000 раз....
Я пишу com прогу на АСМе и почему данныепеременные нельзя указывать в начале?
Попробую сам ответить на свой вопрос. Наверное эти данные рассматриваются как команды... Всё вроде как идёт, да не правильно!...
Объясните мне пожалуйста нормально по умному (ну чтобы я только понял :-)) )
Оказывается АСМ прекрасный язык. Интересно. Такое чувство как будто копаешся в компе. И он под твоей полной властью !!!! ха-ха-ха .
Вопрос отправлен: 19.09.2002, 06:25
Отправитель: Soldier
[Следующий вопрос >>] [Список вопросов]
Отвечает DiGiT[old]
Здравствуйте, Soldier!
Никто не говорит, что нельзя. Располагай и делай. Просто если этот сегмент пустой он весь будет входить в размер экзешника, а если после кода, то не будет.
не всегда в твоей власти, а тока тогда, когда ты в защищенном режиме в 0-м кольце :))).
Ответ отправлен: 19.09.2002, 09:48
Отправитель: DiGiT[old]
Отвечает igorash
Добрый день, Soldier!
Ниче смешного, я тебе еще вчера написал - "короче выполнение твоей проги начнется с выполнения тех кодов, которые представляет собой строка "Vvedite chislo"... "
так зачем еще раз спрашивать...
насчет ответа Biv'а - опкод команды int 20h вообще-то не 0CE20h а CD20h и по-моему формат записи hex-чисел 0х - это из С, а в асме надо писать db 0cdh db 20h
Ответ отправлен: 19.09.2002, 16:43
Отправитель: igorash
Отвечает Bob Johnson
Здравствуйте, Soldier!
Скорее всего ты пишешь сом-файл, так? Управление в таком файле передается после его загрузки первому байту. Не важно, что там - данные или код. Поэтому так нельзя. А вот если ты пишешь ехе-файл, то таких проблем нет. Там ты можешь чередовать код и данные как хочешь... Компилятор все сам соберет по сегментам, а DOS загрузит в память и обязательно передаст управление на точку входа в программе (ее ты указываешь ассемблеру с помощью end _метка_) - см. приложение.
Смотри с властью только не переусердствуй...
Приложение:
Ответ отправлен: 20.09.2002, 22:00
Отправитель: Bob Johnson
Отвечает Ayl
Доброе время суток, Soldier!
Понимаешь, процессор не различает, где у тебя данные, а где код (ну, скажем, в реальном режиме не различает). Он просто берет данные по адресу cs:ip и пытается выполнить ту команду, которая этими данными представлена. Соответственно, если ты свои переменные укажешь в середине кода, то процессор и начнет их выполнять также, как и обычный код.
Для COM программы первоначально ip устанавливается в 100h. Соответственно, если ты прямо в начале своей программы опишешь переменную, то с нее и начнется выполнение.
Можно, конечно, данные определять по мере необходимости, но надо тогда обходить эти участки, например, вот так:
...
jmp short Label
db 'Хочу сюда впихнуть строку данных', 0
Label:
...
и тогда ошибки при выполнении не будет.
Ответ отправлен: 19.09.2002, 11:13
Отправитель: Ayl
Отвечает Portnov
Доброе время суток, Soldier!
Да, примерно так - данные рассматриваются как команды. Линковщик видит, что там данные, и задумывается: это ж фигня получится, если экзешник сделать, данные выполняться пойдут, комп скорее всего зависнет. И выдает сообщение об ошибке. Вообще, по третьему принципу фон Неймана данные в памяти неотличимы от команд, т.е. любой байт памяти может оказаться как данными, так и инструкцией. Процессор выполняет то, что ему подсовывают, он не знает, что это такое... Так что линковщик собственно молодец, он спасает ваш комп :)
С уважением, Portnov.
Ответ отправлен: 19.09.2002, 11:19
Отправитель: Portnov
Отвечает masquer
Доброе время суток, Soldier!
Ты сам ответил на свой вопрос.
А избавится от чувства власти поможет программирование под винды програмируй (ну, пока до драйверов дело не дойдет)
Ответ отправлен: 19.09.2002, 09:46
Отправитель: masquer
Отвечает Sinner
Здравствуйте, Soldier!
просто делай так:
code segment
assume...
org...
start: jmp main
;объявление данных
....
main:
;программа...
Ответ отправлен: 20.09.2002, 21:31
Отправитель: Sinner
Отвечает Biv
Здравствуйте, Soldier!
Ты прав. Правда их не столько нельзя размещать в начале (да и между командами), сколько не нужно. Кстати, можно запихнуть какую-нибудь переменную в середину текста так:
db 0xce, 0x20 <=> int 0x20 и это дело будет расценено как команда.
Ответ отправлен: 19.09.2002, 14:08
Отправитель: Biv
Отвечает ARDoS
Здравствуйте, Soldier!
Данные можно помещать и в начало программы, но тогда надо jmp'ать через них, чтобы они не рассматривались как команды... А что в твоей проге идёт не так как надо?
Приложение:
Ответ отправлен: 19.09.2002, 15:23
Отправитель: ARDoS
Отвечает LIFO
Добрый день, Soldier!
Правильно думаешь.
Каждую команду можно расписать :
db <шестн.число>
Если уж так хочется в начале данные разместить, то перед инициализацией напиши
jmp m1
;data
m1:
Ответ отправлен: 19.09.2002, 17:53
Отправитель: LIFO
Отвечает Painbringer
Добрый день, Soldier!
типа верно мыслищь - процу по фиг че у тя там даннуе - он думает что это прога! уж если так приспичело перепрыгивай их:
start:
jmp proga
datas:
a db 7
b dw 9
c dd 1234
proga:
.......
Ответ отправлен: 20.09.2002, 00:23
Отправитель: Painbringer
Отвечает Gibbel
Здравствуйте, Soldier!
.com программа начинает исполняться с самого первого байта, и если ты туда запихнул данные, то она процессор начнет распознавать их как комманды.
А вообще, данные можешь пихать куда угодно в программе, только, если ты пишешь их в начало, то перед ними нужно поставить команду jmp на начало программы.
Ответ отправлен: 21.09.2002, 10:20
Отправитель: Gibbel
Вопрос № 1279 |
Посоветуйте какую-нибудь прогромулину, для отладки листинов написаных для масм32.
Вопрос отправлен: 19.09.2002, 06:58
Отправитель: Игорь
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Игорь!
компилируй с отладочной информацией и в софтайс
Ответ отправлен: 19.09.2002, 09:43
Отправитель: masquer
Отвечает Kiss
Приветствую Вас, Игорь!
Бери IDA смая крутая штучка для этих дел!
Ответ отправлен: 19.09.2002, 09:34
Отправитель: Kiss
Отвечает Biv
Здравствуйте, Игорь!
Простейшая прога для отладки 32-битных программ td32 (Яка входит в пакетик ТАСМА). Я уже не говорю о Interactive Disassembler.
Ответ отправлен: 19.09.2002, 14:09
Отправитель: Biv
Вопрос № 1280 |
Здравствуйте, уважаемые эксперты.
Я бы хотел задать вопрос, как правильно вызвать GetModuleHandleA из асма. Конкретно: как правильно передать ей параметры.
push 0
call GetModuleHandleA
вернет хэндл самого приложения, а как получить хандл какой-нибудь библиотеки, например advapi32.dll?
Покажите пожалуста на конкретном примере.
Заранее благодарен...
Давыдкин Максим
Вопрос отправлен: 19.09.2002, 12:08
Отправитель: Davydkin Maxx (monogrammus@yahoo.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Pablo
пџяЂпёпІпµя‚яЃя‚пІяѓяЋ п’п°яЃ, Davydkin Maxx!
пўп°пєп¶пµ, я‚пѕп»яЊпєпѕ я‚пµп±пµ пЅяѓп¶пЅпѕ AFAIK пїпµяЂпµпґп°пІп°я‚яЊ пЅпµ 0, п° яѓпєп°п·п°я‚пµп»яЊ пЅп° пёпјяЏ п±пёп±п»пёпѕя‚пµпєпё.
push offset dllname
call GetModuleHandleA
....
dllname db 'advapi32.dll',0
Ответ отправлен: 21.09.2002, 15:35
Отправитель: Pablo
Отвечает masquer
Здравствуйте, Davydkin Maxx!
ЛИХКО ;)
.data
adv db "ADVAPI32.DLL",0
.code
start:
invoke LoadLibrary, addr adv
push offset adv
call GetModuleHandle
Ответ отправлен: 19.09.2002, 12:22
Отправитель: masquer
Отвечает Bob Johnson
Добрый день, Davydkin Maxx!
Во-первых. GetModuleHandle возвращает хендл какого-либо модуля, если тот отображается в адресное пространство вызывающего процесса (т.е. загружен им). А вызывать его просто:
_в сегменте кода_
push offset ModuleName
call GetModuleHandleA
_или_
call GetModuleHandleA, offset ModuleName
_в сегменте данных_
ModuleName db 'kernel32.dll',0
Ответ отправлен: 20.09.2002, 22:00
Отправитель: Bob Johnson
Отвечает ARDoS
Добрый день, Davydkin Maxx!
Чтобы получить хэндл библиотеки надо указать на строку с названием этой библиотеки оканчивающююся нулём, или на строку с путём, оканчивающуюся нулём.
Например:
.data
...
pathoflib db 'C:windowssystemadvapi32.dll',0
dllhandle dd 0
...
.code
...
push offset pathoflib
call GetModuleHandle
mov dllhandle,eax
...
Ответ отправлен: 19.09.2002, 15:23
Отправитель: ARDoS
Отвечает Dark_Lord
Приветствую Вас, Davydkin Maxx!
Надо указать на строку с именем библиотеки!
Ответ отправлен: 19.09.2002, 18:57
Отправитель: Dark_Lord
Отвечает Gibbel
Доброе время суток, Davydkin Maxx!
Приложение:
Ответ отправлен: 21.09.2002, 10:30
Отправитель: Gibbel
Вопрос № 1281 |
Дарова перцы!!
Вот у меня вопросы:
1) Мне надоело проги писать в блокноте! Может кто подскажет где можно взять нормальный редактор для АСМа. Что бы там с подсветкой синтаксиса и.т.д.....
2)Вот я чё то не догоню. Значит com файл максимум может брать 64 kb памяти(то бишь один сегмент), а размер самого файла? Неограниченно? Конечно чтобы довести файл на АСМе до 64 кб нужно изрядно попотеть :-))).... Но всё же?!
3)Какой бы бумажный справочник вы бы посоветовали приобрести (по АСМу конечно) ? Я вот купил справочник Юрова, вроде нормальный. А вы как думаете?
Вопрос отправлен: 19.09.2002, 12:40
Отправитель: soldier
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Приветствую Вас, soldier!
1) DN Far Aditor MultiEdit
2) Наоборот
3) Вроде ниче...
Ответ отправлен: 19.09.2002, 13:12
Отправитель: Sensey
Отвечает igorash
Приветствую Вас, soldier!
1) их дофига, дай поиск на что-то типа asm editor и найдешь целую кучу
2) размер ком-файла не может быть больше 64 кбайта, а то регистр ip немного переполнится :)
3) заказать на интел.ком, может пришлют... а Юров масдай
Ответ отправлен: 19.09.2002, 16:47
Отправитель: igorash
Отвечает baldr
Приветствую Вас, soldier!
Для редактирования бери TASMED.
А как ты сможешь сделать com-файл, который, по сути, и является одним сегментом, больше 64 кб? Не выйдет.
Ответ отправлен: 19.09.2002, 16:11
Отправитель: baldr
Отвечает Pablo
п”пѕп±яЂпѕпµ пІяЂпµпјяЏ яЃяѓя‚пѕпє, soldier!
пџпѕ пїпѕпІпѕпґяѓ пїпµяЂпІпѕпЁпѕ пІпѕпїяЂпѕяЃп° пјпѕпґпµя€яЊ пїпѕп»яЊп·пѕпІп°я†я†п° пїп»п°я‚пЅя‹пј UltraEdit32 пёп»пё п±пµяЃпїп»п°я‚пЅя‹пј gvimпѕпј. пџпѕяЃпјпѕя‚яЂпё пѕп±п° пЅп° ufa.com.ua пё files.com.ua.
Ответ отправлен: 21.09.2002, 15:30
Отправитель: Pablo
Отвечает Shal
Приветствую Вас, soldier!
1) Ищи блокнот Bred. Могу закинуть тебе.
3)Зубков.
Ответ отправлен: 19.09.2002, 17:20
Отправитель: Shal
Отвечает Bob Johnson
Добрый день, soldier!
В блокноте?? Вот это изврат. Можно писать в фаре с плагином colorer - он раскрашивает редактор для многих форматов файлов, в том числе и для АСМ. Можно писать в Dos Navigator - у него всегда был мощный текстовый редактор, а с поддержкой длинных имен...
При этих вариантах возможно настроить проги так, чтобы при нажатии Enter на имени *.asm файла он автоматически компилировался.
Можно использовать Aditor - тоже мощный и быстро загружающийся редактор под вин, с раскраской АСМ.
Можно использовать TASMED - специально разработанный для АСМ файлов редактор.
И многое другое...
Или сам напиши - вот тебе и тестовая задача для АСМ.
А вообще я пользуюсь DN, FAR и иногда Aditor.
2. Размер самого файла - тоже 64к (т.е. 64к - 256). На Command.com не смотри - он на самом деле exe, а не ком.
64к это не так уж и много. Тем более, что там в ком-файле должны помещаться и все определенные тобой в программе данные...
3. Подойдет. Лучший справочник по АСМ - спецификация от intel.
Ответ отправлен: 20.09.2002, 22:01
Отправитель: Bob Johnson
Отвечает Ayl
Доброе время суток, soldier!
1.Можно использовать MultiEdit - у него есть настройки под асм. Я им раньше пользовался, но сейчас мне и простого текстового редактора хватает.
2.Неправильно понимаешь. COM-программа сама не может быть длиной больше 64К (на самом деле даже чуть меньше). А насчет памяти - так все 640К DOS'а тебе доступны. Для этого даже не нужно дополнительно память выделять - вся доступная память выдается программе автоматом при загрузке. Бери, пользуйся!
Ответ отправлен: 19.09.2002, 12:59
Отправитель: Ayl
Отвечает masquer
Доброе время суток, soldier!
На все твои вопросы есть ответы в предыдущих выпусках рассылки. Ладно, повторюсь:
1. Я юзаю Ultraedit, а есть еще RadAsm, VisualASM
2. Исполнимый файл (за некоторыми исключениями) полностью в память копируется при выполнении, так что сколько на диске - столько и в памяти.
3. Intel Instruction Set Reference.
Ответ отправлен: 19.09.2002, 13:02
Отправитель: masquer
Отвечает Kiss
Приветствую Вас, soldier!
1)Сколько Dosa(640K) памяти выдилил, столько и используй, а размер - лижбы винта хватило.
2)Короче подсветка на асм есть на сайте Download.ru.
3)Больше всего мне нравится книга П.Нортона Ассемблер для IBM.
Ответ отправлен: 19.09.2002, 14:08
Отправитель: Kiss
Отвечает ARDoS
Добрый день, soldier!
1) Говорят про всякие там ASMShell'ы и ASMEdit'ы, но я ниразу не пробовал.
2)СОМ файл не может быть больше 64кб
3)Купи лучше Пирогова или Зубкова.
Ответ отправлен: 19.09.2002, 15:23
Отправитель: ARDoS
Отвечает Painbringer
Добрый день, soldier!
1. лично я пользую Tasmed
2. и размер файла тоже - он же весь сразу грузится.
3. сойдет. можешь конечно поискать справочник по процу какому либо - у меня вот есть по i486.
Ответ отправлен: 20.09.2002, 00:23
Отправитель: Painbringer
Вопрос № 1282 |
Хай, эксперты!
Не знаете ли вы, есть ли вирусные группы, которые продолжают выпускать свои журналы в настоящий момент(на рус. яз.)?
Если слышали про нечто подобное, то угостите урлом, плиз...
А это информация для всех.
Заказал себе 4 книги интела, а они прислали письмо:"обломись Maverick" и т.д.
Но прошло две недели и мне доставили 3 первых книги прям на дом, совершенно нахаляву. Год издания 2002.
Так что кому интересно и у кого нет, заказывайте, должны прислать.
Адресок я потерял, так что господа эксперты, если он у вас есть, то киньте в ответ, чтоб народ знал.
Кстати, есть ли надежда получить 4-ю книгу?
С уважением, Maverick!
Вопрос отправлен: 19.09.2002, 13:35
Отправитель: Maverick (Maverick@nightmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает igorash
Добрый день, Maverick!
мне тоже в августе книжки, которые в марте заказывал принесли, причем в 3 экземплярах....
адресок: http://developer.intel.com/design/pentium4/manuals/index2.htm
мож кому и повезет и ему их привезут :)
Ответ отправлен: 19.09.2002, 16:50
Отправитель: igorash
Отвечает ARDoS
Здравствуйте, Maverick!
Мне на днях привезли два(???) комплекта по три тома.
Ответ отправлен: 19.09.2002, 15:52
Отправитель: ARDoS
Отвечает masquer
Доброе время суток, Maverick!
На русском языке вообще только у SGWW нормальный был, все остальное - ну 1-2 номера выпустят и все. Вообще на vx.org.ua погляди.
Мне все 4 книги пришли - правда 3 с запозданием
Ответ отправлен: 19.09.2002, 14:32
Отправитель: masquer
Отвечает VicSimon
Приветствую Вас, Maverick!
Очень хороший сайт, посвященный VX-сцене - http://vx.org.ua/. Есть информация о группах, журналы, исходники вирусов и т.п.
Ответ отправлен: 20.09.2002, 06:42
Отправитель: VicSimon
Отвечает Gibbel
Доброе время суток, Maverick!
Присылают все четыре книги... Только не все сразу...
Ответ отправлен: 21.09.2002, 10:33
Отправитель: Gibbel
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (42) C / C++ (29) Perl (7) Delphi (15) Pascal (24) Basic / VBA (12) Java / JavaScript (10) PHP (7) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (39) Windows NT/2000/XP (30) "Железо" (38) Поиск информации (14) |
Администратору Windows NT/2000/XP (17) Linux / Unix (17) |
Юристу Гражданское право (10) Семейное право (5) Трудовое право (7) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||