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

 eXeL@B —› Вопросы новичков —› Как обойти call
Посл.ответ Сообщение

Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 декабря 2006 11:40 · Поправил: KOPOJIb
· Личное сообщение · #1

procedure TfsScript.Execute (Self: TfsScript);
begin
00000000 : // -- Line #2059 --
00000000 : 55 PUSH EBP
00000001 : 8B EC MOV EBP,ESP
00000003 : 51 PUSH ECX
00000004 : 89 45 FC MOV DWORD PTR [EBP-4{Self}],EAX
00000000 : // -- Line #2061 --
00000007 : B8(84 00 00 00 MOV EAX,TfsScript.Execute{0x2F1}+132
0000000C : E8(00 00 00 00 CALL ShowMessage{0xA6} <------ВОТ ЭТОТ!!!
00000000 : // -- Line #2063 --
00000011 : 8B 45 FC MOV EAX,DWORD PTR [EBP-4{Self}]
00000014 : C6 40 36 00 MOV BYTE PTR [EAX+54],$00
00000000 : // -- Line #2064 --
00000018 : 8B 45 FC MOV EAX,DWORD PTR [EBP-4{Self}]
0000001B : C6 80 8C 00 00 00 00 MOV BYTE PTR [EAX+140],$00
00000000 : // -- Line #2065 --
00000022 : 8B 45 FC MOV EAX,DWORD PTR [EBP-4{Self}]
00000025 : C6 40 4C 01 MOV BYTE PTR [EAX+76],$01
00000000 : // -- Line #2066 --
00000029 : 8B 45 FC MOV EAX,DWORD PTR [EBP-4{Self}]
0000002C : C6 40 58 01 MOV BYTE PTR [EAX+88],$01
00000000 : // -- Line #2067 --
00000030 : 33 C0 XOR EAX,EAX
00000032 : 55 PUSH EBP
00000033 : 68(72 00 00 00 PUSH TfsScript.Execute{0x2F1}+114
00000038 : 64 FF 30 PUSH DWORD PTR FS:[EAX]
0000003B : 64 89 20 MOV DWORD PTR FS:[EAX],ESP
00000000 : // -- Line #2068 --
0000003E : 8B 45 FC MOV EAX,DWORD PTR [EBP-4{Self}]
00000041 : 8B 80 84 00 00 00 MOV EAX,DWORD PTR [EAX+132]
00000047 : 8B 10 MOV EDX,DWORD PTR [EAX]
00000049 : FF 52 08 CALL DWORD PTR [EDX+8],NEAR
0000004C : 33 C0 XOR EAX,EAX


если можно подробней pls




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 30 декабря 2006 11:44
· Личное сообщение · #2

Ну нопишь или в чем вопрос?



Ранг: 160.9 (ветеран), 1thx
Активность: 0.050
Статус: Участник

Создано: 30 декабря 2006 11:45
· Личное сообщение · #3

Читай МСДН, от туда ты узнаешь сколько параметров принимает функция. Потом NOP параметры и функцию. Но я сильно сомневаюсь что тебе это поможет.



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 30 декабря 2006 11:46
· Личное сообщение · #4

Сделай джамп с адреса 00000007 в какую-нить не забитую область памяти и там пропиши с самого начала MOV EAX,TfsScript.Execute{0x2F1}+132 , затем какие-нить твои коды (если нужно) и джамп куда нужно, например в адрес 00000011. Или call просто занопь.

[offtop]А вообще такие посты в раздел для новичков нужно постить[/offtop]

-----
все багрепорты - в личные сообщения




Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 декабря 2006 11:47
· Личное сообщение · #5

уже нопил сам call - пишет priveleged instruction.
ваще читал типа заменять call нельзя и все такое, поэтому лучше обойти.
Вопрос как?



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 декабря 2006 11:48
· Личное сообщение · #6

спасибо, ща попробую




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 30 декабря 2006 12:05
· Личное сообщение · #7

KOPOJIb пишет:
ваще читал типа заменять call нельзя и все такое, поэтому лучше обойти.
Вопрос как?

Читай статьи, всё разжёвано. А судя по твоим текстам ты не знаешь основан.

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 декабря 2006 12:05
· Личное сообщение · #8

KOPOJIb пишет:
00000007 : B8(84 00 00 00 MOV EAX,TfsScript.Execute{0x2F1}+132
0000000C : E8(00 00 00 00 CALL ShowMessage{0xA6} <------ВОТ ЭТОТ!!!


А мне кажется, достаточно занопить эти две команды.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 31 декабря 2006 00:24
· Личное сообщение · #9

KOPOJIb пишет:
уже нопил сам call - пишет priveleged instruction.
ваще читал типа заменять call нельзя и все такое, поэтому лучше обойти.

Думать надо еще. Что нопить, что обходить - результат один. Надо кроме всего прочего, чтобы указатель стека остался на месте. В данном случае со стеком вроде все нормально и нопить достаточно CALL.
Вот только если нопишь не в Олли, то надо проследить, что 5 нопов поставил, а не один
И вообще в Новый год работать - грех



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 декабря 2006 04:26
· Личное сообщение · #10

это дельфовская DCU. Оля не берет




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 31 декабря 2006 05:03
· Личное сообщение · #11

KOPOJIb
А зачем оля? Патчить можно хекс-редактором.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 декабря 2006 05:58
· Личное сообщение · #12

tundra37 пишет:
В данном случае со стеком вроде все нормально и нопить достаточно CALL.
Вот только если нопишь не в Олли, то надо проследить, что 5 нопов поставил, а не один

занопил пятью нопами -access violation.
2 HoBleen
Вот только если нопишь не в Олли, то надо проследить, что 5 нопов поставил, а не один

че делать блин, не знаю.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 декабря 2006 06:01
· Личное сообщение · #13

Rascal пишет:
Читай статьи, всё разжёвано. А судя по твоим текстам ты не знаешь основан.

прочитал все статьи что есть в инете - там только как менять условный переход на безусловный. а как с call`ом разобраться нету(((




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 31 декабря 2006 06:16
· Личное сообщение · #14

А где access violation появляется? Поподробней пиши, тебя не понять.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 декабря 2006 07:01
· Личное сообщение · #15

когда прогу скомпилил, и выполняю TfsScript.Execute вылезает access violation.
это после того как занопил call



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

Создано: 31 декабря 2006 07:42
· Личное сообщение · #16

KOPOJIb пишет:
когда прогу скомпилил, и выполняю TfsScript.Execute вылезает access violation.
это после того как занопил call

Зан0пь параметры ф-и.NIKOLA пишет:

А мне кажется, достаточно занопить эти две команды.

Мне т0же так кажется.
Ты чт0-то не так нопишь.




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 31 декабря 2006 07:47
· Личное сообщение · #17

KOPOJIb
Я имел ввиду адрес, по которому возникает исключение.

Еще лучше дай сам файл (DCU или что там у тебя).



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 января 2007 03:06
· Личное сообщение · #18

вот эта дкушка

55d5_01.01.2007_CRACKLAB.rU.tgz - fs_iinterpreter.dcu



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 03 января 2007 08:44
· Личное сообщение · #19

KOPOJIb
Смотреть пока не хочется. Твоя ошибка в том, что здесь простой nop не пройдет. При линковке четыре нуля превращаются в адрес функции, а четыре нопа превратятся в неправильную команду.
Я обычно либо ищу сломанные компоненты, либо подобные, но бесплатные. Для меня это быстрее.
==============================
Надо по адресу 7 поставить JMP
Жди когда народ отоспится



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 03 января 2007 09:05 · Поправил: Veliant
· Личное сообщение · #20

Попробуй в DCU занопить пять байтов по адресу B53B
Если не пройдет попробуй заменить на
B0 01 B0 01 90



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 января 2007 01:39
· Личное сообщение · #21

ща попробую!))))



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 января 2007 02:00
· Личное сообщение · #22

по этому адресу уже нопил - не прошло,
заменил на указанные - тож не прокатило...((((
вот, кстати, ссылка на сам компонент --> FastScript <-- http://www.torry.net/vcl/vcltools/scripts/fsd7.exe




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 05 января 2007 02:14 · Поправил: HoBleen
· Личное сообщение · #23

Можно так - заменить 2 байта по адресу 4 на EB 0A - jmp через call, я так понимаю что оно поправляться линкером не должно, а замененный код нужен только для messagebox'a



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 января 2007 02:37
· Личное сообщение · #24

заменил - нифига((((


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


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