Сейчас на форуме: asfa, Rio (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Offset local и программа с инсталляцией.
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 05 сентября 2013 23:33
· Личное сообщение · #1

Здравствуйте уважаемые форумчане.
Помогите с двумя вопросами.
1. Подскажите, пожалуйста, отличается чем-то принципиальным взлом программ, требующих установку и программ типа крэкми которые запускаются без установки?
2. Как найти собственно текст, который передается в MessageBox, если ollydbg показывает Offset local 153.




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 05 сентября 2013 23:38
· Личное сообщение · #2

jossross пишет:
1. Подскажите, пожалуйста, отличается чем-то принципиальным взлом программ

Ничем, все зависит от реализации.
jossross пишет:
2. Как найти собственно текст

Посмотреть вызов MessageBox в отладчике.




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 05 сентября 2013 23:42
· Личное сообщение · #3

follow in dump", не ?

| Сообщение посчитали полезным: jossross

Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 00:01
· Личное сообщение · #4

Посмотреть вызов MessageBox в отладчике.
Отладчик так и пишет offset local...
Попробую загрузить скрин.



follow in dump[t]
[/t]
Можно подробней?

e65d_06.09.2013_EXELAB.rU.tgz - 454.jpg



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 00:17
· Личное сообщение · #5

follow in dump
Погуглил, поискал, похоже оно, текст, правда крокозябрами, наверное надо подбирать кодировку, ну будем искать)
Большое спасибо.!!!



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 06 сентября 2013 00:28
· Личное сообщение · #6

jossross пишет:
Отладчик так и пишет offset local

В стек один фиг строка ложится, follow in dump -> Immediate constant.




Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 00:45
· Личное сообщение · #7

Навожу на строку с Offset local далее follow in dump однако дальше только пункт selection При переходе в нижнем окне АСКИ код видит только крокозябры.
PEid говорит, что программа написана Делфи 3.0. Кодировку подобрать не получаеться.
Иду дальше, перевожу текст с Меседжбокса в Hex, копирую и пробую найти в програме хекс редактором. Не находиться, какая может быть кодировка?



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 06 сентября 2013 00:49
· Личное сообщение · #8

jossross
Строка вообще может быть поксорена/шифрована, давай бинарь, что бы не гадать.



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 00:54
· Личное сообщение · #9

Спасибо, но я пока новичок, как бинарить (вообще что єто)?



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 06 сентября 2013 00:58
· Личное сообщение · #10

jossross
Бинарь - exe, dll, sys итд



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 01:10
· Личное сообщение · #11

К сожалению EXEшник скинуть не могу: рискую как минимум рабочим местом. Все, что возможно только скрин отладчика.
[url= ]--> Link <--[/url]



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 06 сентября 2013 02:11
· Личное сообщение · #12

эта фотография не даст абсолютно никому, абсолютно ничего, даже местным экстрасенсам.

| Сообщение посчитали полезным: Rio

Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 10:01
· Личное сообщение · #13

Тогда как узнать что строка поксорена/шифрована?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 06 сентября 2013 10:05 · Поправил: reversecode
· Личное сообщение · #14

епт, если месседж бокс выводит ее, значит она не поксорена в момент вывода
jossross пишет:
При переходе в нижнем окне АСКИ код видит только крокозябры.

это не кракозярбы, это код, вы никуда не вышли а перешли на дамп кода

или прогу выкладывайте, или сами разбирайтесь




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 06 сентября 2013 10:11
· Личное сообщение · #15

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



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 сентября 2013 10:26
· Личное сообщение · #16

Вечером попробую залить.




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 06 сентября 2013 10:35 · Поправил: neomant
· Личное сообщение · #17

Попробую по фото поэкстрасенсить. Видно, что стоит точка останова на 405B4B, а EIP на точке входа. Так почему бы не отпустить приложение по F9 до выпадения на точке в отладчик и не посмотреть на четыре значения на верхушке стека. Два из них будут оффсетами строк заголовка и сообщения MessageBox.

-----
Следуй за белым кроликом




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 06 сентября 2013 11:44
· Личное сообщение · #18

Вообще это похоже на стандартный кривой дельфовый код, который чтоб отобразить 1 мессадж делает 10-ти уровневую процедуру с 20 бесполезными переносами строки туда-сюда и заканчивающуюся обычным мессаджбоксом. И ловить оригинальный оффсет надо как минимум в начале процедуры (а скорее-всего процедуры на 3-4 раньше).




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 06 сентября 2013 14:04
· Личное сообщение · #19

jossross
После фейспалмов я собрался с духом, вошёл в ваше положение и попробую написать всё внятно и понятно. В общем, выложить картинку было не такой уж плохой идеей, но вы это сделали абсолютно не через то место (через ж сделали). Как надо сделать:
1. Выкладывать скрин в момент срабатывания бряка, когда содержимое регистра еах отражает адрес переданной строки сообщения, а в окне дампа нужно отобразить содержимое этого самого адреса.
2. Если седоржимое не отображается в символам аски, то выберите шрифт Lucida (в олли есть), и всё - так можно отобразить русский текст.
3. Если это и правда делфи, то стоит заюзать либо декомпиляторы, либо хотя б флирты из иды, чтоб стаб vcl не отлаживать. Говоря простым языком, многие библиотеные имена могут быть распознаны декомпилятором по сигнатуре, и вместо простых call 00405610, он покажет вполне осмысленные имена, а библиотечный стаб вообще подсветит голубым (по умолчанию).

Подскажите, пожалуйста, отличается чем-то принципиальным взлом программ, требующих установку и программ типа крэкми которые запускаются без установки?

Ничем.

Как найти собственно текст, который передается в MessageBox, если ollydbg показывает Offset local 153.

Вот ответил Vovan666:
ловить оригинальный оффсет надо как минимум в начале процедуры

А как найти начало - ида или декомпиль, можно, в принципе, на глаз и в олли, но с тулзами проще.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 06 сентября 2013 18:44 · Поправил: Модератор
· Личное сообщение · #20

reversecode

> пт, если месседж бокс выводит ее, значит она не поксорена в момент вывода

И опять ты ... неправду возвестил. MsgBox() имеет в аргументах два PSTR, какой есчо шифр

Просто в 7-м классе не расказали как посмореть текстовый дамп в отладчике. И нечего тут гадать, всё очевидно.

От модератора: надоело уже читать эти матюги постоянно, забанен на сутки



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 08 сентября 2013 23:00 · Поправил: jossross
· Личное сообщение · #21

Спасибо всем форумчанам, кто участвует в обсуждении.
Вот что нашел по OFFSET LOCAL
String address is the second argument in the call. By stating <%s> => OFFSET LOCAL.148
Ollydbg tells you the following: register EDX at the moment of PUSH EDX will contain address of the local variable 148 (148.-th doubleword preceding return address). Inde ed, previous command (LEA EAX,[LOCAL.148]
) loads this address to EDX

Я так понял, в здесь в параметр функции передается не сам текст а ссылка на адрес памяти лежит текст.
neomant пишет:
Попробую по фото поэкстрасенсить. Видно, что стоит точка останова на 405B4B, а EIP на точке входа. Так почему бы не отпустить приложение по F9 до выпадения на точке в отладчик и не посмотреть на четыре значения на верхушке стека. Два из них будут оффсетами строк заголовка и сообщения MessageBox.


Точку остановки ставил сам по F9 программа зависает на одной точке и дальше не идет.
Vovan666 пишет:
И ловить оригинальный оффсет надо как минимум в начале процедуры (а скорее-всего процедуры на 3-4 раньше).


Можно пожалуйста подробнее (понимаю что и этого много но, извините, я только учусь)?
ARCHANGEL пишет:
Как надо сделать:
1. Выкладывать скрин в момент срабатывания бряка, когда содержимое регистра еах отражает адрес переданной строки сообщения, а в окне дампа нужно отобразить содержимое этого самого адреса.
2. Если седоржимое не отображается в символам аски, то выберите шрифт Lucida (в олли есть), и всё - так можно отобразить русский текст.
3. Если это и правда делфи, то стоит заюзать либо декомпиляторы, либо хотя б флирты из иды, чтоб стаб vcl не отлаживать. Говоря простым языком, многие библиотеные имена могут быть распознаны декомпилятором по сигнатуре, и вместо простых call 00405610, он покажет вполне осмысленные имена, а библиотечный стаб вообще подсветит голубым (по умолчанию).


Спасибо, не все понял но разбираюсь.
Ида показывает наличие текстовой сроки но не показывает же срока по наведению курсора.



Извините, но исходный файл залить не смогу так как уволят.




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 08 сентября 2013 23:39 · Поправил: neomant
· Личное сообщение · #22

jossross пишет:
Точку остановки ставил сам по F9 программа зависает на одной точке и дальше не идет.


Что точку остонова ставили сами это видно по скрину. Что значит зависает на одной точке и дальше не идёт?
Нужно предпринять определённые действия в приложении для появления заветного MessageBox, тогда и вывалимся в отладку.
Затем смотреть стек и выше каким образом это значение попало в стек.
Конечно, в функцию передаются не сами текстовые данные, а лишь ссылка(адрес) на них.

-----
Следуй за белым кроликом




Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 08 сентября 2013 23:58
· Личное сообщение · #23

neomant пишет:

Что точку остонова ставили сами это видно по скрину. Что значит зависает на одной точке и дальше не идёт?

Открываю программу (требует установки), далее нажимаю Плай, отладчик останавливается на одной строке и дальше ни F7 F8 F9 не действуют. нет каких-либо изменений. В списке открытых программ снизу появляется окно установки но при кликанья на него ничего не происходит.neomant пишет:
Нужно предпринять определённые действия в приложении для появления заветного MessageBox, тогда и вывалимся в отладку.

Попасть на месседж бокс могу только прямо по листингу.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 09 сентября 2013 00:21
· Личное сообщение · #24

jossross пишет:
и дальше ни F7 F8 F9 не действуют

Shift+F9?

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 09 сентября 2013 09:27 · Поправил: neomant
· Личное сообщение · #25

ARCHANGEL пишет:
Shift+F9?


Однозначно. Внимательно читать строку статуса. Скорее всего вывалились на каком-то исключении.

jossross:
Попасть на месседж бокс могу только прямо по листингу.


С этим может справится и дизассемблер, в ИДЕ статический анализ делать намного удобнее. Дебаггер же как раз и предназначен для самой отладки(динамического анализа).

-----
Следуй за белым кроликом




Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 09 сентября 2013 23:24 · Поправил: jossross
· Личное сообщение · #26

neomant пишет:
Shift+F9?

Последние сводки с фронта боевых действий.
Комбинация клавиш дает результат. Если я открываю исходный файл то запускается установка, а если перегружаю оли и запускаю еще раз то соответственно происходит деинсталляция.
Ничего динамически по самой программе посмотреть нельзя.
Поэтому я попытался открыть файл из папки с установленной программой (Program files...). Пока вроде все хорошо...Но, в процессе танцев с бубнами возникли еще вопросы:
1. В программе с инсталляцией надо работать над исходным файлом или над тем, который установится после инсталляции?
2. Какой функцией выводится диалоговое окно с тремя полями ввода (два из которых уже заполнены) и кнопками Ок и отмена....

Программа, кстати, останавливается на таком INS BYTE PTR ES:[EDI],DX




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 10 сентября 2013 02:57
· Личное сообщение · #27

jossross пишет:
Какой функцией выводится диалоговое окно с тремя полями ввода (два из которых уже заполнены) и кнопками Ок и отмена....


например этой:
CreateDialogParamA(hInstance, "MainDialog", 0, 0, 0);

-----
-=истина где-то рядом=-




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 10 сентября 2013 03:15
· Личное сообщение · #28

jossross пишет:
1. В программе с инсталляцией надо работать над исходным файлом или над тем, который установится после инсталляции?

Зависит от инсталятора, чаще проверка регистрации в темповых файлах.
jossross пишет:
2. Какой функцией выводится диалоговое окно с тремя полями ввода (два из которых уже заполнены) и кнопками Ок и отмена....

KingSise пишет:
CreateDialogParamA(hInstance, "MainDialog", 0, 0, 0);
к этому добавлю:
ShowWindow



Ранг: 3.6 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 12 сентября 2013 02:07
· Личное сообщение · #29

KingSise пишет:
например этой:
CreateDialogParamA(hInstance, "MainDialog", 0, 0, 0);


F_a_u_s_t пишет:
howWindow


Долго-долго бил-бил и разбил, требуемое окно выскакивает при визове функции zwcontinue.
CPU Disasm
Address Hex dump Command Comments
7C9342BE E8 9B8DFDFF CALL ZwContinue

Функция выводит и главное окно программы и окно проверки с текстовыми полями.
Как с ней бороться?
Окно проверки пароля выскакивает с опозданием хотя программа стоит на брейкпоинте.



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 12 сентября 2013 11:24
· Личное сообщение · #30

jossross пишет:
Долго-долго бил-бил и разбил, требуемое окно выскакивает при визове функции zwcontinue.


Code:
  1. NTSYSAPI 
  2. NTSTATUS
  3. NTAPI
  4. NtContinue( IN PCONTEXT ThreadContext, IN BOOLEAN RaiseAlert );
  5.  
  6. ThreadContext
  7. Pointer to CONTEXT structure for current thread. 
  8.  
  9. RaiseAlert
  10. If set, remove Alerted state from current Thread Object. 
  11. --------------------------------------------------------------------------------
  12. You can use NtContinue after processing exception for continue executing thread. System uses NtContinue also in APC processing.

И какие тут окна?

| Сообщение посчитали полезным: ARCHANGEL, jossross
. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Offset local и программа с инсталляцией.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати