Просмотр полной версии : Реверсинг. Задай вопрос - получи ответ
Так справа же
http://i056.radikal.ru/0908/42/b1cf6599d461.gif
Так справа же
http://i056.radikal.ru/0908/42/b1cf6599d461.gif
Подробнее...
У меня цифры после eax,ecx такие же как и у вас...(почти* вот прям точь в точь но...) Значит что-то не договорил мне кажится :rolleyes:
Подробнее по поводу? Ты либо вопрос неточно задал, либо я просто не понимаю что ты хочешь узнать.
Ну как это не понимаешь... Боже мой...
Нужно узнать содержимое определенного регистра! Типа как в SoftIce,
Но справа колонка она не отвечает за содержимого регистров... Я не прав в этом? Тогда скажи пожалуйста почему данные с картинки твоей такие же как и у меня
Темболее я не могу понять как это справа можно определить значение ОПРЕДЕЛЕННОГО регистра! :confused:
(я точно что-то не так делаю)
Я без понятия что в SoftICE, отладчиками уровня ядра я не пользовался. Справа в колонке ты видишь содержимое регистров для процесса который ты в данный момент отлаживаешь.
Текст справа от имени регистра отражает его содержимое как бы.
Текст справа от имени регистра отражает его содержимое как бы.
Это я уже понял давно... Меня интересуют ответы на вопросы с поста #504
То, что на рисунке - это и есть значение регистров. Если ты не понимаешь что такое регистры, или понимаешь под этим словом чтото другое, неотносящиеся к именно регистрам процессора, то иди читай доку по асму.
Если ты хочешь увидеть значение MMX регистров то покликай на заголовке где написано Registers (FPU)
Если ты запускаешь прогу то у всех почти регистры будут инициализированы одинаково за исключением некоторых - EIP (потому что он будет указывать ан EntryPoint) и ESP который указывает на стек.
По трассируй прогу и увидишь как значение регистров будет менять.
Если ты забыл что относится к регистрам, то вот регистры i386(64-х битные не стал указывать) :
Основные регистры:
8-и битные - al cl dl bl ah ch dh bh
16-и битные - ax cx dx bx sp bp si di
32-х битные - eax ecx edx ebx esp ebp esi edi
Регистры сегментов:
16-ти битные - es cs ss ds fs gs
Регистры управления:
32-х битные - cr0 cr2 cr3 cr4
Регистры отладки:
32-х битные - dr0 dr1 dr2 dr3 dr6 dr7
Регистры математического сопроцессора (FPU)
80-и битные - st0 st1 st2 st3 st4 st5 st6 st7
Регистры MMX
64-и битные - mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
Регистры SSE
128-ти битные - xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7
Ну и регистры флагов еще EFL можно добавить.
P.S - число которое рядом с именем регистра - это и есть его значение в HEX. Даблкликни на нем и откроется окно где можно будет изменить его значение, заодно оно будет показано в HEX/ DEC знаковое и DEC беззнаковое.
То, что на рисунке - это и есть значение регистров. Если ты не понимаешь что такое регистры, или понимаешь под этим словом чтото другое, неотносящиеся к именно регистрам процессора, то иди читай доку по асму.
Интересно как я могу так спрашивать если я и сам не знаю о чем спрашиваю?(по вашим словам) :confused:
//p.s. в #504 ссылался на то чтобы получить правильный/адеватный ответ от kaimi о том как просмотреть регистры (результаты регистров*) в определенном месте проги
По трассируй прогу и увидишь как значение регистров будет менять.
Спасибо, донес то что не мог донести kaimi :)
если кому-то непонятен смысл скриншотов (ответы были даны) 4итаем калашникова, юрова, пирогова и т.д., в разделе есть прикрепленные темы на книги, асм-реверсблоги, инструментарий крекера
wolmer, если 4то-то хо4ешь, но незнаешь как сказать - культурно формулируй и скорее всего полу4ишь помощь, хамство и отсебятину - в болталку, раздел для этого и создан
оффтоп по4ищен
mazaxaka
08.08.2009, 00:52
Чем можно разпаковать файл запакованый темидой?
Руками, мб поможет http://cracklab.ru/art/?action=view&id=313
De-visible
08.08.2009, 01:59
Руками, мб поможет http://cracklab.ru/art/?action=view&id=313
Да пиздец извращение....
Loginator
08.08.2009, 02:30
Возможно что это http://soft-best.ws/1158522661-cracklab-2008.html поможет даже куда намного больше,здесь много инструментов,учебников,ман уалов и есть даже видео по взлому,просто один из бесценных наборов для творческого человека.)
Kaimi, это уже давно не актуально. с тех пор под новые недрайверные версии куча недоанпакеров выходила, что-то аля антемида2 (можно загуглить),
а проще mazaxak'е на кряклабе том же найти тему по словосочетанию "темида анпак" там пару месяцев назад была сооствествующая тема про анпак фимы и на примере последнего TheBat анпакали, там юе вроде был как беглый тутор, так и видеоурок по анпаку. если не найдешь - пиши, анйду линку
есть ли плагин для ольки чтобы отследить место возникновения исключения?
neprovad
11.08.2009, 20:45
есть ли плагин для ольки чтобы отследить место возникновения исключения?
Debugging options-exceptions
Убрать галки с опций, которые требуется отслеживать
У меня есть вопрос. Я не могу отладить программу, потому что по всей видимости у нее стоит защита (пробовал OllyDbg). Защиту ломать не нужно, да и не стоит этого. Мне лишь неообходимо узнать адресс вызываемой процедуры при нажатии на одну кнопочку в этой программе. Подскажите пожалуйста, можно ли это сделать не пребегая к обходу защиты? Существуют какие-нибудь алтернотивные методы? :rolleyes:
Спасибо!
На чем написана программа? Попробуй воспользоваться плагинами типа fantom, hide od, olly advanced, hide debugger. Возможно тогда программа не обнаружит присутствие olly
Как можно узнать список импортируемых функций? Я сейчас использую один сервис, - далеко не самый удобный вариант. Какими программами это можно сделать?
zeppe1in
18.08.2009, 09:22
я юзаю F3 в тотал командере)
http://physio-a.univ-tours.fr/tcplugins/FILEINFO.htm
Chrome~
PEID, LordPE, PeTools
В PeTools: Tolls - PE Editor - выбрать файл - Sections - Import Directory - жать "..." - вот и список импортируемых функций по каждой из импортируемых библиотек
>>В PeTools: Tolls - PE Editor - выбрать файл - Sections
только не Sections, а Directories
Использовал PeTools, - все получилось. Всем спасибо!
Че то не могу понять чем упакованно (peid юзал, не выдал ничего)
http://dump.ru/file/3358890
Помогайте чтоли :-)
neprovad
04.09.2009, 22:24
Че то не могу понять чем упакованно (peid юзал, не выдал ничего)
http://dump.ru/file/3358890
Помогайте чтоли :-)
ничем не упаковано
ничем не упаковано
так подождите, почему я тогда не могу найти слова типа "Не верный серийный номер"
Искал во всех файлах но никак не могу найти слова о неверном серийном номере (или же подобному слову) (точнее искала программа w32dasm (Search Text))
Или я что-то не так делаю?
neprovad
04.09.2009, 22:42
крутой термин - языковой барьер
w32dasm - атавизм на мой взгляд, используй IDA и OllyDBG
есть такие слова, как "ресурсы", "юникод"... а иногда ещё есть "защита", что ли. в смысле "шифрование"
PS попробуй по слову "serial" поискать
сорри за тупой вопрос, так просто на будущее спрашиваю, есть прога меняет мак адрес ))))) с помощью оллюдбг можно в поле вставить мак адрес, что бы при запуске проги поле было не пустое а с моим маком? и что подменить примерно? :rolleyes:
если гуи программа - то можно впаять небольшой инлайн патчик, который будет задавать значение полю. нужно только надебажить нужный момент для вызова внедрения текста - когда окно создано.
кинь ссылку, посмотрим. При запуске GUI приложений обычно оно устанавливает значения текстовых полей функцией SetWindowText, ставь бряки на всех и ищи когда будет текст похожий на текст поля для MAC, то есть как я понимаю, скорее всего пустой "".
BOOL SetWindowText
(
HWND hWnd, // дескриптор окна или элемента управления
LPCTSTR lpString // адрес строчки
);
Меняем соответственно push "адрес первого аргумента для SetWindowText" на push твой mac, посмотри свободные байты, найдеш - запиши туда свой mac и push его адрес.
Че то не могу никак найти где вызывается MessageBox
Сама программа (упакованная FSG 2.0):
http://multi-up.com/137749
Распакованная программа (она же токо распак. вроде как):
http://dump.ru/file/3371134
Подскажите что не так делаю?(и так искал поиском MessageBox, по титлу/тексту messagebox'а, ничего не помогает) Я чую что-то не так намудрил с распаковкой (распаковывал этим: http://www.opensc.ws/trojan-malware-releases/5386-fsg-unpacker-plugin-peid.html)
(при нажатии на кнопку "Начать" вылезает окно о авторизации)(сейчас задача стоит найти откуда вызывается MessageBox!)
потому что это и не MessageBox вовсе, а окно обыкновенное
Стек:
0012F62C 001C086C |hWnd = 001C086C ('Login',class='TForm2')
0012F630 00000001 \ShowState = SW_SHOWNORMAL
Код:
0048A19D . E8 EAEDF7FF CALL <JMP.&user32.ShowWindow> ; \ShowWindow
Щас все будет ...
zeppe1in
06.09.2009, 23:35
прога на дельфи и это дельфовский showmessage. И я хз как он работает).
вызывается из процедуры по адресу
0055684C
а сам вызов вот тут
00556977
возьми например GODUP Plugin и примени дельфовские сигнатуры из иды. и тогда у тебя определится этот шоу меседж.
пс: кстати программа походу сама себе кейген)
ну вот не успел)
Начало процедуры, как уже заметил zeppe1in, рекспект ему и уважуха по адресу: 0055684C. Брекйпоинт туда и трассируем по F8:
Первый раз мы видим верный серийный номер:
005568D6 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
Процедура проверки:
00556908 |. E8 FFF6EAFF CALL unpacked.0040600C
Проверка условия:
0055690D |. 75 63 JNZ SHORT unpacked.00556972
А ниже если не было прыжка мы можем увидеть сохранение в файл верного серийного номера:
key.ini
[key]
k=*********
zeppe1in
07.09.2009, 00:05
Dosia, надо было хоть чегонить wolmer'у оставить)
Нужны опкоды MSIL (.NET), нашел 1 сайт, но он китайский http://www.asukaze.net/etc/cil/opcode.html
Есть что-нибудь полнее и хотя-бы на английском?
И что с того что китайский, пояснения же на английском
Dosia, хм... спасибо! а как вы нашли это окно обыкновенное? (искал по слову "JMP.&user32.ShowWindow","ShowWindow" ничего вроде не находило (искал в w32dasm,IDA))
Хм, все очень просто, после распаковки файла я открыл его олей, после чего нажал "Ctrl-N", таким образом я выполним поиск всех функций импортируемых исполняемым файлом, после чего нашел в этом списке "ShowWindow", не "JMP.&user32.ShowWindow", а именно ShowWindow, адрес в IAT 570A74
Хм, все очень просто, после распаковки файла я открыл его олей, после чего нажал "Ctrl-N", таким образом я выполним поиск всех функций импортируемых исполняемым файлом, после чего нашел в этом списке "ShowWindow", не "JMP.&user32.ShowWindow", а именно ShowWindow, адрес в IAT 570A74
Это мне понятно вроде
Но меня интересует сам момент как вы подцепили что именно от туда 0055690D проверка идет (т.е. как именно нашли эту проверку (я понимаю что по showwindow но подробней!))(ведь я же не могу всегда тыкать бряки на каждом углу)
Хороший вопрос, так как декомпилятор нам тут не поможет. Автор данной программы не шифрует строки и это его основная ошибка, именно при поиске строки: "79-81-80", я оказался тут:
http://s05.radikal.ru/i178/0909/a5/fe39359fde03.jpg
Как видиш название файла выдает его с головой =)
Дальше я сходил по обоим адресам ( 556927, 556ACB )куда пушится строка "key.ini". Поставил бряки на начало данных процедур ( 55684C , 556A98 ). Перезапустил программу. Нажал "Старт", оказался по адресу 556A98, очевидно что там программа проверяла наличие файла или че то типо того, я не стал особо изучать процедуру, така как никаких переходов (вообще никаких ;D) я там не увидел, в общем, я протрассировал это процедуру по "F8". Потом - нажал "F9" (RUN). Всплывает форма (как мы уже выяснили в более ранних постах), текст в поле "ID" подозрительно похож на возвращаемое функцией GetVolumeInformation значение ;D, но это так, лирическое отступление, мы вводим что то типа "qwe123", чтобы потом если че посершить память (спорное конечно заявление ;D). Жмем , прерываемся по адресу 55684C. В процедуре всего 2 перехода:
1)0055690D 75 63 JNZ SHORT unpacked.00556972
2) 0055687D |. 0F84 F9000000 JE unpacked.0055697C
Что мы делаем? мы трассируем процедуру по "F8", первый переход, какой то не понятный, ну и пофик на него, нас то интересует тот, после которого пушится в стек строка "key.ini". Заметьте, сразу после перехода, можно почти со 100% уверенностью сказать, что если перехода не будет - то будет что то интересное. По ходу трассировки этой процедуры до интересующего нас перехода ( 55690D ), как я уже писал можно увидеть настоящий пароль. Переход с адреса 55690D переносит нас по адресу 556972, выше видим безусловный переход ( JMP ), сомнений не остается, переход по адресу 55690D, именно то, что мы искали. Надеюсь теперь все понятно. =)
Dosia, почему при запуске из OllyDbg у меня не откр программу а выкидывает в отладку модуля kernel32? (в адрес 7C81EB33) (хотя к примеру если запустить крякми из под ollydbg то он запускается нормально)
Автор данной программы не шифрует строки и это его основная ошибка
Что если я столкнусь с программой которая шифрует строки? То как тогда искать эти строки/процедуру проверки?
Ставить брейкпоинты на GetWindowText, GetDlgItemText ...
Если сообщение - MessageBox
Поиск по памяти.
Также если знаеш что идет сохранение в файл, можно поставить бряки на: CreateFile, WriteFile.
Вообще все зависит от конкретной ситуации =)
Просто надо иметь справочник по функциям API и немного опыта, потому что иногда вызваются специфические функции (VisualBasic - rctMsgBox).
Dosia, почему при запуске из OllyDbg у меня не откр программу а выкидывает в отладку модуля Хм, затрудняюсь оветить, да и время уже все, мне пора, буду вечером только
Щас zeppe1in еще дополнит =)
zeppe1in
10.09.2009, 14:37
)) а я то чо?)
wolmer когда столкнёшся тогда и будеш думать что делать)
почему при запуске из OllyDbg у меня не откр программу а выкидывает в отладку модуля
а внизу должен писать почему остановился. может у тя бряк хардварный стоит или ещо чонить.
может у тя бряк хардварный стоит или ещо чонить.
Бряк токо на 0055690D (программа), а внизу пишет "Exception 406D1388 - use Shift+F7/F8/F9 to pass exception to program" (как открылся модуль kernel32)
Бряк токо на 0055690D (программа), а внизу пишет "Exception 406D1388 - use Shift+F7/F8/F9 to pass exception to program" (как открылся модуль kernel32)
хм, с этого и стоило начинать, теперь все понятно, у тебя не настроен отладчик (оля).
Вот тебе выдержка из моей статьи (http://forum.antichat.ru/thread134953.html) (нагло пропиарил тему ;D)
Настройка отладчика
Запускаем отладчик, идем в меню “Options” -> “Debugging options”. В появившемся окне выбираем вкладку "Exceptions" (Исключения), устанавливаем все переключатели (отмечаем их галочкой). Правее есть кнопка “Add range”, жмем, в поле “First exceptions in range“ вводим “00000000” (8 нулей), в поле “Last exceptions in range“ вводим “FFFFFFFF” (8 букв “F”), жмем “OK”.
http://doctordrad.narod.ru/articles/re/garena/images/DbgOpt.JPG
Закрываем окно настроек отладчика нажатием “OK”. Теперь в случае возникновения исключения во время работы программы, она не будет прерываться и требовать нашего вмешательства ;D
Сделал все как ты описал в этом посте теперь пишет это "Don't know how to bypass command at address 77D3D4CC. Try to change EIP or pass exception to program"
(как сохранил настройки сразу же перезапустил ollydbg)
Хм странно, даже без плагинов оля его запускает (никакой антиотладки там нет), бряки убери все, перезагрузи прогу в отладчике "Ctrl+F2", запусти на выполнение, если не загрузится, то мб ошибки были при распаковке. Распакованная версия тут (http://dump.ru/file/3394150).
xDD есть ломаная и никакие ключи не нужны
Vlad-Online
27.09.2009, 23:55
Здравствуйте! Оч давно не занимался реверсингом. С олли не работал, только с айсом.
Вобщем гружу прогу в олли, а она пишет что обнаруживает отладчик. Что делать??? Гдето глазом видел можно плагин использовать??? Спасибо.
Есть такие плагины, например: Phantom, AdvancedOlly, HideDebugger, HideOD, IsDebug
Есть dll, через нее произв проверка ключа, хочу поставить бряк на dll и запустить программу, как это сделать? (именно чтобы бряк сработал)(ведь dll нельзя запустить)(работаю с OllyDbg)
Hiro Protagonist
01.10.2009, 22:30
2wolmer
В дебаггинг оптионс->Events ставишь галку напротив Break on new module (DLL).
Вот нашёл интересный тутор по созданию кейгенов>>>ТУТОР<<< (http://ifolder.ru/14518871)
Но к великому сожалению, :( он не на нашем Великом и Могучем !!!
Итак вопрос :
1) Есть ли что нибудь такое на русише???
2) И где это можно найти???
P.S. Может кто нить переведёт этот тутор? Ну или перепишет? Была б ему честь, хвала и уважуха !!! :)
zeppe1in
16.10.2009, 01:43
Ничего такова в этом туторе нет. выучи асм, и всё будет понятно из исходников. на tuts4you есть сорцы кейгенов по прикольнее.
тыц (http://www.cracklab.ru/art/)
also (http://crackmes.de/)
s0l_ir0n
16.10.2009, 06:46
Вот нашёл интересный тутор по созданию кейгенов>>>ТУТОР<<< (http://ifolder.ru/14518871)
Но к великому сожалению, :( он не на нашем Великом и Могучем !!!
Итак вопрос :
1) Есть ли что нибудь такое на русише???
2) И где это можно найти???
P.S. Может кто нить переведёт этот тутор? Ну или перепишет? Была б ему честь, хвала и уважуха !!! :)
Это ниразу не интересный тутор, а тупой рип темплейта с вудмана, но на вьетнамцов всем пофик.
Если хочешь научиться делать кейгены, то нужно начинать с того, чтобы понять как он работает и как работает программа для которой генерируются ключи, а за фейсом дело не встанет
Vlad-Online
18.10.2009, 12:42
С Олли разобрался. Но теперь другая проблемма. Программа запакована Asprotect. PiD показывает [!] ASProtect v1.40 Build 11.20 detected !, а PEiD показал ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov.
Автораспаковщики с заданием не справляются. Хорошей подробной инструкции по распаковке в нете не нашел. Подскажите пожалуйста господа хакеры, какие признаки нахождения OEP у этого протектора, как правильно снять дамп, про восстановление ресурсов и таблицы импорта тоже было бы неплохо. Заранее огромное спасибо!!!
Статьи отсюда не помогают?
http://cracklab.ru/art/?action=cat&id=3
Vlad-Online
18.10.2009, 13:00
Большинство из них уже изучил, но чет пока не особо помогло..
Может тогда программу выложишь?
Hellsp@wn
18.10.2009, 13:42
на клабе куча материала по распаковке ASProtect, так что читать и ещё раз читать, а потом пробовать.
Vlad-Online
18.10.2009, 13:49
Программу выкладывать не хочу ибо за нее заплачены деньги, к тому же самому разобраться хочется. Чтож будем дальше читать читать, гляди мож че и начитаю))
http://cracklab.ru/f/index.php?action=vthread&forum=13&topic=15077
Vlad-Online
20.10.2009, 10:44
http://cracklab.ru/f/index.php?action=vthread&forum=13&topic=15077
Тема не существует. Она была удалена администратором либо НИКОГДА не существовала
s0l_ir0n
20.10.2009, 11:05
Тема не существует. Она была удалена администратором либо НИКОГДА не существовала
Тема видна только зарегистрированным
Vlad-Online
21.10.2009, 11:45
Тема видна только зарегистрированным
Извиняюсь, действительно не залогинен был.
Допустим есть программа которая при запуске сравнивает md5(или любой другой алгоритм) хеш, самой себя, типо защита от изменений xD
Понятно что это очень легко обходится... это только лишь для примера.
Вопрос, каким образом подобные вещи усложняются (добавления мусора, замудреных конструкций или чего-то подобного), чтобы при дизассемблинге было намного сложнее это обойти)
например неявные проверки
например неявные проверки
Можно поподробнее? :)
Например если программа написана на С++ то как это осуществить?
В общем решил я бота замутить для онлайн игры. Запоролся на получении указателей на координаты. Я нашел функцию, которая вроде бы куда-то записывает координаты, но я эти координаты ни разу не видел еще, потому что в игре они скрыты. Эта функция вызывается когда я открываю карту местности, где я отмечен треугольником. Она имеет вид 2д-картинки с наложенной картинкой треугольника. Сама игра - трехмерная, на directx.
Вопрос следующий:
какие функции могут отрисовывать 2D-карту (какие обычно в играх), чтобы я перехватил отрисовку треугольника и посмотрел стек вызовов, может чего и пойму.
zeppe1in
25.10.2009, 02:27
ничо не понял). directx и отрисовывает всё наверно.
ntldr
>>я открываю карту местности, где я отмечен треугольником
ходишь по карте и взрываешь стенки? кушаешь вишенки?
вообще, directx - это мелкософтовский программный продукт, а стандарт графики - Direct3D, вот что можно загуглить в первых же выдачах гугля по direct3d + отрисовка
http://www.realcoding.net/article/view/2483
может поможет
cel1697i845
22.11.2009, 22:43
Подскажите книги, где описаны методы защиты(усложнения взлома) ПО.
Заранее благодарю.
какие API нужно перехватить чтобы на 100% перехватить завершение текущего процесса?
neprovad
28.11.2009, 19:22
какие API нужно перехватить чтобы на 100% перехватить завершение текущего процесса?
осмелюсь предположить что NtClose\NtTerminateProcess могу ошибаться
осмелюсь предположить что NtClose\NtTerminateProcess могу ошибаться
в общем оказалось, что прога каким-то волшебным образом завершается через SEH :confused:
В ольке нереал узнать откуда идет джамп? crtl+r не подходит вероятно там адрес загоняется в регистр и уже по нему идет джамп.
А посмотреть в стеке адрес - не вариант?
Там же вроде пишется типа
0012FFBC 004016FA RETURN to lsass.004016FA from lsass.004BCF58
А посмотреть в стеке адрес - не вариант?
Там же вроде пишется типа
0012FFBC 004016FA RETURN to lsass.004016FA from lsass.004BCF58
JMP != CALL
neprovad
29.11.2009, 04:54
JMP != CALL
вообще то в олли есть trace. невероятно удобная штуковина в прямых руках)
настраиваешь её значит, включая в опциях always trace over system DLLs, и включаешь трейс в файл. затем ctrl-f11 от нужного тебе места, приближенного к твоей ошибке\проблеме и ждешь)) затем исследуешь лог выполнения, вроде как и всё!
Каким образом можно ускорить или замедлить течение времени во флэш ролике?
Пробовал перехватывать NtQueryPerformanceCounter и SetTimer и делить количество тактов или время на определнну величину, чтобы ускорить ролик, но ничего не выходит.
neprovad
29.11.2009, 18:13
Каким образом можно ускорить или замедлить течение времени во флэш ролике?
если есть возможность, то попробовать декомпилировать, и изменить таймеры, опять же придется вникать в логику работы самого плеера. пожалуй так
Есть такая штука как Lucifer Anti Cheat, работает по принципу клиент сервер.
Так вот клиентская часть (http://ВНИМАНИЕ! Тут должна была быть ссылка на ВНИМАНИЕ! Тут должна была быть ссылка на depositfiles.com, скорее всего это вирус или троян!, скорее всего это вирус или троян!/files/8dbifimqb) генерит уникальный id по железу, привязанный к компу. Помогите люди: как этот id изменить + если можно пояснить как она (клиентская часть) его созидает(на основании какой инфы и какой принцип использует)
Судя по моим начальным знаниям этот lac.exe написан на бейсики - push, call и упакован asprotec 2.1
Этот lac.exe запускает другой exe-шник, у которого в исполняемых модулях числется lac.dll http://ВНИМАНИЕ! Тут должна была быть ссылка на depositfiles.com, скорее всего это вирус или троян!/files/y35dncd98 (10000000-1C431FF0)
В дампе запущенного exe-шника lac-ом по адресу 100051E8 был обнаружин этот злополучный id
Знаю что lac.dll создается lac.exe в процессе работы
а кто какие еще проги знает для рэверса кроме OllyDbg, IDA Pro и дэкомпиляторов ведь есть еще второстепенное ПО (дополнительное) скжем Dependecy wallker, DBG, ApiSpy...
почему только на дизассеемблерах и отладчиках помешаные?
а вы себе представляете это как то иначе?
swt1, это вы кому? я против отладчиков ничего не имею и дизассемблеров, но только ними ислледуют код и все
neprovad
18.12.2009, 10:59
swt1, это вы кому? я против отладчиков ничего не имею и дизассемблеров, но только ними ислледуют код и все
это тематический раздел а не болталка
обьяснитепожалуста по ApiSpy32 для примера первую подчеркнутую строчку, вот ссылка на скрин:
http://upwap.ru/676980
что там и дальше за цыфры, понять пока не могу
Реверсингом ище не занемался.
Но подскажите какой основной софт для данного дела.
Реверсингом ище не занемался.
Но подскажите какой основной софт для данного дела.
http://forum.antichat.ru/threadnav24662-1-10.html
neprovad
28.12.2009, 01:50
обьяснитепожалуста по ApiSpy32 для примера первую подчеркнутую строчку, вот ссылка на скрин:
http://upwap.ru/676980
что там и дальше за цыфры, понять пока не могу
это адрес откуда был вызов функции
slil.ru/25438393 вот здесь 2 фаила распакованые 2 мя способами
я знаю как ломать сечас я хочу узнать почему распакованая deupack ом программа
работает стабильней посмотрите вложеные фаилы в распакованом ручками не удалина секция
а за совет спасибо таким способом не ломал хотя сечас можно после чистки вернуть размер до 32*732 и внести изминения в программу тоесть 7FDC и должно работать я обычно просто меняю переход на безусловный не задумываясь о его причине но что из за веса я знал.
Привет всем !!!
Есть такая проблема:
Есть программа, она идёт в комплекте с другой програмой. Оба ЕХЕ находятся в одной директории, тут же находятся DLL ки и плаги... Короче они как Сиамские дратья близнецы!
Задача:
Выдернуть эту прогу, чтоб она работала независимо от другой. Так же уменьшится её размер.
Вопрос:
Как уэнать, какие DLL ки, плаги (с любым расширением) и др. файлы и ключи реестра она пользует ???
1. RegMon, ProcMon, RegSnap и смотреть кто\что использует
2. выдергивать по одному файлу и пытаться запускать обе программы в поисках минимального набора файлов, с которыми она запуститься
ProTeuS Спасибо огромное!
А можно как нибуди вживить логер в адресное пространство программы?
чтоб он сам лог писал? Что когда она использует ??? и как такое можно сделать ?
имхо дольше будешь мучаться с логгером чем пытаться руками файлы уберать
ProTeuS Спасибо огромное!
А можно как нибуди вживить логер в адресное пространство программы?
чтоб он сам лог писал? Что когда она использует ??? и как такое можно сделать ?
log breakpoint - shift+f4
Эм... Я вот что-то не совсем понимаю пару функций в OllyDbg.
F7 - выполнять пошагово С входом в функцию
F8 - выполнять пошагово БЕЗ входа в функцию
Ctrl+F11 - чем отличается от F8?
Ctrl+F12 - ?
И дайте, пожалуйста, какие-нибудь ресурсы, где есть много КрякМи'сов, но чтобы и для новичков были, не совсем сложные, желательно с солюшинами.
Заранее спасибо)
С командами разобрался)
Подкиньте теперь ресурсов (кроме tuts4you).
Hellsp@wn
02.01.2010, 17:29
http://crackmes.de :)
http://crackmes.de :)
Точно, я там даже зареган ;)
Спасибо, что линк подсказал)
Привет!
Такая проблема у меня.
Попался мануал по TMG Ripper Studio 0.03 .
В комплекте был исходник TMGRS-EX.ASM
Код я выдрал в Ольке плагом.
Вопрос: как переправить пароль в поле кейгена ???
вот фотка с найденым паролем http://s52.radikal.ru/i136/1001/a0/b055ed3446fc.jpg (http://www.radikal.ru)
И второй: как сделать кнопки COPY чтоб копировать ключь из кейгена в буфер обмена, и ABOUT ???
сорцы выложи - ни4его не понятно о 4ем ты вообще пишешь...
Вот. Это родной сырец из архива с тутором.
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
IDC_NAME equ 100
IDC_KEY equ 101
WinMain PROTO :HINSTANCE,:HINSTANCE,:LPSTR,:DWORD
;extern wsprintfA :proc
.data
szClassName db 'UglyWindowClass',0
szAppName db 'TMG Ripper Studio example',0 ;### Заголовок окна
szEdit db 'EDIT',0
.data?
szName db 30 dup(?) ;### Инициализируемые данные. Имя макс 30 символлов
szKey db 9 dup(?) ;### Инициализируемые данные. SERIAL 9 символов
;========================= START ================================
.code
start: ;### Метка
invoke GetModuleHandle,0
invoke WinMain,eax,NULL,NULL,SW_SHOW
invoke ExitProcess,eax
MessageHandler proc hWnd:HWND,Msg:DWORD,wParam:WPARAM,lParam:LPARAM
cmp Msg,WM_CLOSE
jne NotClose ;### Выполнить Метку
invoke PostQuitMessage,0
xor eax,eax
ret
;========================= NOT CLOSE ==============================
NotClose:
cmp Msg,WM_COMMAND
jne Default ;### Выполнить Метку
mov eax,wParam
and eax,0ffffh
cmp eax,IDC_NAME
jne Default ;### Выполнить Метку
mov esi,hWnd
call GenerateKey ;### Выполнить Метку
xor eax,eax
ret
;========================= DEFAULT ==============================
Default: ;### Метка
invoke DefWindowProc,hWnd,Msg,wParam,lParam
ret
MessageHandler endp
WinMain proc hInst:HINSTANCE,hPrev:HINSTANCE,szCmdLine:LPSTR,Cm dShow:DWORD
local wc:WNDCLASSEX
local msg:MSG;
push hInst
push edi
xor eax,eax
lea edi,wc
mov ecx,sizeof WNDCLASSEX
push ecx
rep stosb
pop wc.cbSize
mov wc.style,CS_HREDRAW or CS_VREDRAW or CS_OWNDC
pop edi
mov wc.lpfnWndProc,offset MessageHandler
pop wc.hInstance
mov wc.lpszClassName,offset szClassName
mov wc.hbrBackground,COLOR_BACKGROUND
invoke RegisterClassEx,addr wc
invoke CreateWindowEx,WS_EX_STATICEDGE,offset szClassName,offset szAppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,300, 100,NULL,NULL,hInst,NULL
push CmdShow
push eax
invoke CreateWindowEx,WS_EX_STATICEDGE,offset szEdit,NULL,WS_CHILD or WS_VISIBLE,10,10,280,20,eax,IDC_NAME,hInst,NULL
invoke CreateWindowEx,WS_EX_STATICEDGE,offset szEdit,NULL,WS_CHILD or WS_VISIBLE or ES_READONLY,10,40,280,20,[esp+12],IDC_KEY,hInst,NULL
call ShowWindow
;========================= MESSAGE LOOP ==============================
MessageLoop: ;### Метка
invoke GetMessage,addr msg,NULL,0,0
test eax,eax
je Finish ;### Прыжок на метку Finish
invoke TranslateMessage,addr msg
invoke DispatchMessage,addr msg
jmp MessageLoop
;=========================FINISH================== ============
Finish: ;### метка
mov eax,msg.wParam
ret
WinMain endp
;=========================GENERATE KEY=========================
GenerateKey: ;### метка
invoke GetDlgItemText,esi,IDC_NAME,offset szName,30
test eax,eax
je NoName ;### Выполнить Метку
push offset szKey ;### Кладём Ключик в стек
push offset szName ;### Кладём ИМя в стек
call Keygen ;### Переход на выполнение нашей метки с выдранным кодом
add esp,8
invoke SetDlgItemText,esi,IDC_KEY,offset szKey
;=========================NO NAME ==============================
NoName: ;### Метка
ret
;++++++++++++++++++++++++++++++++++++++++++++
;+ +
;+ Далее идёт код из TMG Ripper Studio +
;+ +
;++++++++++++++++++++++++++++++++++++++++++++
.DATA
LOC_0048C844 dd 000000000h ;### Буфер
LOC_0047E38C db '%04X%04X',0 ;### Буфер
;========================= KEY GEN ============================
.CODE
Keygen: ;### Метка
PUSH EBP
MOV EBP,ESP
MOV ECX,DWORD PTR [EBP+008h]
PUSH EBX
PUSH ESI
PUSH EDI
MOV DL,BYTE PTR [ECX]
XOR EBX,EBX
XOR EAX,EAX
MOV ESI,ECX
XOR EDI,EDI
LOC_00407B5A: ;Ref: 00407B6C
TEST DL,DL
JZ LOC_00407B6E
MOVZX DX,DL
IMUL EDX,EDI
ADD EBX,EDX
MOV DL,BYTE PTR [ESI+001h]
INC EDI
INC ESI
JMP LOC_00407B5A
LOC_00407B6E: ;Ref: 00407B5C
MOV DWORD PTR [LOC_0048C844],000000001h
MOV ESI,ECX
MOV CL,BYTE PTR [ECX]
LOC_00407B7C: ;Ref: 00407B97
TEST CL,CL
JZ LOC_00407B99
MOVZX CX,CL
PUSH 000001021h
PUSH ECX
PUSH EAX
CALL LOC_00407BB9
MOV CL,BYTE PTR [ESI+001h]
ADD ESP,00Ch
INC ESI
JMP LOC_00407B7C
LOC_00407B99: ;Ref: 00407B7E
ADD EAX,063h
MOVZX ECX,BX
MOVZX EAX,AX
PUSH ECX
PUSH EAX
PUSH OFFSET LOC_0047E38C
PUSH DWORD PTR [EBP+00Ch]
CALL wsprintfA ; <<<<<<<<<<<<<<Здесь заменили LOC_00467AB4 на wsrintfA
ADD ESP,010h
POP EDI
POP ESI
POP EBX
POP EBP
RETN
LOC_00407BB9: ;Ref: 00407B8B
PUSH EBP
MOV EBP,ESP
MOV EAX,DWORD PTR [EBP+008h]
PUSH ESI
XOR ECX,ECX
PUSH 008h
MOV CH,BYTE PTR [EBP+00Ch]
POP EDX
LOC_00407BC8: ;Ref: 00407BDF
MOV ESI,EAX
XOR ESI,ECX
TEST SI,08000h
JZ LOC_00407BDA
ADD EAX,EAX
XOR EAX,DWORD PTR [EBP+010h]
JMP LOC_00407BDC
LOC_00407BDA: ;Ref: 00407BD1
SHL EAX,1
LOC_00407BDC: ;Ref: 00407BD8
SHL ECX,1
DEC EDX
JNZ LOC_00407BC8
POP ESI
POP EBP
RETN
end start
После надписи ;++++++++++++++++++++++++++++++++++++++++++++
;+ +
;+ Далее идёт код из TMG Ripper Studio +
;+ +
;++++++++++++++++++++++++++++++++++++++++++++
мне надо вставить другой код(который генерит пароль), выдраный из другой проги.
Генерацию пароля я нашёл. Пароль обведён рамками на фотке, в прошлом посте.
Как передать пароль в поле Serial кейгена?
Короче типа шаблона хочу сделать.
А так же хочу добавить сюда пару кнопок:
COPY чтоб сгенерированый пароль копировался в буфер (ну чтоб мышькой не выделять, не жать правой кнопкой копировать...)
и кнопочку
ABOUT
zeppe1in
04.01.2010, 15:43
ну вот же
invoke SetDlgItemText,esi,IDC_KEY,offset szKey
где offset szKey указатель на ключ.
копирование например так.
invoke SendDlgItemMessage,hWin,IDC_KEY,EM_SETSEL,0,-1
invoke SendDlgItemMessage, hWin, IDC_KEY, WM_COPY, 0,0
с эбаутом какие проблеммы?)
вообще посмотри другие темплейты кейгенов, или ревересни какойнить. потому,что надо же ещо музыку картинки и всё такое)
ну вот же
invoke SetDlgItemText,esi,IDC_KEY,offset szKey
где offset szKey указатель на ключ.
Спасибо ! Вроде разобрался!!! :)
вопрос ?
есть такая прога:
налогоплательщик 2010.01... распаковать то я распаковал,декомпилировал,
но с алгоритмом намудрили не посмотрите ???
http://slil.ru/28505826
в dekod2010 передается типа ключик для сравнения, в декоде из инн+кпп
переменные :iuytrewq и lkjhgfdsa получается переменная snsnsnsnsn
так вот, если серийник правильный то в конце получатся lcisxod0 равная snsnsnsnsn
и процедура возвращает 1
=====
необходимо оттолкнуться от lcisxod0 так как snsnsnsnsn мы сразу получаем и видим, чтобы получить правильный серийник...
но тут трабл, куча вызовов процедур, я с математикой не разберусь :-(
не посмотрите ??? что то из математики вспомнить не могу ... толи прогрессия толи ряды напоминает.....
Читал я статью грейта по переполению буфера и решил попробовать...
Ссылка на статью: http://forum.antichat.ru/showthread.php?p=219774
Статья супер, конечно, но у меня что-то не вышло.
Значит так я сделал как написано нашел адрес zzcv: у меня этот адрес существует 2 раза, сделал первый раз - вообще ничего не произошло, просто выводил Get your name и все, сделал с друим адресом, теперь выводит: AAAAAAAAAA0123454*‼! и программа завершается аварийно, не выводя MessageBox'a. Почему так?
Его тулзу хз где скачать, юзал это: http://mike.nov.ru/2004/10/09/binary-files-to-c-module/
cheater_man
04.02.2010, 13:53
Читал я статью грейта по переполению буфера и решил попробовать...
Ссылка на статью: http://forum.antichat.ru/showthread.php?p=219774
Статья супер, конечно, но у меня что-то не вышло.
Значит так я сделал как написано нашел адрес zzcv: у меня этот адрес существует 2 раза, сделал первый раз - вообще ничего не произошло, просто выводил Get your name и все, сделал с друим адресом, теперь выводит: AAAAAAAAAA0123454*‼! и программа завершается аварийно, не выводя MessageBox'a. Почему так?
Его тулзу хз где скачать, юзал это: http://mike.nov.ru/2004/10/09/binary-files-to-c-module/
Там статья уж очень сложная к восприятию :)
Видео посмотри там попроще обьясняется go (http://skillopedia.ru/material.php?id=3391)
Это видел еще хуже =\
От грейта все более менее понятно.
Допустим:
Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
1ten0.0net1
05.02.2010, 01:13
Это видел еще хуже =\
От грейта все более менее понятно.
Допустим:
Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
Выяснить какие именно символы от начала строки перетирают адрес возврата в стеке (скорее всего - у тебя переполнение в стеке), перетереть адресом инструкции типо JMP ESP, и далее за этим адресом расположить такую штуку:
[NOP...NOP][SHELLCODE][RET..RET] - это самая классическая схема.
PS NOP - это 90, SHELLCODE можно взять из Metasploit, RET - адрес возврата на инструкцию типо JMP ESP, к примеру (это не рабочий адрес!!!) - 7C42B244
Выяснить какие именно символы от начала строки перетирают адрес возврата в стеке (скорее всего - у тебя переполнение в стеке), перетереть адресом инструкции типо JMP ESP, и далее за этим адресом расположить такую штуку:
[NOP...NOP][SHELLCODE][RET..RET] - это самая классическая схема.
PS NOP - это 90, SHELLCODE можно взять из Metasploit, RET - адрес возврата на инструкцию типо JMP ESP, к примеру (это не рабочий адрес!!!) 7C42B244
А, я нашел переполнение через OllyDbg, так вот каким образом туда впихнуть эти инструкции? Надо их захксить и туда вставить? Или как?
Есть файл, он упакован этим (PEiD выдал):
EXECryptor V2.2X-V2.4X -> StrongBit Technology * Sign.By.fly *
Взял Unpacker ExeCryptor 2.x.x. beta 1 by RSI, лог анпаковки:
Create Process... PID = 0xBBC ... Done
Finding signature function unpacking... Done
Set breakpoint in function... Done
Exit Process... Done
Почему анпакованный файл не появ.?
Сам пакованный файл:
lovepiar.net/files/LoveProject2.9.9.184.exe
(софт требует инсталла)
Почему анпакованный файл не появ.?
Нормально всё, файл появляется
Нормально всё, файл появляется
А где? Что-то не могу найти :mad: (в папке где лежит exe - нету, в папке где лежит анпакер - тоже нету)
В папке, где лежит exe, создается файл с _u после имени
xor[jmp]
02.04.2010, 00:44
Решил научится реверсить, и вот первым моим приложением стал флудер ICQ FBK42 от Карася.Его я пытаюсь отвязать.Как я понял там привязка идёт по ICQ, т.е программа заходит на 1 ICQ номер и весит там пока ещё 1 копия программы не попытается приконнектится к этому же нуму, как только вторая копия коннектится первую копию выбрасывает в оффлайн и программа выдаёт ошибку после чего закрывается.Асю я достать вроде бы сумел, но вот что делать дальше хз...Программа вроде чем-то запакована, распаковать пытался парой декомпиляторов но они выдавали ошибки...В общем буду благодарен за любую информацию по этому поводу:).
P.S Знаю что флудер уже лежит отвязанный в паблике но мне интересно отвязать его самому :).
Как декомпилятором прот можно снять ?:) Смотри прот в разных сканерах пе, типа exeinfo, peid, rdg
xor[jmp], такой софт отвязывать - работа не для новичка (исхожу из того - что софт может быть с asm правками)(конечно же интересно отвязать, но лучше для начала потренироваться на обычных программах (а не на программах для "хакера"))
xor[jmp]
04.04.2010, 00:54
xor[jmp], такой софт отвязывать - работа не для новичка (исхожу из того - что софт может быть с asm правками)(конечно же интересно отвязать, но лучше для начала потренироваться на обычных программах (а не на программах для "хакера"))
Например?Можешь подкинуть программ для отвяза?И хотелось бы почитать статьи про реверсинг, но на ачате негде вроде бы не видел...
можно ли добыть исходный код Bifrost 1.2.1d?
']Например?Можешь подкинуть программ для отвяза?И хотелось бы почитать статьи про реверсинг, но на ачате негде вроде бы не видел...
crackmes.de на них попробуй потренироваться
Сталкнулся с такой проблемой.
Есть программка, она использует *.Dll ку
Так вот, мне надо склеить *.ЕХЕ и эту *.DLL
Сделал с помощью батника
copy /b *.EXE + *.dll *.EXEТеперь вопрос:
Как сделать чтоб эта дллка выгружалась в память и
прога могла к ней обращаться, как будто она лежит рядом ?
P.S. Просьба не предлагать тхиннстал, ксенокод и др проги для партабла. Чисто родной *.ЕХЕ и родная *.DLL
zeppe1in
09.04.2010, 01:21
эт ты чо склейл так? не будет так работать. чем "проги для партабла" не устраивают? делай свой склейщик тогда.
neprovad
09.04.2010, 06:15
]Как сделать чтоб эта дллка выгружалась в память и
прога могла к ней обращаться, как будто она лежит рядом ?
если на один раз можно просто модифицировать код exe так чтоб вместо LoadLibrary вызывался твой кусок кода, дописаный например в новую секцию, а сам dll можно в ресурсы добавить или действительно просто оверлеем прицепить
или действительно просто оверлеем прицепить
Если можно расскажите по подробнее как это сделать ;)
neprovad
09.04.2010, 20:15
Если можно расскажите по подробнее как это сделать ;)
Ну вы же сами давали ответ на свой вопрос, не так ли? :)
copy /b *.EXE + *.dll *.EXE
Сталкнулся с такой проблемой.
Есть программка, она использует *.Dll ку
Так вот, мне надо склеить *.ЕХЕ и эту *.DLL
Сделал с помощью батника
copy /b *.EXE + *.dll *.EXEТеперь вопрос:
Как сделать чтоб эта дллка выгружалась в память и
прога могла к ней обращаться, как будто она лежит рядом ?
P.S. Просьба не предлагать тхиннстал, ксенокод и др проги для партабла. Чисто родной *.ЕХЕ и родная *.DLL
Может не в тему, а инжектить пробовал? Помню так раньше античит обходили на руофе :)
Может не в тему, а инжектить пробовал? Нет не пробовал.
Да и не зачем.
Длл-ка и так подхватывается прогой.
Но нужно что бы в одном файле это все было. ;)
Чтоб *DLL рядом не лежала, но после загрузки проги в памяти она была.
какой прогой или как можно выдрать регестри ключи из msi инсталятора ? Или хотябы как отследить какие ключи пишит в регистар ?
neprovad
12.04.2010, 06:35
какой прогой или как можно выдрать регестри ключи из msi инсталятора ? Или хотябы как отследить какие ключи пишит в регистар ?
http://download.sysinternals.com/Files/ProcessMonitor.zip
Или хотябы как отследить какие ключи пишит в регистар ?
ЗДЕСЬ (http://www.blueproject.ro/systracer/download) (глобальная слежка)
а можжно так же
ЗДЕСЬ (http://www.torchsoft.com/en/rw_information.html) (последняя мне больше нравится если чисто реестр надо отследить)
Делаем снимок, устанавливаем прогу (НО НЕ ЗАПУСКАЕМ !) , делаем второй снимок, сравниваем снимки.
Если надо отследить какие ключи прога кидает при запуске, запускаем её, потом закрываем и делаем третий снимок. Сравниваем последних два (Второй и третий)
P.S. Программ много, например Total Uninstall, RegSnap... кому какая по вкусу.
Появилась проблема с установкой SoftICE на Windows XP SP3 Видео картра ATI Mobility Radeon HD2600. В интернетах говорят что на 3 пакет вообще нету рабочего SoftICE. Может там инфа устарела или кто то ставил... поделитесь)))
s0l_ir0n
12.04.2010, 14:47
Появилась проблема с установкой SoftICE на Windows XP SP3 Видео картра ATI Mobility Radeon HD2600. В интернетах говорят что на 3 пакет вообще нету рабочего SoftICE. Может там инфа устарела или кто то ставил... поделитесь)))
Если ты только учишься реверсить, то ставь OllyDbg и не парься, если же тебе нужна работа с нулевым кольцом, то ставь Syser Debugger. Про soft-ice можешь забыть, т.к. с ним работают только тру олдскульщики и наркоманы
Если ты только учишься реверсить, то ставь OllyDbg и не парься, если же тебе нужна работа с нулевым кольцом, то ставь Syser Debugger. Про soft-ice можешь забыть, т.к. с ним работают только тру олдскульщики и наркоманы
Просто начал читать серию статей "Написание драйвера в подробностях" там порекомендовали именно SoftICE. Попробую конечно разобраться в Syser Debugger спасибо! :)
Вопрос: можно ли сделать так чтобы бряк срабатывал только при опред. значениях eax? (или ecx, edx (вообщем не важно))(ollydbg)
Если да, то как? (без ручного правки кода)(расчитываю на то, что возможно есть такой плагин)
Просто начал читать серию статей "Написание драйвера в подробностях" там порекомендовали именно SoftICE. Попробую конечно разобраться в Syser Debugger спасибо! :)
WinDbg и не надо никаих сусеров.
По поводу софтайса - ставил на 3-й сервим пак с комплекта DriverStudio, все работает.
s0l_ir0n
14.04.2010, 01:15
Вопрос: можно ли сделать так чтобы бряк срабатывал только при опред. значениях eax? (или ecx, edx (вообщем не важно))(ollydbg)
Если да, то как? (без ручного правки кода)(расчитываю на то, что возможно есть такой плагин)
Для этого есть встроенная функция, называется Conditional Breakpoint. Для установки на нужной инструкции нажми Shift+F2, а в появившемся окне впиши условие, например EAX==0ACB340h
Эм... Я вот что-то не совсем понимаю пару функций в OllyDbg.
F7 - выполнять пошагово С входом в функцию
F8 - выполнять пошагово БЕЗ входа в функцию
Ctrl+F11 - чем отличается от F8?
Ctrl+F12 - ?
И дайте, пожалуйста, какие-нибудь ресурсы, где есть много КрякМи'сов, но чтобы и для новичков были, не совсем сложные, желательно с солюшинами.
Заранее спасибо)
s0l_ir0n
14.04.2010, 15:18
Эм... Я вот что-то не совсем понимаю пару функций в OllyDbg.
F7 - выполнять пошагово С входом в функцию
F8 - выполнять пошагово БЕЗ входа в функцию
Ctrl+F11 - чем отличается от F8?
Ctrl+F12 - ?
И дайте, пожалуйста, какие-нибудь ресурсы, где есть много КрякМи'сов, но чтобы и для новичков были, не совсем сложные, желательно с солюшинами.
Заранее спасибо)
В справочном файле OllyDbg команды описаны.
Ресурс: crackmes.de
-
Ins3t, а я первей :p
Ctrl+F11 - это трассировка с входом, а Ctrl+F12 -трассировка с обходом.
http://crackmes.de/
запускаешь прогу и если не будет гвард-тредов, мониторящих в динамике нали4ие "крякерского" софта, то
олька->attach to process и все ок
2Dеimоs, с кем это вы разговариваете?
http://cracklab.ru/art/?action=view&id=284
Эм... Я вот что-то не совсем понимаю пару функций в OllyDbg.
F7 - выполнять пошагово С входом в функцию
F8 - выполнять пошагово БЕЗ входа в функцию
Ctrl+F11 - чем отличается от F8?
Ctrl+F12 - ?
И дайте, пожалуйста, какие-нибудь ресурсы, где есть много КрякМи'сов, но чтобы и для новичков были, не совсем сложные, желательно с солюшинами.
Заранее спасибо)
Ctrl+F12 – Запуск автоматической трассировки без захода в подпрограммы
И дайте, пожалуйста, какие-нибудь ресурсы, где есть много КрякМи'сов, но чтобы и для новичков были, не совсем сложные, желательно с солюшинами.
http://crackmes.de/archive/
2 re-2, блять, неужели мало двух ответов с одинаковым ресурсом?
Или ты думаешь, что если ты дописал "/archive/" - то это уже другой портал?
Не делайте глупостей.
вопрос ?
есть такая прога:
налогоплательщик 2010.01... распаковать то я распаковал,декомпилировал,
но с алгоритмом намудрили не посмотрите ???
http://slil.ru/28505826
в dekod2010 передается типа ключик для сравнения, в декоде из инн+кпп
переменные :iuytrewq и lkjhgfdsa получается переменная snsnsnsnsn
так вот, если серийник правильный то в конце получатся lcisxod0 равная snsnsnsnsn
и процедура возвращает 1
=====
необходимо оттолкнуться от lcisxod0 так как snsnsnsnsn мы сразу получаем и видим, чтобы получить правильный серийник...
но тут трабл, куча вызовов процедур, я с математикой не разберусь :-(
не посмотрите ??? что то из математики вспомнить не могу ... толи прогрессия толи ряды напоминает.....
http://slil.ru/28505826
Файл удалён
Файл удалён
slil.ru/4364634
slil.ru/4364634Ты что издеваешься ????????????????
Вот на смотри :mad:
http://s39.radikal.ru/i084/1004/13/771133ff2561t.jpg (http://radikal.ru/F/s39.radikal.ru/i084/1004/13/771133ff2561.jpg.html)
Лей на нормальные обменники типа http://www.multiupload.com/
Читал я статью грейта по переполению буфера и решил попробовать...
Ссылка на статью: http://forum.antichat.ru/showthread.php?p=219774
Статья супер, конечно, но у меня что-то не вышло.
Значит так я сделал как написано нашел адрес zzcv: у меня этот адрес существует 2 раза, сделал первый раз - вообще ничего не произошло, просто выводил Get your name и все, сделал с друим адресом, теперь выводит: AAAAAAAAAA0123454*‼! и программа завершается аварийно, не выводя MessageBox'a. Почему так?
Его тулзу хз где скачать, юзал это: http://mike.nov.ru/2004/10/09/binary-files-to-c-module/
Цель: поставить бряк в программе "hello.exe"
Проблема: программа (в которой нужно поставить бряк) запускается через соседнию программу ("go.exe"), с определенным параметром (т.е.: "go.exe startup"), естественно когда я запускаю программу "go.exe" с параметрами " startup" из под ollydbg -> то возвращается "Process terminated, exit code 0"
Если запустить hello.exe (т.е. не через команду "go.exe startup") -> просто не запуститься
Что делать?
Вариант покрекать hello.exe чтобы запускалась без программы "go.exe" -> не вариант (конечно можно будет это сделать, но хотелось бы попроще выход найти)
neprovad
01.05.2010, 18:06
Цель: поставить бряк в программе "hello.exe"
воспользоваться ollydbg второй версии
воспользоваться ollydbg второй версии
Больше подробностей (аттач программы не предлогать)
neprovad
01.05.2010, 19:50
Больше подробностей (аттач программы не предлогать)
Вы меня удивляете, требуете столько ответов и даже не удосужились глянуть на оффсайт.
The only really new feature (commented out in the second beta) is debugging of child processes
Options-Debugging-Events-Debug child processes
s0l_ir0n
02.05.2010, 11:41
wolmer, если ты знаешь адрес по которому нужно поставить бряк, то открой файл в HEX-редакторе и измени первые 2 байта по этому адресу на EBFE, запусти программу и приаттачься к ней. Затем нажми F9 и F12, ты окажешься на нужном месте. Единственное что останется - это вернуть на место родные два байта(исправить EBFE на то что было)
Помогите перевести на С++
call ds:VirtualAlloc
mov [edi], eax
mov byte ptr [eax], 55h
inc eax
mov ecx, [esp+0Ch+arg_0]
push 4
mov byte ptr [eax], 8Bh
inc eax
pop ebx
mov byte ptr [eax], 0ECh
inc eax
mov byte ptr [eax], 68h
inc eax
mov [eax], ecx
add eax, ebx
cmp esi, 1
jl short loc_10001072
Собственно затруднения вызывает
mov byte ptr [eax], 55h
inc eax
s0l_ir0n
04.05.2010, 08:31
V01T
судя по виду, это листинг из иды. а она умеет генерировать с++ кодес
s0l_ir0n
SIZE_T v3; // ebx@1
int v4; // eax@7
void *v5; // edi@7
LPVOID v6; // eax@7
int v7; // eax@8
int v8; // eax@10
int v9; // edx@12
signed int v10; // ecx@12
int v11; // eax@13
int v12; // eax@14
v3 = 21;
if ( a3 >= 1 )
v3 = 24;
if ( a3 >= 2 )
v3 += 3;
if ( a3 >= 3 )
v3 += 2 * (3 * a3 - 6);
v5 = calloc(1u, 8u);
v6 = VirtualAlloc(0, v3, 0x1000u, 0x40u);
*(_DWORD *)v5 = v6;
*(_BYTE *)v6++ = 0x55u;
*(_BYTE *)v6++ = -117;
*(_BYTE *)v6++ = -20;
*(_BYTE *)v6++ = 104;
*(_DWORD *)v6 = a1;
HEX Rays выдал вот такое ... даже приведя к более лучшему виду *(BYTE *)v6++ = 0x55; получаю ошибку о неизвестном размере LPVOID
Цель: подредактировать одну программу (пропатчить), но дело таки в том, что нужно не просто к примеру поменять jz на jnz а вставить (выполнить) большой блок кода (в опред. месте программы), как это сделать?
Проблема: я никогда не сталкивался с патчингом такого рода, следовательно не знаю как и куда сувать написаный блок кода (слышал что можно в конец дописать свой код, и где надо -> в конец с джампиться, но я с такой темой не знаком)
wtf? (http://www.cracklab.ru/art/?action=cat&id=4)
По прежнему топчусь на месте с реконструкцией данной DLL скачать можно с офф сайта (http://restools.hanzify.org/inno/callbackctrl/InnoCallbackCtrl_V1.1.zip)
Расскажите хотя принцип её работы или подскажите ссылочку с аналогичным решением ... просто не врубаюсь там ни чего не вписывается ни джампов ни вызовов
DrakonHaSh
07.05.2010, 11:32
Цель: подредактировать одну программу (пропатчить), но дело таки в том, что нужно не просто к примеру поменять jz на jnz а вставить (выполнить) большой блок кода (в опред. месте программы), как это сделать?
Проблема: я никогда не сталкивался с патчингом такого рода, следовательно не знаю как и куда сувать написаный блок кода (слышал что можно в конец дописать свой код, и где надо -> в конец с джампиться, но я с такой темой не знаком)
Code Snippet Creator (Iczelion) (http://www.woodmann.com/collaborative/tools/index.php/Code_Snippet_Creator_%28Iczelion%29)
или находишь в самом конце секции кода блок заполненный нулями (нули там для выравнивания блока по границе 512,1024...) и пишешь туда свой код. можно и в другую секцию, (или добавить новую секцию) но не забудь поставить у нее атрибут code - чтобы код в этой секции мог исполняться
Подскажите как сбросить просроченную лицензию в триалке?(даемон про)
DrakonHaSh
14.05.2010, 20:16
триал обычно сбрасывают при помощи trashreg или trialreset для всяких там asprotect и прочих армадилл :) но в данном случае это не тот случай :)
Для новой установки программы после окончания триального срока надо сменить значение у параметра ComputerName в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\ComputerName\ActiveComputerName, а также в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\ComputerName\ComputerName
или можешь здесь взять лоадер: http://ifolder.ru/11538869
В реверсируемой программе используется куча дллок, я идой составил базу для нескольких, дал имена некоторым функциям и переменным, но отлаживать она позволяет только одну дллку, а там код скачет с одной на другую, и когда перескакивает на чужую длл вместо кода db, db, db, жутко неудобно. Можно ли как то подключить к иде idb-базы других файлов?
Поставлен бряк, когда я трассирую в ollydbg (без захода в call (f8)) через это место:
http://img237.imageshack.us/img237/1655/16004672.png
То срабатывает бряк (хотя бряк далеко впереди находится)
Сам call ссылается сюда:
http://img193.imageshack.us/img193/2200/94160035.png
Так вот, мне не понятно, почему срабатывает бряк когда я прохожу через этот call? (с помощью f8) Еще хочу заметить что тут jne в call'е не срабатывает никогда
Версия ollydbg: 2.00 (beta 3)
zeppe1in
20.05.2010, 15:49
wolmer
крутые картинки)
ты уверен что call не выполняет тот код где стоит бряк?
также нужно понимать что по F8 ставится бряк после кола и выполняется кол, может выход из него каким нибудь джампом, чорт знает куда, или ексепшон там гденить обрабатываеца и нет норм ретурна из функции, по этому так и получается. заходи в кол, и смотри что к чему там.
ты уверен что call не выполняет тот код где стоит бряк?
Уверен
заходи в кол, и смотри что к чему там
Заходил, ретурн нормально обрабатывается
zeppe1in
20.05.2010, 19:23
wolmer
попробуй ольку другую тогда. может глюк.
1. отключи плагины, может какие-то конфликтуют
если не помагает пункт
2. качни чистубю ольку 110 с оффсайта
3. замечал такой момент "зависания" при маршалинге бывает (если в этой функции есть вызовы функций вроде RPC!xxx, OLE!yyy). если у тебя такой случай то тут лучше отлаживать не трейсом (F8) а проскакивать по F9, поставив заранее бряк после CALLа
.::f-duck::.
29.05.2010, 21:49
#include <iostream>
using namespace std;
int main()
{
char userPassw[50];
cout << "Enter the password" << endl;
cin >> userPassw;
if(!strcmp(userPassw, "error"))
{
cout << "REGISTERD!" << endl;
} else {
cout << "FAIL!" << endl;
}
system("pause");
return 0;
}
Написал простой крякмис.
Тыркал его в ольке,вроде получилось сделать так,что бы сразу выводилось "REGISTRED",поменял адресс call.
Попытался второй раз так сделать - нифига не получилось.
Вопрос:
Как такое сделать?
В место этого адреса вот этого call:
http://img229.imageshack.us/img229/4275/59264195.png
я писал адресс - 00401349
00401349 |. BA 19204400 MOV EDX,CrackMe.00442019 ; ASCII "REGISTERD!"
DrakonHaSh
29.05.2010, 22:18
тебе этот момент надо найти и
if(!strcmp(userPassw, "error"))
усорвие перехода поменять с условного [jnz наприме] на безусловный [jmp]
если ты конечно специально извращениями не занимашься
.::f-duck::.
29.05.2010, 22:23
Да-да-да,извращения. Но понимаешь в чем соль? У меня получилось 1 раз как-то сделать тем способом,что я показывал. Хочу понять,где я теперь ошибаюсь
Выложи свой крякмес, общими усилиями найдем решение.
neprovad
30.05.2010, 11:06
Написал простой крякмис.
Тыркал его в ольке,вроде получилось сделать так,что бы сразу выводилось "REGISTRED",поменял адресс call.
Попытался второй раз так сделать - нифига не получилось.
Вопрос:
Как такое сделать?
В место этого адреса вот этого call:
http://img229.imageshack.us/img229/4275/59264195.png
я писал адресс - 00401349
вы даже до кода вроде не добрались, это начало программы, этам инициализации и т.п.
Откройте свою программу в IDA Pro дизассемблере и посмотрите там для начала ( а еще лучше добавьте при компилиции параметров для вывода asm листинга чтоб понять что и как в С коде переводится в asm.)
.::f-duck::.
30.05.2010, 12:06
Ага,спасибо.
Уже вчера решил. Проблема была как раз в том,что прога не инициализировалсь,а я уже химичил
А можно с помощью батника пропатчить ехе ??? ;)
P.S. Только не надо говорить воспользуйся каким нить патчером и так далее...
Просто интересует именно батником возможно такое сделать ? :rolleyes:
А можно с помощью батника пропатчить ехе ??? ;)
P.S. Только не надо говорить воспользуйся каким нить патчером и так далее...
Просто интересует именно батником возможно такое сделать ? :rolleyes:
http://forum.script-coding.info/viewtopic.php?id=2885
попробуй
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot