eXeL@B —› Вопросы новичков —› Найти обработчик события click для кнопки |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 15 февраля 2019 10:59 · Личное сообщение · #1 Здравствуйте, ув. Профессионалы! Описание задачи: - есть программа, написанная на S#. При запуске программы появляется форма для ввода логина и пароля, и соответственно с кнопками Войти и Отмена. Требуется найти обработчик события click для кнопки Войти (чтобы поставить туда бряк и дальше заниматься исследованием защиты программы) Что уже было сделано: 1. простой поиск в dnSpy по событию click для всех файлов в том же каталоге ничего не дал 2. пробовал еще сделать так. Запустить программу, после запуска подцепиться к процессу с помощью трейсера dotTrace Performans, чтобы увидеть этот самый обработчик. Но тест результата не дал - dotTrace не умеет подцепляться и к процессу и к связанным с этим процессом библиотекам. Трассировку по связям можно отследить только если трейсер и будет запускать эту программу Возможно для языка программирования S# нужно искать какие-то др. параметры обработчика события нажатой кнопки. С S# не знаком, программировал только на Visual Basic 6 !!!Прежде всего интересует техника, алгоритм или последовательность действий в нахождении решения по данному вопросу (обработчика события для кнопки) Файлы с программой: |
|
Создано: 15 февраля 2019 18:07 · Личное сообщение · #2 rukop84 Я попробовал запустить под варей на xp и 7-ке, что бы посмотреть лог событий. Выдаётся сообщение: Code:
Почему эта ошибка возникает можно посмотреть, но не нужно, так как в таком скриптовом говне они есть всегда. Поэтому бери апи монитор и посмотри события вызова апи. ----- vx |
|
Создано: 15 февраля 2019 18:15 · Личное сообщение · #3 Последовательность действий Трудный путь - создаешь простейшее wpf приложение с одной кнопкой. Вешаешь на кнопку событие click.Компилируешь, открываешь получившееся в dnSpy, находишь в нем свое событие (пусть будет Button_Click) на нем жамкаешь правую кнопку мыши, затем в контескт меню ищешь Analize а в нем Used by и вот там ты увидишь вызов своего button_click. Название метода на событии нажатии кнопки может быть любым, содержимое любым, а вот метод где происходит подписка он всегда один и у него название всегда одно и тоже, и его наличие в классе всегда указывает на то что это форма. Если бы ты проводил исследование winform проекта это был бы метод Initialize, как он называется в wpf - это тебе и предстоит узнать. Легкий путь - в запросы на взлом(и ценник установи от 2к$) | Сообщение посчитали полезным: rukop84 |
|
Создано: 15 февраля 2019 19:39 · Личное сообщение · #4 |
|
Создано: 15 февраля 2019 19:47 · Поправил: difexacaw · Личное сообщение · #5 Medsft А клик когда, нажимаешь или отпускаешь кнопку ? Из огромного множества реализаций, почему такая же кнопка должна использовать тот же наугад выбранный механизм. Это вероятность астрономически мала". ТС > Приятно получить совет от Мастера Тоесть вам приятно что вас послали в комерц за 2k.. это будет наверно не только вам приятно. Когда вы сюда очень быстро вернётесь, не решив задачу. ----- vx |
|
Создано: 15 февраля 2019 20:27 · Личное сообщение · #6 |
|
Создано: 15 февраля 2019 20:58 · Личное сообщение · #7 |
|
Создано: 16 февраля 2019 06:31 · Личное сообщение · #8 О божечки. Правка - искать в сборках - 'OnClick' - 'System.Windows.Controls.Button'. Брякнувшись туда находишь this.name="ButtonLogin", Правка - искать в сборках - 'ButtonLogin' попадаешь в класс Jnr с методом Login(). Ну и по стеку вызовов можешь посмотреть что туда привело, если хочешь. Апимонитор на дотнет это просто конский профессионализм, ага. ----- 2 оттенка серого | Сообщение посчитали полезным: hlmadip, rukop84 |
|
Создано: 16 февраля 2019 08:33 · Личное сообщение · #9 Все на много проще чем вы думайте Запускаем под отладной нажимаем на кнопку и сразу жмем паузу входим с тек вызовов и находим нужную фукцию | Сообщение посчитали полезным: rukop84 |
|
Создано: 16 февраля 2019 13:08 · Личное сообщение · #10 f13nd > Апимонитор на дотнет это просто конский профессионализм Есть два пути решения, частный и общий. Вы описали частный, для этого каждое апп нужно разбирать, как оно работает, а это нубский способ, так как на это нужно слишком много времени. В общем случае само апп не важно, его не нужно разбирать, а поэтому это быстро. Тут есть два варианта. 1. Доставка событий из км происходит через один шлюз, туда входит любой тред при любом гуй событии. Далее в работу втягивается весь нэйтив-гуй, происходит многократная индексация из массивов с соотвествующими событию обработчиками. Когда поток покинет слой нэйтива он пойдёт обрабатывать гуй апп, соотвествующие оконные сообщения, те тред покинет общую среду для каждого гуй события/обьекта и пойдёт на обработку в само апп. На этом этапе можно получить все нужные события. Например поставить останов на событие клика мышем. Но для этого нужно эти механизмы знать. 2. Так как стек вызовов по сути связывает события через процедурные ветвления, то получив какое то событие, которое относится к целевому, можно найти источник вызова. Таким событием может быть некоторая активность апп, те вызов апи. Это самый простой вариант, так как для этого есть множество простых инструментов. Даже не зная нужных событий можно по общему логу апи определить целевое событие и дальше уже с ним поработать. ----- vx |
|
Создано: 16 февраля 2019 13:42 · Поправил: f13nd · Личное сообщение · #11 difexacaw пишет: В общем случае само апп не важно, его не нужно разбирать, а поэтому это быстро. Перечитай еще раз что надо было сделать и для чего. ЧТО даст тебе перехват события клика мыши из нейтива? Там нет прямой связи между обработчиком и событием, где-то в самых ебенях огромной кучи объектов зарегистрирован нужный обработчик, ничего тебе перехват с нейтива не даст. ----- 2 оттенка серого |
|
Создано: 16 февраля 2019 13:53 · Личное сообщение · #12 f13nd События клика даст, это задача тс. Ты есчо слишком юн, что бы понять общие способы. Тебе есчо нужно несколько лет ковыряться в отладчике с каждым семплом, только потом ты поймёшь. А есчо это давно делает автоматика, ловит все события, ищет ep etc. Но тут речь про простые способы, про юзер отладчик. ----- vx |
|
Создано: 16 февраля 2019 14:00 · Личное сообщение · #13 |
|
Создано: 16 февраля 2019 14:06 · Личное сообщение · #14 |
|
Создано: 16 февраля 2019 14:08 · Поправил: DrVB_5_6 · Личное сообщение · #15 f13nd мэтр сказал: difexacaw пишет: Ты есчо слишком юн, что бы понять общие способы. Он, правда, слабо представляет, что такое языки высокого уровня и тем более системы программирования и тем более вряд ли когда дойдёт до framework-ов. difexacaw пишет: Тебе есчо нужно несколько лет ковыряться в отладчике с каждым семплом, только потом ты поймёшь. Вряд ли ему будут доступны в ближайшем будущем вещи похожие хотя бы на простейшие вещи типа VB, а уж NET - это вообще круче китайского... Блин, с отладчиком в NET-e (или типа того) ловить "мышиную" возню... Комментарии излишни... Аминь... |
|
Создано: 16 февраля 2019 14:15 · Личное сообщение · #16 difexacaw пишет: Я мог найти нужные тс процедуры за минуту, но оно не запустилось. Мог бы залезть на Эверест на ходулях, но боюсь насморк подцепить. ----- 2 оттенка серого | Сообщение посчитали полезным: DrVB_5_6 |
|
Создано: 16 февраля 2019 14:22 · Поправил: difexacaw · Личное сообщение · #17 DrVB_5_6 Такие как ты пишут вредоносный софт, вы открываете визуальный яп и кидаете туда контрол, при этом обычная кнопка добавляет +100кб мусора в апп, в котором автор формошлёпства в выхлопе разобраться не способен. Вот и получается что такое дерьмо не может стабильно работать, портит всё, глючит и валится с ошибками. Это ваша парадигма фрейморков. Оно по цепочке накапливается, один нашлёпал, собрал билд, другой это подхватил и заюзал. И так по цепочке. На выходе апп построенное из говна и палок, полный анстаб. Понятия безопасности на таком уровне пр-я не существует. ----- vx |
|
Создано: 16 февраля 2019 14:36 · Личное сообщение · #18 |
|
Создано: 16 февраля 2019 14:38 · Личное сообщение · #19 difexacaw пишет: Такие как ты пишут вредоносный софт Ну и дурак, ты Федя!... Я вообще только реверсом занимаюсь. Если и пишу, то на различных скриптах. Вообще-то интеловские маны достаточно хорошо знаю, даже тебе, как-то раз нос утирал... В отличие от тебя, знаю, как устроены фреймворки снаружи и изнутри. difexacaw пишет: На выходе апп построенное из говна и палок, полный анстаб. Ну, конечно, лучше сидеть, как ты, играть в "китайский" биллиард да "умные" советы не в тему давать!... |
|
Создано: 16 февраля 2019 14:46 · Личное сообщение · #20 |
|
Создано: 16 февраля 2019 14:52 · Личное сообщение · #21 |
|
Создано: 16 февраля 2019 14:55 · Личное сообщение · #22 |
|
Создано: 16 февраля 2019 14:59 · Личное сообщение · #23 |
|
Создано: 16 февраля 2019 15:00 · Личное сообщение · #24 difexacaw пишет: А он как и ты - только говном кидать можете, а по делу ничего. Да вроде в этом топике никто не кидал в тебя. Гальюники лечить надо... Ты сам перечитай свои советы в этом топике с самого начала... Люди-то реальные советы дают, не поливают никого, сам же начал-то на f13nd выступать и поливать его. Так что смотрись в зеркало... |
|
Создано: 16 февраля 2019 15:08 · Поправил: difexacaw · Личное сообщение · #25 f13nd DrVB_5_6 Ну и что конкретно вы посоветовали, ну открыл студентик отладчиком семпл, посмотрел текстовые строки. Такой ответ не устроит тс, он ищет общий способ решения, это сказано в первом его посте. А для этого варианты решения я описал в #10, просто и понятно, без всяких сложностей, типо визоров, ему это пока знать не нужно. А вы в двоём лучше изучите интерфейс нэйтив гуя, тогда вы сможете с ним работать и в отладчике, соотвественно дать конкретный совет по проблеме, это штатные вопросы - найти какое то гуй события. Опишите как это просто сделать в олли например. Это покроет множество тем тут подобных. ----- vx |
|
Создано: 16 февраля 2019 15:15 · Личное сообщение · #26 |
|
Создано: 16 февраля 2019 15:15 · Поправил: DrVB_5_6 · Личное сообщение · #27 difexacaw пишет: А вы в двоём лучше изучите интерфейс нэйтив гуя, тогда вы сможете с ним работать и в отладчике, Ну до тебя, как до жирафа слабо доходит, что умные люди гланды через жопу не рассматривают. Есть способы попроще. И вот что удивляет: почему обычно горло лечат терапевты, а не проктологи - только ведь дырки разные |
|
Создано: 16 февраля 2019 15:19 · Личное сообщение · #28 |
|
Создано: 16 февраля 2019 15:25 · Личное сообщение · #29 f13nd > Опиши как в олли например выйти на обработчик клика в дотнете Тебе всю нэйтив цепочку описать от входа потока в юзер шлюз и до прыжка в гуй апп ? Я могу это сделать, но ты забыл главное - своя работа, те отсутствие инфы даст мотивацию тс. Всё можно узнать даже не открывая отладчик - есть сурки нт, смотри pfndword". Для этого нужно использовать лишь многократный поиск по суркам. Это даст понимание как это всё устроено. А что ты глянул в отладчике строки - никак не поможет ни тебе и не тс. ----- vx |
|
Создано: 16 февраля 2019 15:27 · Личное сообщение · #30 |
. 1 . 2 . 3 . >> |
eXeL@B —› Вопросы новичков —› Найти обработчик события click для кнопки |
Эта тема закрыта. Ответы больше не принимаются. |