Сейчас на форуме: vsv1 (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Где находится алгоритм? |
Посл.ответ | Сообщение |
|
Создано: 04 февраля 2016 17:54 · Личное сообщение · #1 Коллеги :D подскажите плз, где искать код . Ситуация такая, есть программа, в которой мне нравятся, как она делает определенные расчеты. Я хотел бы добраться до этого алгоритма ![]() Поэтому возникли 2а вопроса: - 1й вопрос: (я подозреваю, что ответ на этот вопрос Да), но на всякий случай спрошу. Т.к у меня есть установочный файл exe (этой программы), поэтому находится ли, этот алгоритм внутри этого установочного файла? (тогда я поколупаюсь в нем) но т.к этом файле млн.строк кода, то сразу появился 2й вопрос (поскольку он сэкономит время поиска в млн. раз): - 2й вопрос: после установки этой программы, я хотел с помощью отладчика (олли) отследить куда переводит нажатие "на желаемую функцию (в программе)". И вот после запуска программы в отладчике, я дошел до какой-то фции,. по адресу в EIP 774164F4 ntdll.KiFastSystemCallRet (которая находится в ntdll и имеет всего одно действие "retn", ![]() дальше оказалось все сложнее, потому что программа уже ни как не реагирует ни на какие F7 ... F9, как будто она уже закончила работу (и нужно по новой делать отладку), но сама программа продолжает работать, т.е её функции по прежнему работают, но только в отладчике это ни как не отражается. И тут у меня возникла другая "гениальная идея", что скорее всего, код который позволяет выполнять фции, находится где-то в другом файле (который и управляет по желанному алгоритму этими 1 и 0), вот как бы мне добраться к этому фалу? ![]() |
|
Создано: 04 февраля 2016 19:35 · Личное сообщение · #2 Spoiler пишет: у меня есть установочный файл exe (этой программы), поэтому находится ли, этот алгоритм внутри этого установочного файла Внутри установочного файла находятся файлы программы. А в файлах программы находится алгоритм (если он не на сервере где-нибудь) Так что, технически - да, алгоритм находится внутри установочного файла. Но изучать лучше саму программу. Spoiler пишет: KiFastSystemCallRet Я не стану тут расписывать что такое syscall и зачем он нужен. Скажу только, что вы не там копаете. Первым делом, надо определиться с технологией, использованной при создании программы. Борланд, дотнет, msvc - под каждый из них свой подход. Причём есть и вещи, в которых чёрт ногу сломит (MFC и QT например). Программа вообще может быть интерпретатором (vb, java, python, autoit etc) - в этом случае нативный код ковырять вообще нет никакого смысла. Короч или покажите коллегам свою программу, или вызывайте экстрасенсов. ![]() |
|
Создано: 05 февраля 2016 11:45 · Личное сообщение · #3 Spoiler Ситуация такая, есть программа, в которой мне нравятся, как она делает определенные расчеты. Я хотел бы добраться до этого алгоритма . Сделать сложно, но возможно,IDA + HexRays в помощь. Не уж-то программа такая уникальная, что на репозиториях не валяется похожего открытого проекта?! Сходи на sourceforge и прочеши исходные коды, наверняка есть. ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 05 февраля 2016 17:06 · Поправил: Spoiler · Личное сообщение · #4 AkaBOSS, то что в установочном он находится, это уже обнадеживает ![]() == а, ты говоришь что "лучше ковырять саму программу", имеешь в виду саму программу, которая уже установлена на компе? но она же разнесена по разным файлам и папкам, тогда если так, как понять в каких файлах нужно искать? потому что с отладчиком не получится, т.к он останавливается как только загружается форма и дальше никак не отображает внутреннюю работу проги. Если это не секрет, как можно отслеживать при нажатии меню и т.д, (при работе проги) так чтоб выяснить что в этой программе обрабатывает это нажатие ...? Единственное до чего я до допер, это можно посмотреть файлы, которые загружает прога. в логе Олли я посмотрел, что запускается только этот exe (уже установленной программы) и куча dll. Поэтому они не сильно помогут. А дальше Х.. знает ![]() ================ Coderess, я уже и ИДОй и олликом пользуюсь, прога не уникальная, а самая обычная, а меня просто интересует научится "как это можно сделать?" и сам алгоритм посмотреть (т.е совместить приятное с полезным). Вот только осталось найти где он находится. Примерно по названию фций могу определить расположение в установочном , но наверное, в научных кругах, это называется через "ж..". ИДОй определил где запускается сам установочный (наверное, это процедура "Winmain"), а дальше как? определить, откуда начинается этот код который писал программер, чтоб не тратить время на код который добавил компилятор. ![]() |
|
Создано: 06 февраля 2016 04:13 · Личное сообщение · #5 Spoiler пишет: ИДОй определил где запускается сам установочный (наверное, это процедура "Winmain"), а дальше как? определить, откуда начинается этот код который писал программер, чтоб не тратить время на код который добавил компилятор. Вам бы мат часть хоть немного подучить, что ли... Тогда и вопросы отпадут. Рихтера, например. ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 06 февраля 2016 08:40 · Поправил: dosprog · Личное сообщение · #6 |
|
Создано: 06 февраля 2016 09:29 · Поправил: VodoleY · Личное сообщение · #7 Spoiler пишет: тогда если так, как понять в каких файлах нужно искать? выб хоть жертву выложили.. а то судя по поведению отладчика.. у вас висит сверху протектор.. который мешает вам дебажить.. и если мат. функи еще и виртуализированы. важего уровня точно не хватит ЗЫ. откройте ветку.. запрос за взлом программ.. там есть инсрукция, как обывателю сделать первичный анализ файла сторонними программами ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 06 февраля 2016 13:06 · Поправил: -=AkaBOSS=- · Личное сообщение · #8 Spoiler пишет: имеешь в виду саму программу, которая уже установлена на компе? но она же разнесена по разным файлам и папкам да, она разнесена - но ковырять нужно именно её. в коде установщика полезного алго нет. Spoiler пишет: тогда если так, как понять в каких файлах нужно искать? про технологию уже писал, но это осталось проигнорированным. выход простой - нужно найти в какой из файлов программы находится нужная форма, и узнать её идентификатор (заодно с идентификаторами интересующих кнопок, пунктов меню etc.) дальше уж банальный поиск константы по коду. но, опять-таки, нужно узнать используемую технологию - всё может быть намного сложнее (или наоборот) VodoleY пишет: а то судя по поведению отладчика.. у вас висит сверху протектор нет, человек просто не умеет пользоваться отладчиком. он отпустил программу на выполнение, когда появилась форма - поставил на паузу. олька в таких случаях стоит на KiFastSystemCallRet, и последующий запуск на выполнение, опять-таки, ничего не приносит. про цикл сообщений не в курсе, про бряки не в курсе... короч это не исследование, а так - поиграться. что-то конечно отложится, но до результата - как до луны пешком. я уж молчу про то, что добраться алгоритма мало - его надо суметь опознать и прочитать, что намного сложнее чем найти кнопку на форме. короч почитайте хотя бы и Рихтера тоже не помешает. нужно понимать, что такое окна, классы, цикл сообщений, и вообще - как выполняются программы в многопоточной среде. иначе так и будете играться, без какого-либо понимания ![]() |
|
Создано: 06 февраля 2016 14:27 · Личное сообщение · #9 |
|
Создано: 06 февраля 2016 18:02 · Личное сообщение · #10 Ребята, у вас ответы как будто вы супер-хакеры, все все знают, каждый вставил свое слово, и ни один не отвечает на вопрос. Зачем вы здесь флуд разводите, про какую-то мат.часть, читайте название ветки - здесь вопросы для новичков, знал бы ответы на эти элементарные вопросы не спрашивал бы, и не было бы меня на этом форуме, чтоб мне в ответ кто-то выражал свое мнение на счет меня, и в очередной раз чтоб кто-то написал тупой заезженный ответ "иди читай ..." знаете, тогда помогите не опытному, знаешь, но не хочешь помогать, тогда проходи мимо. ![]() |
|
Создано: 06 февраля 2016 18:31 · Поправил: -=AkaBOSS=- · Личное сообщение · #11 Простых ответов никто не даёт, потому что нужно иметь много информации о цели, которую нубское описание не даёт никаким образом. Уже несколько раз писали - выложи программу, поможет кто сможет. Укажут подходящие инструменты, помогут с поиском нужного кода. Но вслепую что-то советовать бессмысленно - слишком много разных вариантов действий, все перебирать глупая трата времени. Короч хочешь помощи - делай как говорят, не нужно в обидки играть и в названия разделов форума всех носом тыкать. Spoiler пишет: и в очередной раз чтоб кто-то написал тупой заезженный ответ "иди читай ..." нет, все в очередной раз начнут тупо и заезженно перепечатывать то что уже описано в указанных туторах и книгах. хочешь исследовать код - не вопрос. но за один-два дня этому не научишься, уйдут месяцы. ![]() |
|
Создано: 07 февраля 2016 00:35 · Личное сообщение · #12 Spoiler, ты понимаешь, что даже одна и та же программа разных версий имеет не хилое количество отличий? ты же сейчас просишь универсальный подход к любой программе - а его быть не может. гадать что у тебя там происходит по меньшей мере - глупо. просто выложи инсталлятор и тогда тебе помогут. ----- Do Not Get Mad Get Money! ;) ![]() |
|
Создано: 07 февраля 2016 02:36 · Поправил: Rio · Личное сообщение · #13 Spoiler пишет: Коллеги :D подскажите плз, где искать код . В секции кода исполняемого файла или в секции экспорта dll (код искомой функции). p.s. какой вопрос такой ответ... ... Spoiler пишет: мне нравятся, как она делает определенные расчеты. Разрешите поинтересоваться, каким образом вы производили расчёты без ключа? Spoiler пишет: Выложил инсталятор. Sentinel. ... https://exelab.ru/f/action=vthread&forum=2&topic=23172 ![]() |
|
Создано: 07 февраля 2016 03:11 · Поправил: Spoiler · Личное сообщение · #14 Ребята, прошу прощения, у всех кто хотел помочь, я не правильно понял. Честно говоря, я так и думал, что возможно, есть какой то общий подход, просто в книгах еще не встречал как делать нечто подобное. Выложил инсталятор. крек к ней ![]() |
|
Создано: 07 февраля 2016 08:27 · Личное сообщение · #15 Rio пишет: Sentinel. ... https://exelab.ru/f/action=vthread&forum=2&topic=23172 да нет.. скорее в поиск специалистов.. донгл на шару снимать врядли ктото будет. Spoiler вот смотрите.. это то о чем говорилось изначально... Sentinel. - ключ. у него в поставке есть такая штука.. называется конверт.. короче он код программы может ЗАГАЖИВАТЬ/ШИФРОВАТЬ. не считая того.. что ваш расчет.. может вообще находится внутри ключа. т.е достать его оттуда.. или не реально.. или очень дорого (10к у.е в китае распиливать ключ) поэтому.. чтоб отвечать на вопросы.. надо ж нормально заданный вопрос? ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 07 февраля 2016 13:46 · Поправил: Spoiler · Личное сообщение · #16 Я просто в ИДЕ код инсталятора рассматривал - вроде красиво выглядит. Местами с ошибками распознан. Я код подредактировал - местами красное выделение (строк) по уходило, но еще конечно остались (это уже следующий вопрос). Почему тогда такой большой файл - там наверное вся логика программы (это мое видение - из-за "переизбытка" знаний) ? ![]() |
|
Создано: 07 февраля 2016 14:14 · Поправил: dosprog · Личное сообщение · #17 О чём был вообще этот топик? - Об изучении инсталлятора давно крякнутой программы, которую вместе с кряком с первой же попытки можно найти сразу в нескольких местах? Нормально чо --Добавлено-- )) 2 TС: гляди не увлекайся там на биржЕ. А то было один клиент за день просрал приданое жены на 70 тыщонцый баков и остался должен ещё 120'000$. С программами это выходит значительно эффективнее, чем ручками. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Где находится алгоритм? |