Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> asm'овские инструкции, длина 
:(
    Опции темы
Mikel
Дата 13.8.2003, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



В памяти сидит кусок win32 кода надо определить длину инструкции, зная положение её первого байта. Есть у кого-нибудь такие билиотеки?


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
p0s0l
Дата 13.8.2003, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Может быть как-то с режимом отладки это возможно - EIPтекущее - EIPпредыдущее, а библиотек я не знаю...



--------------------
С уважением, г-н Посол.
PM   Вверх
Mikel
Дата 14.8.2003, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



Нет, исполнять этот код нельзя, т.к. я не могу знать что там может быть.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
oleg1973
Дата 14.8.2003, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



а код твоего просесса или нет?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Mikel
Дата 14.8.2003, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



Нет, это может быть любой кусок DLL.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 14.8.2003, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



Нужна просто функция по типу GetLen(Addr:Pointer):Cardinal, где Addr-указатель на первый байт инструкции.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
oleg1973
Дата 14.8.2003, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



так не бывает


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Mikel
Дата 14.8.2003, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



Чего так не бывает 8-) ?
Что-то типа половины нормального дизассемблера
Мы ему FFD085C057...(call eax; test eax,eax; push edi) , а он нам 2. Если бы начинали с 57, то 1, с 85 также 2.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
neutrino
Дата 16.8.2003, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Ну так ... Посмотри таблицу команд в каком-нибудь справочнике... Там будет написано все это. Вот только их всех нужно будет вводить в какую-то базу, а потом искать...


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
December
Дата 16.8.2003, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Поспрошай у авторов HIEW, QView etc.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Mikel
Дата 16.8.2003, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



А у них длина переменная. Можно написать eax, а можно dword ptr[]. И длина изменится


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
stab
Дата 18.8.2003, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



http://sbvc.host.sk/articles/59.html

может разберешься, если нет спрашивай


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Mikel
Дата 18.8.2003, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



Что-то не совсем разобрался. Как его вызвать из-под Delphi? И где живет код этой функции?


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 18.8.2003, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: 1
Всего: 2



cully, большое тебе человеческое '+1' smile.gif
Работает, сенкс.
Код немного переделал, т.к. там они чего-то такого намудрили
Код

const func1:array[1..363] of byte//disasm_init
          =($060,$08B,$07C,$024,$024,$0FC,$033,$0C0,
            $050,$050,$050,$068,$000,$0A8,$0AA,$002,
            $068,$07F,$068,$0FF,$03F,$068,$0A0,$0DE,
            $0E6,$0FF,$068,$0FF,$0FF,$0D5,$0DB,$068,
            $0AA,$0AA,$0FE,$0FF,$068,$0AA,$0AA,$0AA,
            $0AA,$068,$000,$000,$0AA,$0AA,$050,$050,
            $050,$050,$050,$050,$068,$054,$001,$000,
            $000,$068,$055,$0F5,$0FF,$041,$068,$0AA,
            $0DD,$0DE,$055,$068,$011,$051,$095,$019,
            $068,$0FF,$01F,$011,$011,$068,$0AA,$0FF,
            $011,$0FA,$068,$096,$0CF,$060,$08E,$068,
            $0AA,$0D6,$072,$0FC,$068,$088,$0AA,$0AA,
            $0AA,$068,$0D5,$088,$088,$088,$068,$09B,
            $055,$08D,$052,$068,$053,$0D5,$06C,$036,
            $068,$0FF,$055,$055,$035,$068,$0F9,$0D6,
            $0FE,$0FF,$068,$088,$088,$088,$068,$068,
            $088,$088,$088,$088,$068,$0CA,$047,$053,
            $08D,$068,$0DF,$07B,$0C6,$0DC,$068,$0AA,
            $0AA,$0AA,$0AA,$068,$0AA,$0AA,$0AA,$0AA,
            $068,$0FD,$04F,$0A9,$0AB,$068,$0EA,$0FE,
            $0A7,$0D4,$068,$029,$075,$0FF,$053,$068,
            $0FE,$0A7,$0A4,$0FF,$068,$04A,$0FA,$09F,
            $092,$068,$0FF,$029,$0E9,$07F,$0B9,$000,
            $002,$000,$000,$033,$0DB,$033,$0C0,$0E8,
            $014,$000,$000,$000,$0AB,$0E2,$0F6,$061,
            $0C3,$00B,$0DB,$075,$007,$05D,$05E,$05A,
            $056,$055,$0B3,$020,$04B,$0D1,$0EA,$0C3,
            $0E8,$0EC,$0FF,$0FF,$0FF,$00F,$083,$07F,
            $000,$000,$000,$0E8,$0E1,$0FF,$0FF,$0FF,
            $073,$003,$0B4,$040,$0C3,$0E8,$0D7,$0FF,
            $0FF,$0FF,$072,$057,$0E8,$0D0,$0FF,$0FF,
            $0FF,$073,$04D,$0E8,$0C9,$0FF,$0FF,$0FF,
            $073,$043,$0E8,$0C2,$0FF,$0FF,$0FF,$072,
            $025,$0E8,$0BB,$0FF,$0FF,$0FF,$073,$003,
            $0B0,$020,$0C3,$0E8,$0B1,$0FF,$0FF,$0FF,
            $073,$005,$066,$0B8,$002,$020,$0C3,$0E8,
            $0A5,$0FF,$0FF,$0FF,$073,$005,$066,$0B8,
            $008,$010,$0C3,$0B4,$003,$0C3,$0E8,$096,
            $0FF,$0FF,$0FF,$073,$003,$0B4,$060,$0C3,
            $0E8,$08C,$0FF,$0FF,$0FF,$073,$003,$0B0,
            $018,$0C3,$0B4,$002,$0C3,$0B4,$080,$0C3,
            $0B4,$001,$0C3,$0E8,$079,$0FF,$0FF,$0FF,
            $073,$00D,$0E8,$072,$0FF,$0FF,$0FF,$073,
            $003,$0B0,$008,$0C3,$0B4,$041,$0C3,$0B4,
            $020,$0C3,$0E8,$062,$0FF,$0FF,$0FF,$014,
            $000,$048,$0C3);

     func2:array[1..264] of byte//disasm_main
          =($060,$08B,$074,$024,$024,$08B,$04C,$024,
            $028,$033,$0D2,$033,$0C0,$080,$0E2,$0F7,
            $08A,$001,$041,$00B,$014,$086,$0F6,$0C2,
            $008,$075,$0F2,$03C,$0F6,$074,$036,$03C,
            $0F7,$074,$032,$03C,$0CD,$074,$03B,$03C,
            $00F,$074,$044,$0F6,$0C6,$080,$075,$052,
            $0F6,$0C6,$040,$075,$073,$0F6,$0C2,$020,
            $075,$054,$0F6,$0C6,$020,$075,$05C,$08B,
            $0C1,$02B,$044,$024,$028,$081,$0E2,$007,
            $007,$000,$000,$002,$0C2,$002,$0C6,$089,
            $044,$024,$01C,$061,$0C3,$080,$0CE,$040,
            $0F6,$001,$038,$075,$0CE,$080,$0CE,$080,
            $0EB,$0C9,$080,$0CE,$001,$080,$039,$020,
            $075,$0C1,$080,$0CE,$004,$0EB,$0BC,$08A,
            $001,$041,$00B,$094,$086,$000,$004,$000,
            $000,$083,$0FA,$0FF,$075,$0AD,$08B,$0C2,
            $0EB,$0CD,$080,$0F6,$020,$0A8,$001,$075,
            $0A7,$080,$0F6,$021,$0EB,$0A2,$080,$0F2,
            $002,$0F6,$0C2,$010,$075,$0A4,$080,$0F2,
            $006,$0EB,$09F,$080,$0F6,$002,$0F6,$0C6,
            $010,$075,$09C,$080,$0F6,$006,$0EB,$097,
            $08A,$001,$041,$08A,$0E0,$066,$025,$007,
            $0C0,$080,$0FC,$0C0,$00F,$084,$07B,$0FF,
            $0FF,$0FF,$0F6,$0C2,$010,$075,$02D,$03C,
            $004,$075,$005,$08A,$001,$041,$024,$007,
            $080,$0FC,$040,$074,$017,$080,$0FC,$080,
            $074,$00A,$066,$03D,$005,$000,$00F,$085,
            $059,$0FF,$0FF,$0FF,$080,$0CA,$004,$0E9,
            $051,$0FF,$0FF,$0FF,$080,$0CA,$001,$0E9,
            $049,$0FF,$0FF,$0FF,$066,$03D,$006,$000,
            $074,$00E,$080,$0FC,$040,$074,$0ED,$080,
            $0FC,$080,$00F,$085,$035,$0FF,$0FF,$0FF,
            $080,$0CA,$002,$0E9,$02D,$0FF,$0FF,$0FF);

type TDISASM_INIT=procedure(tableptr:Pointer);pascal;
    TDISASM_MAIN=function(opcodeptr,tableptr:Pointer):Integer;pascal;

procedure TForm1.Button1Click(Sender: TObject);
                                        //cmp...         |sbb...
const MemToDisassemble:array[1..6]of byte=($83,$7E,$04,$01,$1B,$C0);
     size=2048;
Var
   A:array[1..size]of byte;
   res:Cardinal;
   Disasm_Init:TDISASM_INIT;
   Disasm_Main:TDisasm_Main;
begin
@Disasm_Init:=@func1;
@Disasm_Main:=@func2;
ZeroMemory(@A,size);
disasm_init(@A);
res:=disasm_main(@MemToDisassemble,@A);
ShowMessage(IntToStr(res));
end;




--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
stab
Дата 19.8.2003, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



это все для конспирации намудренно smile.gif что б ни кто не догадался smile.gif Ребята на sbvc не много двинутые, но такой код пишут, что диву даешься.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.