Посл.ответ |
Сообщение |
Ранг: 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.19↘0 Статус: Участник Author of ACKiller
|
Создано: 30 декабря 2006 11:44 · Личное сообщение · #2
Ну нопишь  или в чем вопрос?
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 30 декабря 2006 11:45 · Личное сообщение · #3
Читай МСДН, от туда ты узнаешь сколько параметров принимает функция. Потом NOP параметры и функцию. Но я сильно сомневаюсь что тебе это поможет.
| Сообщение посчитали полезным: |
Ранг: 222.2 (наставник), 115thx Активность: 0.14↘0.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.12↘0 Статус: Участник John Smith
|
Создано: 30 декабря 2006 12:05 · Личное сообщение · #7
KOPOJIb пишет:
ваще читал типа заменять call нельзя и все такое, поэтому лучше обойти.
Вопрос как?
Читай статьи, всё разжёвано. А судя по твоим текстам ты не знаешь основан.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
 Ранг: 500.6 (!), 7thx Активность: 0.26↘0 Статус: Участник
|
Создано: 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.43↘0 Статус: Участник
|
Создано: 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.19↘0 Статус: Участник 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.19↘0 Статус: Участник 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.19↘0 Статус: Участник
|
Создано: 31 декабря 2006 07:42 · Личное сообщение · #16
KOPOJIb пишет:
когда прогу скомпилил, и выполняю TfsScript.Execute вылезает access violation.
это после того как занопил call
Зан0пь параметры ф-и. NIKOLA пишет:
А мне кажется, достаточно занопить эти две команды.
Мне т0же так кажется.
Ты чт0-то не так нопишь.
| Сообщение посчитали полезным: |
 Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 31 декабря 2006 07:47 · Личное сообщение · #17
KOPOJIb
Я имел ввиду адрес, по которому возникает исключение.
Еще лучше дай сам файл (DCU или что там у тебя).
| Сообщение посчитали полезным: |
Ранг: 1.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 января 2007 03:06 · Личное сообщение · #18 |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 03 января 2007 08:44 · Личное сообщение · #19
KOPOJIb
Смотреть пока не хочется. Твоя ошибка в том, что здесь простой nop не пройдет. При линковке четыре нуля превращаются в адрес функции, а четыре нопа превратятся в неправильную команду.
Я обычно либо ищу сломанные компоненты, либо подобные, но бесплатные. Для меня это быстрее.
==============================
Надо по адресу 7 поставить JMP
Жди когда народ отоспится
| Сообщение посчитали полезным: |
Ранг: 301.4 (мудрец), 194thx Активность: 0.17↘0.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.19↘0 Статус: Участник 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
заменил - нифига((((
| Сообщение посчитали полезным: |