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

 eXeL@B —› Вопросы новичков —› Взлом OCX
Посл.ответ Сообщение


Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 25 апреля 2008 21:24
· Личное сообщение · #1

Здраствуйте. Меня интересует, какой отладчик воспринимает OCX формат?

Суть проблемы:

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

Его просматриваю в IDA, там есть функции проверки, как их взламать, тоесть существует ли отладчик для
OCX файлов, или приходится хакать в HIEW?

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 25 апреля 2008 21:38 · Поправил: s0larian
· Личное сообщение · #2

OCX это просто .dll, то есть PE. Что б отладить, нужен процесс который эту dll загрузит и что-нить вызовет. Для этого обычно пишется маленькая прога, а потом Olly/IDA.



Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 26 апреля 2008 16:44
· Личное сообщение · #3

coderess
В олли существует loaddll или dllload точно не помню. он загружает dll в память и потом через пункт меню дебугинг выполняешь call к любой процедуре dll

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 26 апреля 2008 22:03
· Личное сообщение · #4

Для этого обычно пишется маленькая прога, а потом Olly/IDA.


Что за прога?

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 26 апреля 2008 22:57
· Личное сообщение · #5

coderess пишет:
Что за прога?

Которая вызовет нужную тебе процедуру.

Вот пример на делфи

var f:function(p1:pchar;p2:bool);
begin
f:=nil;
if (loadlibrary('test.dll'))<>0 then begin
f:=getprocaddres('myproc');
if f<>nil then f('source',false);
end;
end;



-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 27 апреля 2008 15:34
· Личное сообщение · #6

Скорее псевдокод

Вот рабочий

f: function (p1: PChar; b: Bool): Bool;

procedure Call_OCX(LibName, ProcName: PChar);
var
hModule: THANDLE;
P: FARPROC;
begin
f := NIL;
hModule := LoadLibrary(LibName);
if hModule <> 0 then
p := GetProcAddress(hModule, ProcName);
if p <> NIL then f('GetDlgItemTextA', false);
end;



Только что получается, я вызываю "загрузчик" и его отлаживаю, т.к. на его адресное пространство проецируется OCX библиотека?

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 27 апреля 2008 18:12 · Поправил: Stack
· Личное сообщение · #7

*\ошибся/*

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 28 апреля 2008 19:55 · Поправил: s0larian
· Личное сообщение · #8

Stack пишет:
Только что получается, я вызываю "загрузчик" и его отлаживаю, т.к. на его адресное пространство проецируется OCX библиотека?

точняк - в адресное пространство загрузчика подгружается .DLL - это всё один процесс.

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




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 29 апреля 2008 19:22
· Личное сообщение · #9

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

Не пойму, объясните по подробнее пожалуйста.

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 апреля 2008 20:24
· Личное сообщение · #10

coderess, пишешь прогу, скажем на Delphi. На форме пара кнопок: "Load DLL" и "Call function". Компилишь, запускаешь. После нажатия "Load DLL" в Olly делаешь Attach to process. Потом "bp your_f_address". Потом жмёшь на "Call function" и вуаля.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 30 апреля 2008 08:48
· Личное сообщение · #11

Я так и делал, только вот приатачится не возможно "Unable to attack process project2"

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 30 апреля 2008 15:09
· Личное сообщение · #12

coderess пишет:
Я так и делал, только вот приатачится не возможно "Unable to attack process project2"

Возможно плагины мешают у меня так было(не помню какой)

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 30 апреля 2008 17:40
· Личное сообщение · #13

Stack пишет:
Возможно плагины мешают у меня так было(не помню какой)


И в самом деле плагины, спасибо.

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



 eXeL@B —› Вопросы новичков —› Взлом OCX
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати