Текущий архив: 2004.07.18;
Скачать: CL | DM;
Вниз
Assembler Найти похожие ветки
← →
GrayFace © (2004-06-21 12:50) [0]Как посмотреть, во что превратилась процедура, написанная на Дельфи? Где можно найти список основных функций ассемблера?
← →
default © (2004-06-21 12:55) [1]от этого люди сходят с ума...
окно CPU
у ассем-ра нет ф-ий есть команды
← →
Digitman © (2004-06-21 13:03) [2]
> GrayFace © (21.06.04 12:50)
> Как посмотреть, во что превратилась процедура, написанная
> на Дельфи?
1. Дизассемблировать проект
2. Используя встр.отладчик Делфи установить брейк-пойнт на begin процедуры и, "поймав" этот брейк-пойнт в ран-тайм , вызвать IDE-диалог "CPU"
> Где можно найти список основных функций ассемблера?
большинство широкораспространных ассемблеров не оперируют понятием "функция".. есть мнемоники маш.инструкций, есть декларация и реализация подпрограмм, есть декларация макросов, но "функций", в привычном понятии, нет
думаю, тебя интересуют мнемоники маш.инструкций, генерируемых компилятором..
сайт корпорации Intel (как "отца" процессоров семейства i80x86) дает ответ на вопрос
← →
Anatoly Podgoretsky © (2004-06-21 13:21) [3]GrayFace © (21.06.04 12:50)
У ассемблера нет функций.
← →
Igorek © (2004-06-21 13:28) [4]Сорри, а что такое "функция"?
← →
GrayFace © (2004-06-22 18:59) [5]Я имею в виду команды(MOV,MUL,CMP).
Digitman © (21.06.04 13:03) [2]
Спасибо. Пока что, я не могу найти это. Может, дашь ссылку или инструкцию по премерному местоположению.
← →
Mindb0t (2004-06-22 20:34) [6]Воспользуйся DeDe. Сходи на protools.cjb.net. Или лучше IDAPro.
Хотя с ним ты замаешься (с ида), если нет опыта - у вкльных прог очень много call"ов.
2Digitman У встроенного в дельфи отладчика плоховатый дизассм.
← →
GrayFace © (2004-06-23 08:24) [7]Зато для моей цели отлично подходит. Только нельзя код на Асме скопировать. А чем он еще плох?
← →
Digitman © (2004-06-23 08:55) [8]
> Mindb0t (22.06.04 20:34) [6]
> У встроенного в дельфи отладчика плоховатый дизассм
для начинающего вполне сойдет
> GrayFace © (22.06.04 18:59) [5]
посмотри на сайте у Анатолия Подгорецкого, кажется, он размещал у себя мануалы от Интела
> нельзя код на Асме скопировать
увы и ах .. и это, кстати, объяснимо - окно CPU показывает не какой-то конкретный фрагмент, а "скользит" по всему адресному пр-ву процесса .. представь себе асм-листинг нескольких гигабайт вирт.памяти !
в принципе можно "сфотографировать" окно CPU в граф.файл, подредактировать его, убрав лишнее, и распознать каким-нить файнридером
> А чем он еще плох?
да ничем он не плох .. для своих целей (встроенная отладка-трассировка основного набора маш.инструкций) вполне хорош и удобен, возможностей хватает, если не принимать во внимание расширенные наборы маш.инструкций (MMX, SSE, 3DNow и пр.)
← →
Роман (2004-06-23 09:02) [9]У ассемблера есть функции. Ибо нафиг тогда есть команда возврата RET N ???
← →
Digitman © (2004-06-23 09:16) [10]
> Роман (23.06.04 09:02) [9]
> У ассемблера есть функции
нет никаких функций в ассемблере
есть мнемоники маш.инструкций, директивы, операторы и макросы
> Ибо нафиг тогда есть команда возврата RET N
это не "команда", а мнемоника маш.инструкции, осуществляющей возврат из вызванной подпрограммы с коррекцией указателя вершины стека на N байт, помещенных туда вызывающей подпрограммой как факт.параметры вызываемой подпрограммы
← →
Григорьев Антон © (2004-06-23 10:36) [11]
> Только нельзя код на Асме скопировать.
Есть такая вещь - FastExperts. После установки из окна CPU можно копировать.
← →
Igorek © (2004-06-23 13:33) [12]
> нет никаких функций в ассемблере
> есть мнемоники маш.инструкций, директивы, операторы и макросы
Имхо "function" - это тоже своего рода "мнемоники маш.инструкций".
← →
evvcom © (2004-06-23 14:19) [13]
> Имхо "function" - это тоже своего рода "мнемоники маш.инструкций"
Это далеко не "мнемоники маш.инструкций". Мнемоника - это символьное представление, понятное человеку. Маш.инструкция - это одна команда процессору (типа считать байт, слово, дв.слово из памяти в регистр, перенести, скопировать то же из одного регистра в другой, сложить, отнять и т.д. различные операнды), т.е. это простейшие команды. Хотя сейчас уже они и не настолько простейшие, как раньше.
← →
Digitman © (2004-06-23 14:37) [14]
> Igorek © (23.06.04 13:33) [12]
> Имхо "function" - это тоже своего рода "мнемоники маш.инструкций".
это лишь твое "Имхо", не более того
есть четкое определение понятию "функция" в языках программирования, им и следует руководствоваться
← →
SammIk © (2004-06-23 14:44) [15]Какои-то ерундои занимаетесь.
Функция, не функция........тфу
← →
Digitman © (2004-06-23 15:00) [16]
> SammIk © (23.06.04 14:44) [15]
> Какои-то ерундои занимаетесь
не согласен
без четких определений того или иногго термина/механизма в голове происходит полный бардак ... для движения от простого к сложному необходимо полное и однозначное понимания "простого"
← →
GrayFace © (2004-06-24 17:10) [17]>посмотри на сайте у Анатолия Подгорецкого
А адрес?
По поводу определений: чем команда отличается от мнемоники?
← →
jack128 © (2004-06-24 17:16) [18]
> А адрес?
а в анкету заглянуть? ;-)
← →
han_malign © (2004-06-24 17:39) [19]Вот, кстати, класная памятка по основным командам x86 - две страницы A4, но почти все есть http://www.jegerlehner.ch/intel/IntelCodeTable.pdf
← →
Digitman © (2004-06-24 17:44) [20]
> GrayFace © (24.06.04 17:10) [17]
> По поводу определений: чем команда отличается от мнемоники?
для начала определись - если команда, то команда кому ... и в какой момент времени ..
← →
VMcL © (2004-06-24 17:54) [21]>>Digitman © (23.06.04 08:55) [8]
>возможностей хватает, если не принимать во внимание расширенные наборы маш.инструкций (MMX, SSE, 3DNow и пр.)
Начиная с D6, все эти чудеса понимаются компилятором (в конструкциях asm...end) и корректно отображаются в CPU Window.
← →
han_malign © (2004-06-24 17:56) [22]Команда это F20F, а мнемоника у нее CPUID
Если кто не в курсе, тоmov EAX,EDX
иmov AX,DX
- имеют разные опкоды - а мнемоника одна... АREP
- вообще не команда, а однобайтовый префикс перед командой, и вmov EAX,FS:[EBX+4]
- модификатор селектораFS
- тоже является префиксом и находится перед опкодомmov
.
← →
имя (2004-06-24 17:57) [23]Удалено модератором
← →
Алекс А (2004-06-25 06:19) [24]
> Mindb0t (22.06.04 20:34) [6]
> Воспользуйся DeDe.
Можно ли после DeDe привести код к такому виду, чтобы его можно было обратно откомпилировать ? Потому, что без этого от неё мало пользы.
← →
Digitman © (2004-06-25 08:14) [25]
> Алекс А (25.06.04 06:19) [24]
> Можно ли после DeDe
можно... но не нужно
← →
Digitman © (2004-06-25 08:16) [26]
> VMcL © (24.06.04 17:54) [21]
не спорю
← →
R © (2004-06-25 09:35) [27]Сам не пользовался но знаю что есть прога dcu2pas
так вот она из файла dcu читает заголовки описания модуля
и реализации самих функций и процедур и как раз сами
реализации идут в коде asm.
← →
Mindb0t (2004-06-25 10:37) [28]2Алекс А - плагиат и воровство это плохо. А для своих нужд можно.
А польза одна - упрощение ломания прог на дельфи. Оочень хорошая польза. Тем более исходники dede открыты.
← →
Алекс А (2004-06-26 01:52) [29]
> R © (25.06.04 09:35) [27]
> Сам не пользовался но знаю что есть прога dcu2pas
После неё код обратно тоже не компилируется. Выдаёт кучу ошибок.
> Mindb0t (25.06.04 10:37) [28]
> 2Алекс А - плагиат и воровство это плохо. А для своих нужд
> можно.
Плагиат для Дельфи, в отличие, например от ++Си-- - естественнен. По одному заданию десять программистов могут запросто написать один и тот же код.
> А польза одна - упрощение ломания прог на дельфи. Оочень
> хорошая польза. Тем более исходники dede открыты.
чего-то не видел никогда. А где вы его скачивали ?
← →
Алекс А (2004-06-26 02:40) [30]Вот удивляюсь, почему до сих пор нет программ которые переводили бы программы с языков низкого уровня на языки высокого уровня ?
Я понимаю, что всякими трюками можно запутать код так, что не разберёшься. Но ведь в большинстве случаев никакие трюки не применяются, просто компилируют и всё. Почему же никто до сих пор не написал программу которая бы восстанавливала код хоть в каком виде ?
← →
Германн © (2004-06-26 04:07) [31]2 Алекс А (26.06.04 02:40) [30]
Скажу так.
Задачи создания компиляторов языков высокого уровня - оплачиваются теми, кто поддерживает разработку этих языков.
А они могут, как правило, оплатить труд работников.
Задачи "обратного порядка" поддерживают лишь те, которые не могут "в должном объеме финансировать ее"!
← →
Petr V. Abramov © (2004-06-26 15:15) [32]> Алекс А (26.06.04 02:40) [30]
1. Задача в общем случае неразрешимая
2. Это по большому счету никому не надо - те, кто занимается ломанием, как правило, хорошо знают ассемблер. Чего и Вам желаю
← →
GuAV © (2004-06-26 15:31) [33]
> han_malign © (24.06.04 17:39) [19]
> Вот, кстати, класная памятка по основным командам x86 -
> две страницы A4, но почти все есть http://www.jegerlehner.ch/intel/IntelCodeTable.pdf
Мало документации. Вот что у меня:
ALANG.HLP и QH.EXE из MASM-a
запускаю:
QH.EXE -d alang.hlp alang.contents
QH.EXE -d alang.hlp alang.index
← →
Алекс А (2004-06-27 02:49) [34]
> Petr V. Abramov © (26.06.04 15:15) [32]
> 1. Задача в общем случае неразрешимая
А в частных случаях ? Если бы DeDe или Dcu2Pas восстанавливали бы хотя бы часть кода, было бы уже намного проще.
> 2. Это по большому счету никому не надо - те, кто занимается
> ломанием, как правило, хорошо знают ассемблер. Чего и Вам
> желаю
А если Борланд заинтересуется, что там пишут в Майкрософт ? Или если Майкрософт захочет узнать, что там пишут в Борланд ? Я думаю, что у больших фирм наверняка какие нибудь такие программы есть.
← →
Andy BitOff © (2004-06-27 02:56) [35]У больших фирм есть соответственно большие люди, которые, "как правило, хорошо знают ассемблер. Чего и Вам желаю" (с)Petr V. Abramov
← →
Алекс А (2004-06-27 07:13) [36]
> Andy BitOff © (27.06.04 02:56) [35]
> У больших фирм есть соответственно большие люди, которые,
> "как правило, хорошо знают ассемблер. Чего и Вам желаю" (с)
> Petr V. Abramov
Вы похоже из тех, кто считает, что от повторения слова халва во рту становится слаще.
Тогда почему у Борланда кода на ассемблере в pas-файлах практически нет ?
Считаете, что они такие честные и программ которые переводили бы код в Паскаль даже и не пробовали написать - считайте дальше. А у меня другое мнение.
← →
GuAV © (2004-06-27 08:35) [37]
> Тогда почему у Борланда кода на ассемблере в pas-файлах
> практически нет ?
см. sys*.pas - там есть.
← →
GrayFace © (2004-06-27 10:18) [38]Он там там в основном с паскалевсими аналогами.
GuAV, вряд ли в этих Pas файлах есть что-то такое ценное, спирание чего окупило бы затраты на создание Exe2Pas
han_malign, спасибо. Это то, что нужно.
А что такое LEA?
← →
VMcL © (2004-06-27 23:33) [39]>>GrayFace © (27.06.04 10:18) [38]
>А что такое LEA?
AFAIR, LEA = Load Effective Address
← →
Алекс А (2004-06-28 03:48) [40]
> GuAV © (27.06.04 08:35) [37]
>
> > Тогда почему у Борланда кода на ассемблере в pas-файлах
>
> > практически нет ?
>
> см. sys*.pas - там есть.
А вы посмотрите его. Там большая часть - это функции типа :
function GetGOT: Pointer; export;
begin
asm
MOV Result,EBX
end;
end;
Уж наверно такой код Борланд у Майкрософта не стал бы воровать. :)
Кстати, смогёте эту же функцию написали на Дельфи ?
> GrayFace © (27.06.04 10:18) [38]
> вряд ли в этих Pas файлах есть что-то такое ценное, спирание
> чего окупило бы затраты на создание Exe2Pas
То есть вы можете дать оценку окупаемости программы которая ещё не написана и не использовалась ? Пустые слова.
Страницы: 1 2 вся ветка
Текущий архив: 2004.07.18;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.025 c