eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Активность приложения.
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 25 июня 2019 22:11 · Поправил: difexacaw New!
Цитата · Личное сообщение · #1

Как тему назвать лучше я не придумал

Идея следующая --> Link <--

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

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

В самом простом случае сохранение инструкции это маркер её исполнения, тоесть используется битовая карта, где каждый адрес соотвествует биту и взводится посе исполнения инструкции. Для хранения всего кода апп нужны сложные структуры(для экономии памяти), поэтому в простейшем случае можно рассматривать только основной образ апп и карту для него равную ImageSize/8.

Если искать новую инструкцию просто по этим маркерам, то это не всегда решение, так как не даст ветвление на эту инструкцию. Тоесть необходимо найти ветвление на новый адрес(маркер которого сброшен в карте). Я использовал следующий критерий отличия событий: если маркер текущей инструкции сброшен и маркер предыдущей инструкции взведён, при этом предыдущая инструкция - ветвление, это новая активность.

В первом тесте я использовал winhex, у которого ограничение на размер сохраняемого дампа. Что бы найти место проверки вначале сохраняется файл меньшего размера и при этом строится карта активности. Далее находится новый код по критерию выше при сохранении файла большего размера. В результате в лог выводятся инструкции подходящие под критерий. Место проверки сразу найдено:



Для более сложного теста я использовал апп накрытое Armadillo-й:



Строится карта, я ввожу данные в форму. Затем начинается проверка критерия, я жму на ввод. Справа начало лога. Сразу оказываемся в крипто-функции, судя по константам это BLAKE" как утверждает вики. 4B53EB как и 4B534C в логе из за особенностей построения карты - маркировка и проверка происходит после исполнения инструкции, тоесть новое ветвление есчо до проверки маркируется. Лог не полный, так как активность только для образа. Вот это место под отладчиком, это крипто-функция имени:



Как видно метод отлично работает. Интересны мысли по сабжу.

{ Атач доступен только для участников форума } - br.7z

Добавлено спустя 2 часа 24 минуты
Нашёл тему --> Link <--

Интереса ради решил взглянуть. Для блокнота 7-ки есть дебаг символы. Вот лог нажатия "=":

Code:
  1. calc.00CEDE77
  2. calc.00CEE766
  3. calc.00CE5E36
  4. calc.00CE51C4
  5. calc.00CE51D0
  6. calc.00CE51E5
  7. calc.00CE51EE
  8. calc.00CE51F4
  9. calc.00CE51FD
  10. calc.00D05306
  11. calc.00D0530D
  12. calc.00D05314
  13. calc.00D05320
  14. calc.00D0532C
  15. calc.00D0533B
  16. calc.00D05340
  17. calc.00CE6524
  18. calc.00D05355
  19. calc.00CE680B
  20. calc.00D05368
  21. calc.00D05374
  22. calc.00CE20D1
  23. calc.00CE209F
  24. calc.00CE20EC
  25. calc.00CE2148
  26. calc.00CE20EC
  27. calc.00CE2148
  28. calc.00D0543A
  29. calc.00CE22E2
  30. calc.00D0501E
  31. calc.00D05024
  32. calc.00D05036
  33. calc.00D0503C     <
  34. calc.00CE20D1
  35. calc.00CE209F
  36. calc.00CE20EC
  37. calc.00CE2148
  38. calc.00CE20EC
  39. calc.00CE2148
  40. calc.00CE20D1
  41. calc.00CE209F
  42. calc.00CE20EC
  43. calc.00CE2148
  44. calc.00CE20EC
  45. calc.00CE2148
  46. calc.00CF0F10 <




CF0F10:
Code:
  1. .text:01010F10                 call    ?powrat@@YGXPAPAU_rat@@PAU1@@Z ; powrat(_rat * *,_rat *)


{ Атач доступен только для участников форума } - calc.7z


Ранг: 655.1 (! !)
Статус: Участник
CyberMonk

Создано: 26 июня 2019 00:38 · Поправил: mak New!
Цитата · Личное сообщение · #2

Как будет проходить обработка, если есть вложенные события? Например если часть алгоритма это пролог, остальное это ветвления по условию, но этих условий более 10 скажем, они перемешаны, одно может тянуть другое, а может и далее ... Такая мутация может быть, в таком случае твой алгоритм захватит лишь малую часть, т.е. с каждым новым вызовом по условию, вероятность детекта будет падать. Вопрос - как и когда ты хочешь сбрасывать карту? В таком случае ручное управление сбросом и записью карты удобнее мне кажется.

difexacaw пишет:
если маркер текущей инструкции сброшен и маркер предыдущей инструкции взведён, при этом предыдущая инструкция - ветвление, это новая активность.


x64dbg conditional branches logger [Plugin] --> Link <--

x64_tracer
x64dbg conditional branches logger [Plugin]
This is just a work in progress so don't expect too much.
Please test it and report if you find bugs.

I use it like this :
First you need 2 break points to trace between, Start and End.

1 - Throw your target in the debugger.
2 - The Start point should break.
3 - Start the plugin.
4 - Enter the name of the module you are interested in, the plugin will try to detect the name where RIP is now.
5 - Enter the target VA, i.e the point where logging should stop, It's your End point from above.
There will be single stepping into this module but if RIP goes out of this module then there will be stepping over
in those external modules unless there is a call back into the that target module then there will be a single step into the target module.
5 - stepping will continue until we hit the 2nd point.
6 - The plugin will show a message box telling we have ended tracing.
7 - now you can save the result to a log file which looks like this in the image below.
8 - you can use any diffing system to compare the results between 2 traces, here I used a plugin for Notepad++.


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 26 июня 2019 00:53 New!
Цитата · Личное сообщение · #3

mak

> Такая мутация может быть, в таком случае твой алгоритм захватит лишь малую часть

Так ведь цель найти начало этого алго.

> На скрине выше есть 4B532B, функция вызывается многократно, но в лог попал только выход из неё по рет на новый код.

Желательно попробовать очистить события от ветвлений в пределах процедуры. Это пропустит некоторые события, но очистит лог - останутся call/jmp/ret.

Добавлено спустя 1 час 28 минут
Для наглядности записал видос --> Link <--

Взял крэкми из какой то главы Нарвахи. Вначале собирается карта, это видно когда происходят однократные остановы на действия с гуем. Затем я разблокирую процедуру проверки карты и выводится лог. Проход по логу нашёл шифр-функцию и место с проверкой.


Ранг: 660.5 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 26 июня 2019 12:20 New!
Цитата · Личное сообщение · #4

Так это - я что-то не заметил кода. Или так и должно быть? Код поделки будете показывать?

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 16:30 New!
Цитата · Личное сообщение · #5

difexacaw пишет:
Нашёл тему --> Link <--

Интереса ради решил взглянуть. Для блокнота 7-ки есть дебаг символы. Вот лог нажатия "=":


difexacaw, большое спасибо!
Не прошло и полгода и вы один из первых, кто решил пожалеть пассионарного школьника и тролля нашего форума и раскрыть для него один из своих секретов. Спасибо еще раз, тронут... весьма!

А plutos говорил, что меня на форуме никто всерьез не воспринимает. Оказывается воспринимают и очень даже всерьез. Это plutos'у только книжки читать советуют, а для меня люди и программы пишут и даст бог - научат еще ими пользоваться.


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 26 июня 2019 16:37 · Поправил: difexacaw New!
Цитата · Личное сообщение · #6

ARCHANGEL

О какой поделке ты говоришь и какой код. Как две битмапы сравнить, так зачем вам, это же несколько строк скриптовых.

mak

> Например если часть алгоритма это пролог, остальное это ветвления по условию

Я подумал немного, получается вот что. Можно поменять критерий, так наверно и нужно сделать, использовать так же обратный - описанные ветвления на не описанный код, тогда будет баланс между call-ret(определены входы в новый код и выходы из него) и можно исключить из лога апи(точнее пометить как вызов апи). То же самое можно сделать сравнением двух карт в статике, но в статике нет связи событий во времени.

Часто есть разница при запуске апп, тоесть например сейчас работает, а на следующем запуске блокируется. Можно в принципе тоже обработать аналогично, но возникает существенная проблема с ASLR.

Добавлено спустя 4 минуты
dma

> вы один из первых, кто решил пожалеть пассионарного школьника

На самом деле я просто ввёл в поиск keygenme", что бы что то(семпл) взять для примера выше. Оказалось что за год всего две темы, вторая твоя. Это просто совпадение, хотя смысл вопроса там аналогичный.

Добавлено спустя 1 час 3 минуты
Вот пример из темы рядом --> Link <--

В логе сразу код обработки пароля и крипто-функция:



Метод прост, но отлично работает

{ Атач доступен только для участников форума } - ida.7z


Ранг: 660.5 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 26 июня 2019 17:52 New!
Цитата · Личное сообщение · #7

difexacaw
Ну мож я не в теме, какие-то посты пропустил. Но у меня есть ряд вопросов.

1. Как вы определяете, какие инструкции выполнились, а какие - нет?
2. Что значит битовая карта, где каждый адрес соотвествует биту и взводится посе исполнения инструкции? Есть пример такой карты? Типа, у нас есть адрес 00430d8f - xor edx,edx. Что тут заталкивается в карту?


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 26 июня 2019 18:07 New!
Цитата · Личное сообщение · #8

ARCHANGEL

Всё крайне просто. Вчера это был тупо массив бит, сейчас я переделал что бы всё ап в карту вносилось. Простейшая таблица страниц, в которой ссылки на массивы, они выделяются налету. Собственно всё предельно просто:

Code:
  1. .data?
  2. PICT         PVOID ?
  3. ICS           RANGE <>
  4.  
  5. .code
  6. ; +
  7. ;
  8. IcTouch proc Ip:PVOID
  9.          mov edx,Ip
  10.          shr edx,12
  11.          shl edx,2
  12.          add edx,PICT     ; offset ICT
  13.                         
  14.          mov ecx,1 shl 31
  15. Spin:
  16.          xor eax,eax
  17.          cmpxchg D[edx],ecx
  18.          .if Zero?
  19.                  push edx
  20.                  invoke NtAlloc, addr ICS, 100H*200H, 200H
  21.                  mov ecx,eax
  22.                  pop edx
  23.                  mov eax,1 shl 31
  24.                  cmpxchg D[edx],ecx
  25.                  mov eax,ecx
  26.          .else
  27.                  bt eax,31       ; Wait in spin.
  28.                  jc Spin
  29.          .endif
  30.          ret
  31. IcTouch endp
  32.  
  33. ; +
  34. ;
  35. IcSet proc Ip:PVOID
  36.          invoke IcTouch, Ip
  37.          mov ecx,Ip
  38.          and ecx,PAGE_SIZE - 1
  39.          bts D[eax],ecx
  40.          ret
  41. IcSet endp
  42.  
  43. ; +
  44. ;
  45. IcGet proc Ip:PVOID
  46.          invoke IcTouch, Ip
  47.          mov ecx,Ip
  48.          and ecx,PAGE_SIZE - 1
  49.          bts D[eax],ecx
  50.          ret
  51. IcGet endp


После исполнения каждой инструкции выполняется обработка:
Code:
  1. TrCallback::
  2.          mov edi,TST.Control.rEip[esp]
  3.          invoke IcSet, Edi
  4.          .if !Carry?      ; Prim Ip
  5.                  .if !Edi
  6.                         invoke IcGet, [Esi].Tr.Ip2st ; Previous Ip.
  7.                         .if Carry?     ; Sec branch.
  8.                               mov eax,[esi].Tr.Ia.Class
  9.                               .if Eax       ; Noline
  10.                                    lea edx,G_Lbr
  11.                                    mov ecx,G_Nbr
  12.                                    mov eax,[esi].Tr.Ip2st
  13.                                    mov D[edx][ecx*4],eax
  14.                                    inc G_Nbr
  15.                               .endif
  16.                         .endif
  17.                  .endif
  18.          .endif


G_Lbr - это сам лог, !Edi - это для включения обработки в нужное время. Вот и вся обработка. Я потом изменю как выше говорил, что бы был баланс call-ret.

Добавлено спустя 13 минут
Кстате только ошибку заметил IcGet -> btS, но даже и так чудесным образом работает

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 18:22 · Поправил: dma New!
Цитата · Личное сообщение · #9

difexacaw, мне просто показалось или вы решили доработать метод Криса Касперски: взлом через покрытие?

--> Взлом через покрытие <--


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 26 июня 2019 18:26 New!
Цитата · Личное сообщение · #10

dma

Я это не читал и ничего что там описано не использовал. А в целом очевидно каждому, даже такому балбесу" как ты(судя по твоей теме), что активность апп разная при разных событиях.

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 18:38 New!
Цитата · Личное сообщение · #11

difexacaw пишет:
даже такому балбесу"


Ну ничего, difexacaw, ничего, подождите немного, я только у Плутоса спрошу: "Какие умные книги нужно прочитать?" И балбесом у нас будете вы.

Ранг: 2.8 (гость)
Статус: Участник

Создано: 26 июня 2019 18:46 · Поправил: Nihil enim New!
Цитата · Личное сообщение · #12

dma а утилитку уже написали для какого-то x64dbg/ida pro по методу криса? до половины ман прочитал пока-что

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 19:08 New!
Цитата · Личное сообщение · #13

Nihil enim пишет:
dma а утилитку уже написали для какого-то x64dbg/ida pro по методу криса? до половины ман прочитал пока-что


А вы статью Криса до конца прочитайте, может и сами ответите на вопрос. А если не ответите, то лучше спрашивать у всего форума, а не конкретно у меня - так оно надежней будет и более объективней.

Ранг: 2.8 (гость)
Статус: Участник

Создано: 26 июня 2019 20:19 New!
Цитата · Личное сообщение · #14

dma
дочитал, примитивно выглядит, интересно как быть с dll файлами

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 20:55 New!
Цитата · Личное сообщение · #15

Nihil enim пишет:
дочитал, примитивно выглядит, интересно как быть с dll файлами


Nihil enim, а что fedik разве не знает? Давайте подождем его или может ТС что-нибудь дельное посоветует. А я потом вам точно скажу - дельный они вам дали совет или в гугле что поинтересней можно найти.

Ранг: 2.8 (гость)
Статус: Участник

Создано: 26 июня 2019 20:58 New!
Цитата · Личное сообщение · #16

dma судя по вашей репутации, вы любите людей мучать


Ранг: 655.1 (! !)
Статус: Участник
CyberMonk

Создано: 26 июня 2019 21:16 New!
Цитата · Личное сообщение · #17

difexacaw пишет:
Я подумал немного, получается вот что. Можно поменять критерий, так наверно и нужно сделать, использовать так же обратный - описанные ветвления на не описанный код, тогда будет баланс между call-ret(определены входы в новый код и выходы из него) и можно исключить из лога апи(точнее пометить как вызов апи). То же самое можно сделать сравнением двух карт в статике, но в статике нет связи событий во времени.


Оптимальное решение. В твоём двиге уже столько функционала, как всё это переключать?! Ведь бит карта работает не всегда?! Обновлённый енджин с сорсами будет?

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 26 июня 2019 22:14 New!
Цитата · Личное сообщение · #18

mak пишет:
Обновлённый енджин с сорсами будет?


Кстати, mak, какую тему вы интересную затронули, для меня по крайней мере. Хоть и оффтоп, но тема все равно родственная. Если вы про Cheat Engine, то хотел спросить: "Вешь стоящая и для каких целей она лучше подходит, на ваш взгляд?" Я на сайте геймеров как-то видел, его и в качестве трассировщика используют и как сканер памяти и инжекты для него, вроде, какие-то пишут. Или если знать Эксодию, Виндебаг, то Енджин уже ни к чему?

Ранг: 35.5 (посетитель)
Статус: Участник

Создано: 27 июня 2019 00:04 New!
Цитата · Личное сообщение · #19

difexacaw пишет:
но возникает существенная проблема с ASLR.

так ли она существенна ? - в гугле есть какие то методы для отключения и какойто даже работает (для винды-7)


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 27 июня 2019 11:55 · Поправил: difexacaw New!
Цитата · Личное сообщение · #20

bartolomeo

Проблема не с образами, там база указана, а с буферами. Если зафиксировать образы, то всё равно система сама выбирает где выделять буфера. Это наверно по простому не получится сделать, можно конечно сохранить базы при первом запуске и во втором принудительно адреса задавать для буферов. А есчо в юм есть рандомизация, как в загрузчике, так и в heap. Это нужно подробно всё изучать.

mak

> Оптимальное решение.

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

> Обновлённый енджин с сорсами будет?

Не особо важно чем трассировать. Можно попробовать тот же SDE, хоть под ним и не всё работает. Я попытался крутнуть шахматного бота, появилась проблема. А именно что визор дико тормозит его, противник не может дождаться хода и покидает игру
Так что иногда важно что бы шустро крутилось.


Ранг: 660.5 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 27 июня 2019 14:33 New!
Цитата · Личное сообщение · #21

Такое чувство, что я пропустил начало этого разговора.

После исполнения каждой инструкции выполняется обработка
Как исполнение запускается, что это за код и кто его дёргает? Можно как-то сначала начать повествование?

| Сообщение посчитали полезным: sefkrd



Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 27 июня 2019 14:41 New!
Цитата · Личное сообщение · #22

ARCHANGEL

А какая разница как он трассируется. Это собственно не относится к теме.


Ранг: 660.5 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 27 июня 2019 16:24 New!
Цитата · Личное сообщение · #23

difexacaw
Мне это нужно для понимания темы и оценки достоверности/практичности метода.


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 27 июня 2019 16:54 New!
Цитата · Личное сообщение · #24

ARCHANGEL

Можно к примеру через SDE.

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 27 июня 2019 18:14 · Поправил: dma New!
Цитата · Личное сообщение · #25

difexacaw, вы вроде знакомы с PIN и, вроде, немного разобрались с SDE. В чем их отличие и плюсы, минусы каждого? Не поделитесь своей секретной информацией? Просто интересен ваш взгляд "старого хакера" на эти вещи.

А ваш движок вы уже не будете адаптировать к современности, так сказать (без всякой иронии)?

Может вам на базе > этой библиотеки < замутить какой-нибудь свой новый движок?


P.S. Извиняюсь, если из-за своего малого опыта, какие-либо советы или вопросы вам покажутся глупыми.


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 27 июня 2019 20:56 · Поправил: difexacaw New!
Цитата · Личное сообщение · #26

dma

> вы вроде знакомы с PIN и, вроде, немного разобрались с SDE. В чем их отличие и плюсы, минусы каждого?

SDE это инструмент, пин же мотор, который сам по себе ничего не делает. Им управляет SDE. Ты думал это разные инструменты

Как пин работает я толком не знаю, впрочем мне это мало интересно. Можно посмотреть как работает с ним SDE, так это набор дичайших костылей. Оно не только эмулирует инструкции, но выделяет в буфера циклы и напрямую их там запускает, короче там чёрт ноги сломит. Фишка в том, что как я знаю SDE не опенсорс. Его не так просто под свои цели переделать, к примеру в сурках пина есть выборка инструкции, реально же это её копирование в pinvm.dll не в порядке очереди, а фактически рандомом, так трассировать не получается. А есчо к трассируемому коду выборки тоже произвольны, он зачем то копируется в буфера

> А ваш движок вы уже не будете адаптировать к современности

А что там адаптировать, он отлично крутит 86, получше к примеру того же SDE в свои 50кб. Но современность это 64.

> Может вам на базе > этой библиотеки < замутить какой-нибудь свой новый движок?

Это всё бесполезные навороты, имхо.

| Сообщение посчитали полезным: dma


Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 27 июня 2019 21:29 · Поправил: dma New!
Цитата · Личное сообщение · #27

difexacaw пишет:
Ты думал это разные инструменты


Ну то, что в SDE входит PIN, про это я, допустим, читал. А в целом, естественно, во все тонкости еще не посвящен - не успеваю, времени не хватает. За час, за два это же все не освоишь. Как говорится, "разрываюсь на части", то одно урвешь, то другое, но постепенно, я думаю, можно во всем разобраться. Сейчас вот заинтересовался эмулятором Bochs, вы с ним никогда не работали? Любимый инструмент (из эмуляторов), кстати, Ионеску.

Ранг: 69.0 (постоянный)
Статус: Участник

Создано: 27 июня 2019 21:37 New!
Цитата · Личное сообщение · #28

difexacaw пишет:
> Может вам на базе > этой библиотеки < замутить какой-нибудь свой новый движок?

difexacaw пишет:
Это всё бесполезные навороты, имхо.


difexacaw пишет:
Я пиздабол


Ранг: 314.0 (мудрец)
Статус: Участник

Создано: 27 июня 2019 21:52 New!
Цитата · Личное сообщение · #29

dma

Тебе как и мне бош не нужен, тебе до запила своей ОС очень далеко. А для иных целей оно не нужно. У ионеску главный инструмент это пиар, остальное не важно.

> Ну то, что в SDE входит PIN, про это я, допустим, читал.

Как это описывается не соответствует реальности, лучше раз увидеть, чем сто раз какую то фигню про него прочитать. Вот смотри интересная фича. Обычно отладка юзер апп начинается с системных шлюзов, тоесть это интерфейс к ядру. Если апп что то делает, то оно непременно обратиться к ядру. Вот запущен SDE и выводит трассу в файл. В работе задействовано 3 процесса. Два из них остановлены, работает сам пин.

Файл с логом растёт в размере. Я ставлю останов на возврат из ядерного шлюза, ничего не происходит - сервисы не вызываются. Останавливаю поток - файл не растёт. В 86 из сервисного вызова возврат на фиксированный адрес, как такое может быть ?

Нужен ядерный отладчик ?. Он вызывает сервисы через старый шлюз прерывания, что бы это нельзя было в юзермоде отлаживать. Возврат из прерывания на следующую инструкцию, тоесть нужно знать где вызывается Int2e. Если тормознуть в произвольный момент, то на нём и становится. Такое даже дикая малварь не юзала обычно, в старые добрые времена



{ Атач доступен только для участников форума } - sde.7z

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 27 июня 2019 22:56 New!
Цитата · Личное сообщение · #30

difexacaw пишет:
Тебе как и мне бош не нужен, тебе до запила своей ОС очень далеко. А для иных целей оно не нужно.


Вот как раз для иных целей он мне, возможно, и будет очень полезен. Вот скажем понадобится вам для дела не 4 а 40 или 100 аппаратных точек прерывания (BP) и что вы будете делать? А я вам отвечу, что для этого вам нужно всего лишь открыть Бош и ставьте хоть 200 аппаратных точек прерывания. Я уже молчу про всякие "витиеватые" условия срабатывания этих самых точек (BP). Ладно, difexacaw, разберусь с Бошем - я вас научу. О Боше, кстати, хорошо отзывался ntldr, у нас на форуме. Я так понял, что Бош ему очень нравиться. А вот то, что он жутко тормозит это да, но у каждой медали есть обратная сторона. Говорят, что на отладке это не так заметно, как при работе OS в эмуляторе. В общем, нужно хотя бы раз попробовать, чтобы узнать все на практике. А для этого все равно нужно в нем разобраться.

P.S. Я что думаю, difexacaw, может нам для общения на почту перебраться или хотя бы в личку, а то мы тут такие темы обсуждаем, что f13nd может позвонить своим коллегам генералам из спецслужб и за вами приедут. Или вы вместе с ним тоже там работаете.
. 1 . 2 . >>
 eXeL@B —› Основной форум —› Активность приложения.
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS