C-C++ Разбор программы написанной на Microsoft Visual C++ 7.0

_MBK_

Новичок
Сообщения
264
Реакции
65
Так на mcvc не обязательно юзать mfc. И даже наоборот.
Оконное приложение MSVC без MFC?
Вкусы кодера весьма специфичны. А какие тогда ординалы нужны?
Хоть и кое-кто говорит, что от бритвы Оккама всего один шаг до духовной кастрации, но самое очевидное обьяснение практически всегда правильное.
 

DMA/STY

Новичок
Сообщения
37
Реакции
7
Любое сообщение можно перехватить, главное знать как!
Сейчас что-то мысль появилась, что может у DX0 в кнопке все дело? Может она у него какая-нибудь волшебная, что у него все события ловятся на ней. Открыл ее в IDA, а там внутри - ужас !!! :) На кнопку вообще, ничего не назначено. У кнопки нет никакого ID-номера. Что там на этой кнопке отлавливать - непонятно. :) Там по-моему просто нажатие на левую кнопку мыши срабатывало, причем скорее всего в любом месте экрана. Какие уж тут обработчики? С таким даже визор Инди не справится. :)

В общем, если у кого какие-нибудь трудности с реверсом или еще с чем-то подобным - обращайтесь к DX0. Он всем помогает, а о цене позже договоритесь. Все будет зависеть от того сколько он обработчиков событий назначит на пустую кнопку - без ID-номера и вообще без всего. :)

P.S. Вообще, теоретически, конечно, можно и просто в любом месте экрана щелкать мышкой и вызывать какой-нибудь код-обработчик. Ну ты тогда так и пиши по-русски, чтобы всем ясно было, а вообще так обычно никогда не делается - поэтому и вводит поначалу в ступор.
 
Последнее редактирование:

Indy

Ветеран
Сообщения
117
Реакции
69
DMA/STY

> С таким даже визор Инди не справится.

Я вручную отладчиком пройду, зря жил что ле. KiCBdispatch в сурках можно глянуть. Автоматикой слишком просто.
 

DX0

Новичок
Сообщения
173
Реакции
77
Сейчас что-то мысль появилась, что может у DX0 в кнопке все дело? Может она у него какая-нибудь волшебная, что у него все события ловятся на ней. Открыл ее в IDA, а там внутри - ужас !!! :) На кнопку вообще, ничего не назначено. У кнопки нет никакого ID-номера. Что там на этой кнопке отлавливать - непонятно. :) Там по-моему просто нажатие на левую кнопку мыши срабатывало, причем скорее всего в любом месте экрана. Какие уж тут обработчики? С таким даже визор Инди не справится. :)

В общем, если у кого какие-нибудь трудности с реверсом или еще с чем-то подобным - обращайтесь к DX0. Он всем помогает, а о цене позже договоритесь. Все будет зависеть от того сколько он обработчиков событий назначит на пустую кнопку - без ID-номера и вообще без всего. :)

P.S. Вообще, теоретически, конечно, можно и просто в любом месте экрана щелкать мышкой и вызывать какой-нибудь код-обработчик. Ну ты тогда так и пиши по-русски, чтобы всем ясно было, а вообще так обычно никогда не делается - поэтому и вводит поначалу в ступор.
Начну сразу с того, что я показал пример перехвата сообщения нажатия кнопки, это во-первых. Во-вторых, если ты уж не знаешь такие элементарные вещи как перехватить банальное сообщение нажатие кнопки - я тебе тут могу посоветовать только одно УЧИ WinAPI, не в обиду. На моей памете сколько я исследовал программ проходило все на ура, только у тебя одни проблемы с IDA то что у меня ты там не нашёл ID кнопки. Всегда есть варианты как можно перехватить сообщение. Если ты не разбираешься, то тут могу тебе посоветовать учиться и еще раз учиться, не в обиду. Главное это то, что я знаю как перехватить сообщение, а остальное кому и чему либо доказывать я не собираюсь. Могу посоветовать только успехов в изучении тебе, и все.
 
Последнее редактирование:

DMA/STY

Новичок
Сообщения
37
Реакции
7
если ты уж не знаешь такие элементарные вещи как перехватить банальное сообщение нажатие кнопки - я тебе тут могу посоветовать только одно УЧИ WinAPI, не в обиду.
Да что ж вы все такие невнимательные, что приходится объяснять одно и то же по несколько раз. Я же выше писал, что в IDA, все что мне нужно, по этому вопросу, я сделаю элементарно. Хоть с привлечением PIN-а, хоть без него. Могу просто отдельно в PIN-е все вычислить без ИДЫ. То же самое и с WinDbg. Тут дело конкретно в x64Dbg. Просто поймал себя на мысли, что скоро вообще, разучусь в нем работать. Стал забывать. Вот и попытался воспользоваться вашей помощью, которую вы тут всем любезно предлагали. Это, во-первых.

Во-вторых, я что предлагаю, давайте спокойно и без взаимных оскорблений во всем разберемся и если я окажусь не прав, то публично перед вами извинюсь и могу даже сам себя обозвать как-нибудь если хотите. :) С меня не убудет, я человек простой. :) Но тем не менее, я почему-то на 100% уверен, что прав в данном случае я. И вы либо лукавите, либо плохо разбираетесь в данной теме.

Начну сразу с того, что я показал пример перехвата сообщения нажатия кнопки, это во-первых.
Сообщение WM_LBUTTONUP(0x202) посылается тогда, когда пользователь отпускает левую кнопку мыши. Если бы у кнопки был ID, то тут еще можно было бы о чем-то поговорить, но поскольку кнопка без ID, то и говорить не о чем. :)

Когда вы говорите, что у вашей кнопки есть якобы какой-то ID, то создается впечатление, что вы ни разу не пользовались инструментами типа SPY от Винды или Виндовзер от нашего любимого Манхантера :) Кстати, шутки шутками, а мне Виндовзер очень нравится - очень удобно с ним работать. Рекомендую! Да кстати, и в коде легко можно найти этот ID, когда происходят сравнения. На вашей кнопке даже похожего ничего нет. Сделайте скрин, покажите где ID вашей кнопки сравнивается с чем-нибудь? Уверен, что присвоить вашей кнопке ID - можно только подделкой документов оригинала. :)

Вот вы f13hd'а убеждали, что самое главное это поставить BP на TranslateMessage, ну и плюс условие ECX==0x202. Вот в связи с этим один вопрос у меня к вам, чтобы понять и применить вашу методику на x64Dbg:
1. Где в каком месте кода вы ставите BP на TranslateMessage, чтобы все это синхронно сработало и отловило ваше сообщение WM_LBUTTONUP(0x202). Тут хотя бы просто WM_LBUTTONUP(0x202) отловить и то уже был бы хоть какой-то результат. Если не хотите рассказывать об этом публично, напишите в личку. Только еще раз вам напомню, что WinAPI я знаю и как работает система обработки сообщений в Винде, тоже. Тут весь вопрос в x64Dbg. Как отловить сообщение в x64Dbg?

P.S. A, вообще, мой вам совет не парьтесь вы с этой дефектной кнопкой, а возьмите нормальный пример от Мака - почти рядом с вашим первым постом. Там и исходник на ассемблере есть нормальный и готовый бинарник. А позже можно будет чисто из принципа вернуться к вашей дефективной кнопке и разобраться. :)
 
Последнее редактирование:

DX0

Новичок
Сообщения
173
Реакции
77
Скриншот 3.jpg там база USER32.DLL + RVA: 0x43370 прибавляешь к базе

Вот пример тебе того, как можно выйти на функцию обработчика и вызов окна при нажатии на кнопку "GO" окна:
 

Прикрепленные файлы:

Indy

Ветеран
Сообщения
117
Реакции
69
DMA/STY

Твой косяк в том что ты не по системке мыслишь. Любой ядерщик обработку посмотрит не с сотен высокоуровневых интерфейсов, а со дна. В юзер обработка начинается с ядерных вызовов, это нужно знать если ты гуй отлаживать собрался. На васм вбей в поиск apfnDispatch это как раз таки колбек который обрабатывает автоматика и любое событие гуя с этого начинается. Всякие WM_xx это толстая фигня, дрочево в отладчике с окнами.
 

dosprog

Мудрец
Сообщения
228
Реакции
570
Это всё очень чудесно, но где сама программа?
 

DMA/STY

Новичок
Сообщения
37
Реакции
7
@DX0, спасибо за отзывчивость и за то, что тратите на меня свое время.

Еще ничего не проверял, но в ближайшее время все протестирую и отпишусь. Просто, у меня тут небольшая запарка, навалились всякие бытовые проблемы. Да еще и грипп где-то подцепил. Так что если что, то не теряйте меня.

P.S. Кстати, мне тут еще один интересный способ подсказали по работе с x64Dbg. Я, думаю, вполне возможно, что вы о нем не знаете и вам тоже будет интересно. Так что может быть наше общение на форуме превратится в некое подобие взаимовыгодного сотрудничества. :)

Это всё очень чудесно, но где сама программа?
https://cracklab.team/index.php?threads/590/post-4712
 

dosprog

Мудрец
Сообщения
228
Реакции
570
То сэмпл от mak'а. А где сама софтина?
 

demetrius2003

Зарегистрированный
Сообщения
2
Реакции
0
Доброго всем дня! Вынужденно отсутствовал. Сейчас пытаюсь осознать, всё что тут написали. Выкладываю программу. https://fex.net/ru/s/nymkctx
Надеюсь норм файлообменник. Файл там хранится 9 дней.
 
Верх Низ