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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить значения дебуг регистров, При этом написав код на Delphi, без асм! 
:(
    Опции темы
ne0n
Дата 23.8.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


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

Репутация: 4
Всего: 11



Цитата(EvilsInterrupt @  23.8.2007,  19:41 Найти цитируемый пост)
 Принцип таков: вашу защиту все равно обойдут, но ваше ПО будет дольше держаться, если у нее будет как можно сложней защита!


не факт чем интересней защита и популярней программа...тем меньше она продержиться! smile 

PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 24.8.2007, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, Ну вот возьмем StarForce, ее стоко народу ломало, а за месяц не осилили ;) О чем говорит?
PM MAIL WWW ICQ Jabber   Вверх
sentry
Дата 24.8.2007, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


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

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



EvilsInterrupt, я бы ответил на твои посты, но тогда тема безнадежно увязнет в оффтопе, поэтому промолчу  smile 

По существу могу дать вот эту ссылку, может помочь.
PM MAIL   Вверх
EvilsInterrupt
Дата 24.8.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



sentry, Ты не вникаешь в суть темы! А требуется подсказать мне то, как написать код на языке Object Pascal с применением Delphi, без применения асм-вставок!
На ассемблере я вырос, это мой любимый язык программирования! Уверяю тебя то что ты приводишь, последня ссылка, эта статья была прочитана мною сразу же как только она появилась на wasm.ru, потому что это мой строгий "бятя", более того, в статьях есть и мой труд! Это первое.
В этой статье применяется язык C, а я прошу на Object Pascal, думаю ты знаешь что С и Object Pascal разные вещи, это второе.
Я прошу не о том, что мне стоит и что не стоит делать, а прошу о том как решить задачу, которую я описал еще в первом посте! Это третье.

ЗЫ:
Прошу тебя и всех других с уважением отнестись на поставленные вопросы, если вам кажется что они глупы, не спешите с выводами, а уточните о чем речь и бога ради, хотя бы разок прочтите "Как задавать провильно вопрос?". Если бы ты его почитал, то ты бы знал что прочитав спустя рукава тему, не уяснив сути вопроса и лезть тут же отвечать является признаком дурного тона!


M
Girder
Прошу вас... уважать других участников форума. Каждый участник в меру своих способностей пытается вам помочь. Ни кто не хочет вас на форуме обидеть/напакостить/и т.п.


Это сообщение отредактировал(а) EvilsInterrupt - 24.8.2007, 12:14
PM MAIL WWW ICQ Jabber   Вверх
sentry
Дата 24.8.2007, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


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

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



Цитата(EvilsInterrupt @  19.8.2007,  16:40 Найти цитируемый пост)
Вот ну не врубаюсь как написать код на дельфи так чтобы получить значения структуры при возникновении исключения )))


Цитата(EvilsInterrupt @  24.8.2007,  13:37 Найти цитируемый пост)
последня ссылка, эта статья была прочитана мною сразу же как только она появилась на wasm.ru,


EvilsInterrupt, ты все-таки заставил меня написать код  smile 
Эта программа, написанная по той статье, правильно выводит значения этих регистров (проверял вроде), но я не уверен, что правильно их меняет.
Кстати, в ОС программа работает нормально, в OllyDbg зацикливается, а в W32Dasm вообще не открывается  smile 

Код

  PExceptionPointers = ^TExceptionPointers;

var
  Form1: TForm1;
  pHandler: Pointer;

implementation

{$R *.dfm}

const
  EXCEPTION_CONTINUE_SEARCH = 0;

function AddVectoredExceptionHandler(FirstHandler: Cardinal;
  VectoredHandle: Pointer): Pointer; stdcall; external 'kernel32';

function RemoveVectoredExceptionHandler(VectoredHandlerHandle: Pointer): Cardinal;
  stdcall; external 'kernel32';

function MyVectoredHandler(ExceptionInfo: PExceptionPointers): Longint; stdcall;
begin
  ShowMessage('Перехвачено');
  ShowMessage(IntToStr(ExceptionInfo^.ContextRecord.Dr0));
  ShowMessage(IntToStr(ExceptionInfo^.ContextRecord.Dr1));
  ShowMessage(IntToStr(ExceptionInfo^.ContextRecord.Dr2));
  ShowMessage(IntToStr(ExceptionInfo^.ContextRecord.Dr3));
  ExceptionInfo^.ContextRecord.Dr0 := 0;
  ExceptionInfo^.ContextRecord.Dr1 := 0;
  ExceptionInfo^.ContextRecord.Dr2 := 0;
  ExceptionInfo^.ContextRecord.Dr3 := 0;
  ExceptionInfo^.ContextRecord^.ContextFlags := CONTEXT_DEBUG_REGISTERS;
  SetThreadContext(GetCurrentThread, ExceptionInfo^.ContextRecord^);
  Result := EXCEPTION_CONTINUE_SEARCH;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  pHandler := AddVectoredExceptionHandler(1, @MyVectoredHandler);
  if pHandler = nil then
    ShowMessage('Error: AddVectoredExceptionHandler');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  ErrCode: Cardinal;
begin
  ErrCode := RemoveVectoredExceptionHandler(pHandler);
  if ErrCode = 0 then
    ShowMessage('Error: RemoveVectoredExceptionHandler');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  try
    raise Exception.Create('MyException');
  except
    Caption := 'Произошло исключение';
  end;
  Caption := 'Выполнение продолжилось';
end;

PM MAIL   Вверх
EvilsInterrupt
Дата 24.8.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



sentry, Вот!!! Вот именно это я хотел. Спасибо! Вот щас ты сказал и написал по существу и я очень тебе благодарен ;)
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

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

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

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


 




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


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

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