HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 19.08.2007, 20:11
GoreMaster
Участник форума
Регистрация: 28.05.2007
Сообщений: 125
Провел на форуме:
638513

Репутация: 103
По умолчанию

Цитата:
ЗЫ нужно что бы учитывало реестр символов.
Может регистр символов? О_о
 
Ответить с цитированием

  #2  
Старый 19.08.2007, 20:32
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

> cmp buf,'SubString'

это че за долбоенб писал?
 
Ответить с цитированием

  #3  
Старый 19.08.2007, 21:17
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
cmp buf,'SubString'
Это просто жесть...
 
Ответить с цитированием

  #4  
Старый 19.08.2007, 21:39
Lamia
Участник форума
Регистрация: 11.07.2007
Сообщений: 190
Провел на форуме:
254313

Репутация: 185
По умолчанию

Если учитывать регистр символов то туть можно через хеш:
Код:
_1 db 'Lamia',0
_2 db 'lamia',0

title db 'Слова разные',0
_title db 'Слова одинаковые',0

 entry $

        xor  esi,esi
        mov   edi,_1

next:

        mov     eax, edi
        xor     edx, edx
hash:
        rol     edx, 3
        xor     dl, byte [eax]
        inc     eax
        cmp     byte [eax], 0
        jnz     hash

        cmp     esi,0
        je      @
        cmp    esi,edx
        je     f@

        invoke MessageBox,0,title,0,0
        jmp  exit
 @:
        mov esi,edx
        mov edi,_2
        jmp  next
 f@:
        invoke MessageBox,0,_title,0,0
  exit:
        ret

Последний раз редактировалось De-visible; 29.04.2008 в 01:14.. Причина: теги [code] для кого придумали?
 
Ответить с цитированием

  #5  
Старый 19.08.2007, 21:49
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

что делает инструкция int?
 
Ответить с цитированием

  #6  
Старый 19.08.2007, 21:55
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

прерывание
 
Ответить с цитированием

  #7  
Старый 20.08.2007, 00:28
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Инструкиця INT xx делает следующее:

1) Если она выполняется в реальном режиме, то ее псевдокод такой:
pushf
push cs
push ip
// из слова 0:[xx<<4] берется сегмент, из слова 0:[xx<<4 + 2] берется смещение и выполняется дальний переход на этот адрес - обработчик прерывания.

2) Если она выполняется в защищенном режиме, то ее псевдокод такой:
pushfd
push cs
push eip
// проверка защиты
// смена уровня привилегий если нужно
// прыжок на адрес, задаваемый селектором IDT[xx].Selector и смещением IDT[xx].Offset

В двух словах оно нужно для передачи управления некоторой фиксированной системной процедуре для выполнения определенного действия.

В DOS/Windows системные апи реализованы в виде прерываний (в Windows только до XP, дальше идет другой механизм).

BIOS устанавливает свои обработчики для аппаратных сервисов.

Еще кроме программных прерываний есть аппаратные прерывания. Например: 1 или 3. Процессор генерирует их сам, если произойдет определенное событие.
 
Ответить с цитированием

  #8  
Старый 20.08.2007, 01:23
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

scrat я полагаю тебя интересует вин? Винда работает в пмоде, так что тебе нужен пункт 2, привиденный гритом. Кстати, про перывания есть множество статей, если хочешь узнать про них больше - поищи на васме например.
>>в Windows только до XP, дальше идет другой механизм
sysenter имеешь ввиду?

Последний раз редактировалось Ni0x; 20.08.2007 в 01:50..
 
Ответить с цитированием

  #9  
Старый 20.08.2007, 09:17
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
>>в Windows только до XP, дальше идет другой механизм
sysenter имеешь ввиду?
именно
 
Ответить с цитированием

  #10  
Старый 22.08.2007, 06:19
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

на счёт поиска подстроки - лучше юзать repe cmps. у зубкова написано. есть специальная фича для сравнения строк - cmpS. но и просто байтово можно через cmpb вроде. карочу зубкова есть хорошая глава про префикс повторения и команды сравнения. ну а дальше тока вшений цикл, который сдвигает смещение в строке, в которой ищется подстрока.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 92 14.05.2010 17:59
ОС с нуля z01b С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 36 03.07.2008 15:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ