Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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]


не спорю


 
©   (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
3-1087816797
denis24
2004-06-21 15:19
2004.07.18
p1:tparam-->p1.free


8-1083099181
Zeon
2004-04-28 00:53
2004.07.18
Несколько картинок на одном Image


1-1088882723
oleg_SYS
2004-07-03 23:25
2004.07.18
HTML из буфера обмена


1-1089090774
vlgrig1961
2004-07-06 09:12
2004.07.18
Как заставить компоненты TShape, TBevel выполять BringToFron


3-1088155245
чайник1
2004-06-25 13:20
2004.07.18
Определения вхождения даты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский