Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как к отладчику подключить видеобуфер?
GAMEINATOR forums > Мир вне игр > Клуб свободных тем
Asterix
Помогите пожалуйста)) И Объясните на пальцах, так сказать.
Tron
Нужно больше информации
Asterix
Я сделал прогу - там набираешь пороль и появляется картинка.
Я использовал дизассемблер, чтобы узнать код, в итоге я его узнал.
Теперь я хочу увидеть картинку не прибегая к дизассемблеру.Tron,
jamakasi
Цитата(Mcbeat7 @ 04.09.2014, 12:38) *
Я сделал прогу - там набираешь пороль и появляется картинка.

Я сшил носок, пошел вот туда, где я потерял носок?
Son1c
Цитата(Mcbeat7 @ 04.09.2014, 11:38) *
Я сделал прогу - там набираешь пороль и появляется картинка.
Я использовал дизассемблер, чтобы узнать код, в итоге я его узнал.
Теперь я хочу увидеть картинку не прибегая к дизассемблеру.

Цитата(Mcbeat7 @ 03.09.2014, 17:53) *
Объяснил на пальцах, так сказать.

laugh.gif laugh.gif laugh.gif
Asterix
jamakasi, что конкретно тебе нужно узнать?
Asterix
у меня windows 7
программа на C++

могу переписать программу на delphi, visual basic, c#
отладчик у меня ollydbg и win32dasm
jamakasi
Собственно вопрос не поставлен т.к. он выглядит как "привези то, не знаю чего".
Какой именно компилятор юзается? Какие библиотеки? Какая среда? В чем у тебя графика(gl\dx\software)? Где код? Что именно ты собираешься посмотреть из стека\буфера? Для каких целей? Что за видюха в частности модель?
А вопрос у тебя вообще не поставлен никак абсолютно т.к. он абстрактен по самое немогу.
autistic
Mcbeat7, во-первых объясни толком что за программа и какой результат тебе от нее требуется, во вторых выкладывай код, если он есть.
Asterix
Цитата(refuse @ 04.09.2014, 22:37) *
Mcbeat7, во-первых объясни толком что за программа и какой результат тебе от нее требуется, во вторых выкладывай код, если он есть.

1) программа банальнейшая вводишь код и получаешь картинку.
2) мне требуется следующее: открыть картинку(которую я загрузил на форму в VB) отладчиком.
3) код уж слишком банален,как и сама прога,выложил проект.
4) прикрепил Exe файл и проект к ней(кстати,программа до невероятия простая(язык VB6)).
Нажмите для просмотра прикрепленного файла - файл переименуйте в rar,а то сайт запрещает выкладывать exe,rar и прочие файлы

Цитата(jamakasi @ 04.09.2014, 22:15) *
Собственно вопрос не поставлен т.к. он выглядит как "привези то, не знаю чего".
Какой именно компилятор юзается? Какие библиотеки? Какая среда? В чем у тебя графика(gl\dx\software)? Где код? Что именно ты собираешься посмотреть из стека\буфера? Для каких целей? Что за видюха в частности модель?
А вопрос у тебя вообще не поставлен никак абсолютно т.к. он абстрактен по самое немогу.

1) компилятор? ollydbg
2) библиотеки? не в курсе,все что шли вместе с ollydbg
3) среда? всмысле среда программирования? если да,то,в данном случае VB.
4) gl\dx\software? если ты про open gl, directx,то опять же,не в курсе.
5) Где код? код выложил.
6) Что именно ты собираешься посмотреть из стека\буфера? просто нужно увидеть свою картинку через ollydbg.
7) Для каких целей? саморазвитие. ну и на будущее пригодится.
8) видюха nvidia ge force 8400m. (есть и другие,указал ту,которой пользуюсь).
ясно,понял что тут тонкостей много. всё указал из того что знаю.
autistic
Цитата(Mcbeat7 @ 04.09.2014, 23:57) *
открыть картинку(которую я загрузил на форму в VB) отладчиком.

другими словами ты хочешь при помощи отладчика определить в каком месте производится сравнение паролей и пофиксить исполняемый файл так, чтобы программа отображала картинку без ввода пароля?
могу посоветовать книгу, там как раз подробно описывается подобный трюк со взломом паролей: http://booksee.org/book/555584

з.ы. но все же советую заняться изучением какого-нибудь языка программирования, для того чтобы ломать программы их сперва надо научиться писать.
jamakasi
Цитата(Mcbeat7 @ 05.09.2014, 00:08) *
7) Для каких целей? саморазвитие. ну и на будущее пригодится.

Тогда ты пошел не тем путем, надо было подучивать асемблер а програмки писать не используя некие компоненты среды для работы с графикой а описывая свои методы или на крайняк брать чтолибо сильно простое из библиотек, после декомпилить\дебажить и смотреть что и как работает(что в стеках и т.д.). У тебя вся работа с графикой происходит средствами вб а что он там делает и как один черт знает( сделай хотя бы некий массив и свой код загрузки изображения а после под даже родным дебагером глянь и увидишь все и все будет ясно как белый день).
Asterix
Цитата(refuse @ 05.09.2014, 00:15) *
Цитата(Mcbeat7 @ 04.09.2014, 23:57) *
открыть картинку(которую я загрузил на форму в VB) отладчиком.

другими словами ты хочешь при помощи отладчика определить в каком месте производится сравнение паролей и пофиксить исполняемый файл так, чтобы программа отображала картинку без ввода пароля?
могу посоветовать книгу, там как раз подробно описывается подобный трюк со взломом паролей: http://booksee.org/book/555584

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


за книгу спасибо. сейчас начну читать. мне не нужен взлом(а как раз наоборот,мне нужна защита. а защитить свою программу на C++ от ассембера,на сколько я понимаю,будет проблематично(или вообще всегда побеждает ассемблер против высокоуровневых)).

P.s: vb использовать только из-за того что оказалась под рукой. имеются средние знания Vb,delphi,C#,C++,но сейчас не об этом. или это тоже важно??? ах да. точно. важно... ну тогда любой из вышеперечисленных.
jamakasi
Цитата(refuse @ 05.09.2014, 00:15) *
при помощи отладчика определить в каком месте производится сравнение паролей и пофиксить исполняемый файл так

jmp это сила smile.gif

Цитата(Mcbeat7 @ 05.09.2014, 00:26) *
Vb,delphi,C#

Они декомпилятся очень просто и почти чистый код выходит. Лучшая защита это огромное количество мусорного кода который отрабатывает с рандомом и в холостую, рандом чтобы компилятор не оптимизировал все до 1-2 строк а холостой чтобы реверсинженер умучался въезжать зачем столько функций и что они вообще делают а главное что среди них есть секрет запуска.
Asterix
Цитата(jamakasi @ 05.09.2014, 00:20) *
Цитата(Mcbeat7 @ 05.09.2014, 00:08) *
7) Для каких целей? саморазвитие. ну и на будущее пригодится.

Тогда ты пошел не тем путем, надо было подучивать асемблер а програмки писать не используя некие компоненты среды для работы с графикой а описывая свои методы или на крайняк брать чтолибо сильно простое из библиотек, после декомпилить\дебажить и смотреть что и как работает(что в стеках и т.д.). У тебя вся работа с графикой происходит средствами вб а что он там делает и как один черт знает( сделай хотя бы некий массив и свой код загрузки изображения а после под даже родным дебагером глянь и увидишь все и все будет ясно как белый день).

кстати,действительно адекватный совет(делал не так,а по другому,пытался сделать код защиты,если в кратце,то код(который я придумал идёт под дифференциалкой,т.е в данной ситуации взломщику пришлось бы высчитывать код по дифференциальному уравнению,но защита всё таки детская)). понял. а если загружать тот же opengl или directx,то как могут эту картинку взломать?

Цитата(jamakasi @ 05.09.2014, 00:20) *

Цитата(refuse @ 05.09.2014, 00:15) *

чтобы понимать как увидеть картинку через отладчик,ту же jpg или png, хватит знаний прочтённых в этой книге( http://booksee.org/book/555584 ) ???
autistic
Цитата(Mcbeat7 @ 05.09.2014, 00:48) *
чтобы понимать как увидеть картинку через отладчик,ту же jpg или png, хватит знаний прочтённых в этой книге( http://booksee.org/book/555584 ) ???

нет, материал книги рассчитан на опытных программистов, чтобы понимать что там написано придется начать постигать программирование с самого начала. для начала научись отлаживать собственные программы встроенным в среду разработки отладчиком, чтобы хоть понимать чем отладчик отличается от paint'a.

upd.
начни с этого
Asterix
Цитата(refuse @ 05.09.2014, 08:44) *
Цитата(Mcbeat7 @ 05.09.2014, 00:48) *
чтобы понимать как увидеть картинку через отладчик,ту же jpg или png, хватит знаний прочтённых в этой книге( http://booksee.org/book/555584 ) ???

нет, материал книги рассчитан на опытных программистов, чтобы понимать что там написано придется начать постигать программирование с самого начала. для начала научись отлаживать собственные программы встроенным в среду разработки отладчиком, чтобы хоть понимать чем отладчик отличается от paint'a.

upd.
начни с этого

понял,а есть какой-нибудь самоучитель по ollydbg??? или IDA Pro???
autistic
Цитата(Mcbeat7 @ 07.09.2014, 01:33) *
понял,а есть какой-нибудь самоучитель по ollydbg??? или IDA Pro???

значит не понял раз спрашиваешь wink_old.gif забудь на время про реверс инжиниринг, сосредоточься на базовых знаниях, придет время и до отладчиков с декомпиляторами.
autistic
предлагаю всем желающим, включая тс, пройти челендж, чтобы понять как адово сложно бывает разобраться в логике программы даже имея на руках ее исходники, не говоря уж об их отсутствии.
суть такова: имеем простую консольную программу на си которая принимает на вход строку, введенную пользователем через консоль, шифрует ее неким алгоритмом и полученное значение сверяет с жестко закодированным ключом. если ключ совпадет программа печатает поздравление, если нет - предлагает попытаться ввести правильное значение. цель - определить строку с правильным паролем.

что потребуется:
1. отсюда качаем и устанавливаем необходимые нам консольные утилиты (компилятор и отладчик)
2. отсюда качаем исходник программы и батник, который делает отладочную сборку и запускает отладчик.

небольшой вводный курс:
1. запускаем батник - откроется консоль с приглашением gdb (gdb - это отладчик наподобие ollydbg)
2. устанавливаем точку останова программы, например на 1-ю попавшуюся инструкцию, для этого открываем исходник (main.c) и смотрим номер строки с интересующей нас инструкцией, пусть это будет строка 33 с инструкцией "while (*src != 0)". пишем в консоль gdb команду b main.c:33 и нажимаем ввод.
3. запускаем программу, для этого пишем в консоли r и нажимаем ввод. программа запустится и предложит ввести пароль.

пользоваться средами с графическим интерфейсом пользователя запрещено для приближения условий к условиям реального взлома.
abramcumner
Цитата(refuse @ 07.09.2014, 13:47) *
пользоваться средами с графическим интерфейсом пользователя запрещено для приближения условий к условиям реального взлома.

z_lol1.gif В "реальном взломе" же на экране должны зеленые буковки падать, а хакер должен усиленно молотить по клавиатуре.
ДмитрийТ
Цитата(jamakasi @ 05.09.2014, 00:33) *
Лучшая защита это огромное количество мусорного кода который отрабатывает с рандомом и в холостую..

jamakasi, ты случайно в компании 1С не работаешь lol.gif
RedMagic
Цитата(jamakasi @ 04.09.2014, 23:33) *
Лучшая защита это огромное количество мусорного кода который отрабатывает с рандомом и в холостую, рандом чтобы компилятор не оптимизировал все до 1-2 строк а холостой чтобы реверсинженер умучался въезжать зачем столько функций и что они вообще делают а главное что среди них есть секрет запуска.

Это называется обфускация кода, а программы которые это делают обфускацию - обфускаторами. Но если очень надо разобраться в коде - то обфускация лишь немного замедлит понимание работы алгоритма программы, но не более. Тем более что нормальные обфускаторы стоят денег, а бесплатные имеют ограничение возможности, да и из-за известности их алгоритмов работы наверняка для них уже есть готовые деобфускаторы.
Так что если вкратце - обфускация и ей подобные методы (например когда код прячут в картинках с котятами) защищают только от кулхацкеров, но не от профессионалов.
jamakasi
Цитата(ДмитрийТ @ 07.09.2014, 19:26) *
Цитата(jamakasi @ 05.09.2014, 00:33) *
Лучшая защита это огромное количество мусорного кода который отрабатывает с рандомом и в холостую..

jamakasi, ты случайно в компании 1С не работаешь lol.gif

Нет, работаю кодером\сис.админом в довольно крупной мед. организации, довольно много сталкивался с защитами разными к сожалению внутреннего кода 1с не видел хотя быдлокодил пару модулей для 1с 7.7
autistic
Цитата(abramcumner @ 07.09.2014, 16:43) *
В "реальном взломе" же на экране должны зеленые буковки падать

ты чо, разноцветные буковки это для девочек, геев и хипстоты т.к. clang'ом в основом пользуются для сборки на всякие гейские гаджеты. у чотких посонов нет макбучиков, только шindows, только хардкор.
хотя clang'ом можно и под виндой компилять, правда придется собрать c++ stdlib вручную.

Цитата(STALKER2011x @ 07.09.2014, 19:54) *
Но если очень надо разобраться в коде - то обфускация лишь немного замедлит понимание работы алгоритма программы, но не более

вспомнил статейку забавную на эту тему: http://habrahabr.ru/post/115923/
ДмитрийТ
jamakasi, это я к тому что у 1С "огромное количество мусорного кода", как специально твоим советам следуют smile.gif
А с учетом что к глобальному модулю имеют доступ все кому не лень, то в один прекрасный день можно столкнутся с большими проблемами, т.к. люди пишут как попало, на одного мало мальски хорошего программиста проходится сотня быдлокодеров которым лень писать что они делают и для чего ...

Цитата(STALKER2011x @ 07.09.2014, 19:54) *
но не от профессионалов.

абсолютной защиты как всем известно нет, все дело во времени и целесообразности.. Где то в 70 %, намой личный взгляд, случаев все излишества в код добавлены из за дебильного планетного права ибо в стране Джедаев судится по таким вещам очень популярно и довольно выгодно.
jamakasi
Цитата(abramcumner @ 07.09.2014, 16:43) *
Цитата(refuse @ 07.09.2014, 13:47) *
пользоваться средами с графическим интерфейсом пользователя запрещено для приближения условий к условиям реального взлома.

z_lol1.gif В "реальном взломе" же на экране должны зеленые буковки падать, а хакер должен усиленно молотить по клавиатуре.

Кстати специальный сайт для таких дел.
autistic
Цитата(jamakasi @ 07.09.2014, 22:05) *
Кстати специальный сайт для таких дел.

чем-то мне эта штука vim напоминает laugh.gif
Asterix
Цитата(refuse @ 07.09.2014, 10:42) *
Цитата(Mcbeat7 @ 07.09.2014, 01:33) *
понял,а есть какой-нибудь самоучитель по ollydbg??? или IDA Pro???

значит не понял раз спрашиваешь wink_old.gif забудь на время про реверс инжиниринг, сосредоточься на базовых знаниях, придет время и до отладчиков с декомпиляторами.

да я понял вашу мысль(тем более мне моих знаний хватает пока что))))))(пока далеко не претендую) только вы меня не поняли)) biggrin.gif . у меня есть пару идеек,для их осуществления мне нужно знать как вытащить картинку через отладчик. можно вообще сделать пустое окно имеющее только картинку(какую либо,без разницы). слышал что может помочь видеобуфер(а как его использовать и что это такое бог его знает).



Цитата(refuse @ 05.09.2014, 00:15) *
Цитата(Mcbeat7 @ 04.09.2014, 23:57) *
открыть картинку(которую я загрузил на форму в VB) отладчиком.

другими словами ты хочешь при помощи отладчика определить в каком месте производится сравнение паролей и пофиксить исполняемый файл так, чтобы программа отображала картинку без ввода пароля?
могу посоветовать книгу, там как раз подробно описывается подобный трюк со взломом паролей: http://booksee.org/book/555584

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

я почитал книгу Касперски. и если честно,то ничего про вытаскивание картинки через отладчик я не нашёл(даже намёка на картинки(графику в целом)),только ломы Intel-a,Alcohol и т.п. про IDA и т.д. Но,правда,есть и очень даже полезная инфа. сейчас читаю Зубков - Assembler для DOS, Windows и UNIX и там(вроде как) более яснее объясняется про устройство видеопамяти,графики и т.п. но про вытаскивание картинки из exe при помощи отладчика пока ничего ещё не нашёл.

Цитата(abramcumner @ 07.09.2014, 16:43) *

Цитата(refuse @ 07.09.2014, 13:47) *

Цитата(jamakasi @ 05.09.2014, 00:33) *

Цитата(ДмитрийТ @ 07.09.2014, 19:26) *

Цитата(STALKER2011x @ 07.09.2014, 19:54) *


Ребят,вы не могли бы объяснить всё таки, КАК ВЫТАЩИТЬ КАРТИНКУ ИЗ EXE ПРИ ПОМОЩИ ОТЛАДЧИКА(ну или,хотя бы,какие инструменты для этого использовать и как вся процедура происходит)?
Trollz0r
Mcbeat7, сходи на краклаб уже

я серьезно
Asterix
Цитата(RedPython @ 08.09.2014, 07:09) *
Mcbeat7, сходи на краклаб уже

я серьезно

понял. спасибо.
autistic
Цитата(Mcbeat7 @ 08.09.2014, 06:48) *
КАК ВЫТАЩИТЬ КАРТИНКУ ИЗ EXE ПРИ ПОМОЩИ ОТЛАДЧИКА

вне контекста того что тебе нужно эта мысль звучит как бред. если тебе нужно получить некое изображение, то его обычно извлекают из ресурсов. ресурсы могут храниться как внутри исполняемого файла, так и во внешнем архиве. в первом случае извлечь ресурсы достаточно просто - существует тонна утилит для этого, например pe explorer. во втором случае все гораздо сложнее и тут как раз без отладчика и специальных знаний не обойтись, хотя в редких случаях можно архив распаковать обычным 7-zip'ом.

upd.
а самый простой способ - это print screen, конечно.
jamakasi
refuse, есть еще вариант хексом пройтись и найти заголовок картинки после чего по сечениям начала и конца выцепить ее, многие программы зачастую в темп извлекают свои ресурсы, более хардкорно это снять дамп оперативки программы(с условием что картинка уже точно подгружена) и ковыряться в нем в поисках заголовков изображения или блока данных схожими с raw типом если софтина преобразует палитру или имеет некий свой формат картинки.
autistic
jamakasi, это уже частный случай, относящийся к категории наличия специальных знаний.
Asterix
Цитата(refuse @ 08.09.2014, 12:12) *
jamakasi, это уже частный случай, относящийся к категории наличия специальных знаний.

объясни как знаешь,знания найду
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.