информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСтрашный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Pascal] Спецы, помогите пожалуйста. 19.07.01 14:47  Число просмотров: 2198
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Самый простой способ проверить наличие защиты на изменение кода -
в интересующем месте исходной программы поменять местами 2 команды, в данном случае это
SUB EAX,[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
Если такой защиты нет, то на работе программы такое изменение никак сказаться не должно.

Дальше такое соображение: вызов MessageBox отключался вместе со стоящими перед
ним PUSH'ами? Если нет, то стек подобной шутки не простит. Я бы фрагмент
PUSH 10
PUSH 121585F0
PUSH 1215855C
PUSH EBX
CALL [USER32!MESSAGEBOXA]
CALL EDI
SUB EAX.[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190
переписал в виде
nop....nop
mov eax,600
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190

0x600=1536 (полторы секунды - вполне нормальное время реакции).
<programming>
[Pascal] Спецы, помогите пожалуйста. 19.07.01 12:30  
Автор: X_Shadow Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Ситуация следующая. Я програмист. Взялся разработать один проект. Дизайн для
него важен. Решил использовать технологию скинов. Наткнулся на пакет
ActiveSkin производитель SoftShape (softshape.com). Класный пакет, красивые
и мощные эфекты. Но это все лирика. Короче, пакет шароварный 90$, и если не
зарегестрирован, то при запуске матерится, но работает. Решил сее
упущение подправить. SoftIce-ом нашел нужные байты для подправки в памяти,
они оказались в OCX - элементе.
...
MOV EDI, [KERNEL32!GETTICKCOUNT]
CALL EDI
MOV [EBP-0C],EAX
PUSH 10
PUSH 121585F0
PUSH 1215855C
PUSH EBX
CALL [USER32!MESSAGEBOXA]
CALL EDI
SUB EAX.[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190
JB 12121622
.....

Как зарегестрить так сказать "официально" я не знаю, наверное где-то прописыва
ется в реестре. Но меня устроит, пусти оно не матерится при запуске. Я отключил
вызов функции MessageBoxA, там еще и защита по времени выполнения, если менее
190 тиков повторяется вызов всего этого блока и понятное дело падает в
бесконечный цикл. Я подправил и это, изменив 190 на 0. Все заработало не
матерясь. Но ОБЛОМ!. При двойном клике на форме прога виснит вообще.
Может это и совпадение и виснит оно не в обработчике двойного клика, а например,
при перерисовке формы. Как я не бился ничего. Но что еще самое странное,
я попробовал оставить вывод окна сообщения, но поменял
PUSH 10 на PUSH 0, по сути поменял внешний вид окна, и оно поменялось при выводе,
но опять все висло. Я подумал, може каким-то образом проверяется на изменения
кода, правдо не представляю как, но оказалось нет. Так как когда я только
поменял в CMP 190 на 0, то все работало не вися. У меня уже ум за разум заходит,
что делять не знаю, може кто поможет, я не много знаю из технологии OCX, може
что там есть хитрое. Но что еще странное, демка, поставляемая в пакете на
Delphi на 200 с хвостом килл больше чем мною скомпиленное из их исходников, без
малейшего изменения. Что может быть, помогите, кто знает, советом или практически.
Я хотел бы использовать этот пакет.

P.S. Буду очень признателен за помощь. Заранее благодарен.
[Pascal] Спецы, помогите пожалуйста. 22.04.03 03:04  
Автор: Васек Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А ты не пробовал платить за нее? Програмисты все же старались.
Я заплатил и все работает отлично.
Присмотритесь к дате корневого сообщения, ветке уже год ;-) 01.08.02 15:01  
Автор: Cyril <sc> Статус: Member
Отредактировано 01.08.02 15:01  Количество правок: 1
<"чистая" ссылка>
В догонку 30.07.02 20:26  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Не знаю где ты смотрел про регистрацию, но для русских написано 100р.
Спишись с автором. Или в долг даст, или вообще подарит (может быть). Наш автор. Ты же коммерческий проект делаешь. А он тоже не просто так пакет этот писал. 01.08.02 12:24  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
[Pascal] Спецы, помогите пожалуйста. 19.07.01 14:47  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Самый простой способ проверить наличие защиты на изменение кода -
в интересующем месте исходной программы поменять местами 2 команды, в данном случае это
SUB EAX,[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
Если такой защиты нет, то на работе программы такое изменение никак сказаться не должно.

Дальше такое соображение: вызов MessageBox отключался вместе со стоящими перед
ним PUSH'ами? Если нет, то стек подобной шутки не простит. Я бы фрагмент
PUSH 10
PUSH 121585F0
PUSH 1215855C
PUSH EBX
CALL [USER32!MESSAGEBOXA]
CALL EDI
SUB EAX.[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190
переписал в виде
nop....nop
mov eax,600
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190

0x600=1536 (полторы секунды - вполне нормальное время реакции).
[Pascal] Спецы, помогите пожалуйста. 30.07.02 20:23  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Может я не профи , но сделал так и работает у меня как часы:

Кусок:
:1001BD3E 399EF0000000 cmp dword ptr [esi+000000F0], ebx
:1001BD44 57 push edi
:1001BD45 753A jne 1001BD81
:1001BD47 391D58090410 cmp dword ptr [10040958], ebx
:1001BD4D 7532 jne 1001BD81

Заменил на:
:1001BD3E 399EF0000000 cmp dword ptr [esi+000000F0], ebx
:1001BD44 57 push edi
:1001BD45 753A je 1001BD81
:1001BD47 391D58090410 cmp dword ptr [10040958], ebx
:1001BD4D 7532 je 1001BD81

А при переносе на другую тачку всё работает? 02.02.04 18:17  
Автор: Jackson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Может я не профи , но сделал так и работает у меня как
> часы:
>
> Кусок:
> :1001BD3E 399EF0000000 cmp dword ptr
> [esi+000000F0], ebx
> :1001BD44 57 push edi
> :1001BD45 753A jne 1001BD81
> :1001BD47 391D58090410 cmp dword ptr [10040958],
> ebx
> :1001BD4D 7532 jne 1001BD81
>
> Заменил на:
> :1001BD3E 399EF0000000 cmp dword ptr
> [esi+000000F0], ebx
> :1001BD44 57 push edi
> :1001BD45 753A je 1001BD81
> :1001BD47 391D58090410 cmp dword ptr [10040958],
> ebx
> :1001BD4D 7532 je 1001BD81
>


А при переносе на другую тачку всё работает?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach