Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Как скопировать ассемблер из дебаггера Дельфи ?   Найти похожие ветки 

 
Кто---то ©   (2004-11-25 07:06) [0]

Надоело в ручную текст оттуда перепечатывать.
Понятно, что стандартных средств копирования нету. Но подозреваю, что этому окну можно послать соответствующее событие, которое скопирует из него текст. Только вот какое ? Я поэксперементировал, но так пока ничего и не добился. Может кто знает или сможет угадать нужное событие ?


 
Digitman ©   (2004-11-25 07:57) [1]

придется либо найти готовый либо написать собственный эксперт


 
Sha ©   (2004-11-25 10:20) [2]

Используй W32DASM или
http://dennishomepage.gugs-cats.dk/GrabCPUWindowText.zip


 
OneFragLeft ©   (2004-11-25 21:53) [3]

PrintScreen + FineReader.


 
TankMan ©   (2004-11-25 22:48) [4]

Вообще есть программка хорошая такая Kleptomania(вроде правильно написал), так вот она может копировать содержимое экрана сразу как текст, попробуй...


 
Aldor ©   (2004-11-26 02:51) [5]

А есть ли особый смысл в том, что Borland не предусмотрел возможность копирования из CPU window?


 
Кто---то ©   (2004-11-26 07:44) [6]


> Sha ©   (25.11.04 10:20) [2]
> Используй W32DASM или
> http://dennishomepage.gugs-cats.dk/GrabCPUWindowText.zip

Вот так всегда ... Только задумаешь написать чего путное, а тут вдруг оказывается, что кто-то это уже написал.
Кстати, а что за TToolbar97 ? Зачем они ?


> OneFragLeft ©   (25.11.04 21:53) [3]
> PrintScreen + FineReader.

Какие у тебя советы такой ты и мастер Дельфи.


> Aldor ©   (26.11.04 02:51) [5]
> А есть ли особый смысл в том, что Borland не предусмотрел
> возможность копирования из CPU window?

Возможно свои копирайты так охраняют.


 
Digitman ©   (2004-11-26 08:23) [7]


> Кто---то ©   (26.11.04 07:44) [6]
> Вот так всегда ... Только задумаешь написать чего путное,
> а тут вдруг оказывается, что кто-то это уже написал.


не работает этот пример по ссылке.
и работать не может, даже не пробуй.
потому что все что там делается - программно эмулируется последовательность нажатия клавиш, соответствующих копированию в клипборд и вставке из него


 
Sha ©   (2004-11-26 14:17) [8]

Digitman ©   (26.11.04 08:23) [7]

Странно.
Я не знал, что это работать не может.
Может, все-таки, стоит попробовать :)


 
Digitman ©   (2004-11-26 14:27) [9]


> Sha ©   (26.11.04 14:17) [8]


да чего там пробовать-то ? и пробовать даже не нужно ..

даже беглый взгляд на этот код дает полное представление о том, что его автор попросту пытается программно эмулировать "ручную" попытку скопировать/вставить

раз "ручное" копирование/вставка не дает ожидаемых рез-тов (и вполне понятно почему). то с какого перепугу то же самое, но сделанное программно, даст иные результаты ?


 
Chlavik ©   (2004-11-26 14:36) [10]

А что трудно самому такую прогу написать ? SendMessage + В delphi ж есть интефейсы для создания Com надстроек её среды - вперёд!


 
Sha ©   (2004-11-26 14:40) [11]

> Digitman ©   (26.11.04 14:27) [9]
> раз "ручное" копирование/вставка не дает ожидаемых рез-тов ...

Почему же не дает. Надо просто знать, где нажимать :)

Дело в том, что копирование кода из окна дебаггера вручную возможно, но очень неудобно (через меню и по одной строке -клавиши см. в тексте программы).

Данная программа значительно упрощает процесс.


 
Sha ©   (2004-11-26 14:53) [12]

через главное окно, конечно


 
Sha ©   (2004-11-26 14:59) [13]

Причем в Борланде люди веселые:
Ctrl-C работает, а Ctrl-Ins - нет.


 
Digitman ©   (2004-11-26 15:19) [14]


> Sha ©   (26.11.04 14:59) [13]


да.

не то слово - остроумные просто !

согласен, вариант с обработкой меню гл.окна среды я упустил из виду.

но, согласись, извращение это - просто жуткое... веселого мало ... даже с учетом утилитки, пытающейся "изнасиловать" среду циклической попыткой установить ее гл.окно в фокус.


 
Sha ©   (2004-11-26 15:25) [15]

> Digitman ©   (26.11.04 15:19) [14]

Их, вроде, просили этот цирк переделать.
Может, сделают когда-нибудь, как надо.

А пока 10-50 операторов копирую этой утилитой,
а большие куски дизассемблирую.


 
Кто---то ©   (2004-11-27 01:48) [16]


> Digitman ©   (26.11.04 08:23) [7]
> не работает этот пример по ссылке.
> и работать не может, даже не пробуй.

Работает. Я его подправил. Задержку сделал побольше и возвращение курсора назад. Правда он копирует только ассемблер без дельфийского кода, который там же отображается.


> потому что все что там делается - программно эмулируется
> последовательность нажатия клавиш, соответствующих копированию
> в клипборд и вставке из него

Ну да.


> Chlavik ©   (26.11.04 14:36) [10]
> А что трудно самому такую прогу написать ?

Да, трудно написать. А если скажите, что нет, то напишите, да выложите тут.


> SendMessage +
> В delphi ж есть интефейсы для создания Com надстроек её
> среды - вперёд!

Не пугайте. Мало ли чего на свете есть, только кто это знает ?


 
Andy BitOff ©   (2004-11-27 07:01) [17]

Я этим (копированием) редко пользуюсь, но когда приспичит, то конечно Kleptomania(http://www.structurise.com/kleptomania/), поскольку ее использую не только для этого.
Вот, например, что только что получилось:

Main.pas.159: begin
004EBBA8 55               push ebp
004EBBA9 8BEC             mov ebp,esp
004EBBAB 83C4F0           add esp,-$10
004EBBAE 53               push ebx
004EBBAF 56               push esi
004EBBB0 57               push edi
004EBBB1 33D2             xor edx,edx
004EBBB3 8955F0           mov [ebp-$10],edx
004EBBB6 8BD8             mov ebx,eax
004EBBB8 33C0             xor eax,eax
004EBBBA 55               push ebp
004EBBBB 6858BC4E00       push $004ebc58
004EBBC0 64FF30           push dword ptr fs:[eax]
004EBBC3 648920           mov fs:[eax],esp
Main.pas.160: a:=0;
004EBBC6 33C0             xor eax,eax
004EBBC8 8945F8           mov [ebp-$08],eax
Main.pas.161: TRzComboBox(Sender).Canvas.Font.Assign(TRzComboBox(Sender).Font);
004EBBCB 8BF3             mov esi,ebx
004EBBCD 8B5668           mov edx,[esi+$68]
004EBBD0 8B8608020000     mov eax,[esi+$00000208]
004EBBD6 8B400C           mov eax,[eax+$0c]
004EBBD9 8B08             mov ecx,[eax]
004EBBDB FF5108           call dword ptr [ecx+$08]
Main.pas.162: for i:=0 to TRzComboBox(Sender).Count-1 do begin
004EBBDE 8BC6             mov eax,esi
004EBBE0 E8CF88F9FF       call TRzCustomComboBox.Count
004EBBE5 48               dec eax
004EBBE6 85C0             test eax,eax
004EBBE8 7C3C             jl +$3c
004EBBEA 40               inc eax
004EBBEB 8945F4           mov [ebp-$0c],eax
004EBBEE C745FC00000000   mov [ebp-$04],$00000000
Main.pas.163: b:=TRzComboBox(Sender).Canvas.TextWidth(TRzComboBox(Sender).Items.Strings[i]);
004EBBF5 8D4DF0           lea ecx,[ebp-$10]
004EBBF8 8BF3             mov esi,ebx
004EBBFA 8B863C020000     mov eax,[esi+$0000023c]
004EBC00 8B55FC           mov edx,[ebp-$04]
004EBC03 8B38             mov edi,[eax]
004EBC05 FF570C           call dword ptr [edi+$0c]
004EBC08 8B55F0           mov edx,[ebp-$10]
004EBC0B 8B8608020000     mov eax,[esi+$00000208]


Помоему лучше и не надо.


 
Кто---то ©   (2004-11-29 02:14) [18]


> Andy BitOff ©   (27.11.04 07:01) [17]

А можно всю мою программу в таком же виде получить ?



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.027 c
1-1102349535
avsam
2004-12-06 19:12
2004.12.19
ASCII UTF-8 ANSI


14-1101589151
Piter
2004-11-27 23:59
2004.12.19
Придумал как обнаружить троянца


3-1101111353
Alex@work
2004-11-22 11:15
2004.12.19
Посоветуйте инсталлятор


3-1100851113
Demon23
2004-11-19 10:58
2004.12.19
Помогите с SQL запросом


3-1100698086
ВицеЧайник
2004-11-17 16:28
2004.12.19
Делфи и SQL запрос с датой