327 / 252 / 58
Регистрация: 12.12.2012
Сообщений: 2,048
|
||||||
1 | ||||||
Убить участок вызова?14.11.2013, 05:23. Показов 659. Ответов 9
Метки нет (Все метки)
Здрасте. Мне надо заблокировать вызов участка этого кода,мне надо какие-то байты заменить на nop или как тут быть?
const unsigned char patch[] = {0x90, 0x90, 0x90, 0x90,0xE9}; У меня этот участок стал вызываться все время..когда ему не надо.
0
|
14.11.2013, 05:23 | |
Ответы с готовыми решениями:
9
Сессию нужно убить memberid нужно принудительно убить и страницы... как ? нужно чтобы функция располагалась до ее вызова, после ее вызова и в другом файле. Как это сделать? После вызова печати, я хочу попасть на ту форму что вызывала, и на то поле где была до вызова Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему? |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
||||||||||
14.11.2013, 05:42 | 2 | |||||||||
pEntity,
а почему блокируя переход подменяется 5 байт если сравнение и переход занимают 9 байт?
1
|
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
|
|
14.11.2013, 05:52 | 3 |
можно сразу безусловный переход впихнуть.
2
|
327 / 252 / 58
Регистрация: 12.12.2012
Сообщений: 2,048
|
|
14.11.2013, 05:57 [ТС] | 4 |
const unsigned char patch[] = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
Я потерпел краш при вызове функции. С безусловным const unsigned char ret[] = {0xE9}; Функция стала вызываться когда ей не надо очень часто.
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
14.11.2013, 05:59 | 5 |
pEntity,
возможна скрытая защита, построенная на контрольной сумме "критических" участков кода
0
|
327 / 252 / 58
Регистрация: 12.12.2012
Сообщений: 2,048
|
|
14.11.2013, 06:01 [ТС] | 6 |
Мне сказали,что этот участок кода блокировать нужно с помощью 0x90, 0x90, 0x90, 0x90, 0xE9
У них все работает,а у меня нет )
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
14.11.2013, 06:26 | 7 |
pEntity,
попробуй по адресу .text:1008FEE7 вместо 0F 8A поставить 90 E9 - получится, как написал Thread "сразу безусловный переход впихнуть" на loc_1009053A
1
|
327 / 252 / 58
Регистрация: 12.12.2012
Сообщений: 2,048
|
|
14.11.2013, 07:02 [ТС] | 8 |
Спасибо,вечером испытаю. А подскажите еще
.text:1008FEE4 F6 C4 41 test ah, 41h 41h заменить подсказали на нуль,нуль это nop и есть? То есть мой патч будет 0xF6,0xC4,0x90 ?
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
14.11.2013, 07:10 | 9 |
pEntity,
41h ASCII код буквы "А", а что подразумевают под "заменить на нуль" F6 C4 00 test ah,0 или F6 C4 30 test ah,"0" я не знаю, скорее F6 C4 00, код нопа равен 90
1
|
327 / 252 / 58
Регистрация: 12.12.2012
Сообщений: 2,048
|
|||||||||||
14.11.2013, 16:27 [ТС] | 10 | ||||||||||
Что-то блок не вышел.
Три участка кода:
Мне нужно,чтоб не вызвалось условие if ( flt_1010E054 != 0.0 && !dword_10160D6C() && sub_10036A00(0) == 1 ) Это по сути третий участок кода,который выше. Но говорят нужно заблокировать байты из первого,так как он решает,переходить ли дальнейшему участку кода или нет.. Вобщем это из игры. Вызов конца раунда. Когда время раунда заканчивается. Все варианты выше которые вы мне советовали наоборот еще хуже сделали,теперь у меня раунд кончается каждые 4 секунды всегда.. Добавлено через 1 час 42 минуты Решено. Заменить третий байт нулем. Была просто ошибка в коде. Большое спасибо за помощь.
0
|
14.11.2013, 16:27 | |
14.11.2013, 16:27 | |
Помогаю со студенческими работами здесь
10
вертолёт Bosch WAB2428SCE/05 выгорел участок модуля, выгорел участок модуля (управление УБЛ) Ошибка вызова потока "Адресат вызова создал исключения" Как поймать момент входящего вызова и номер телефона входящего вызова? оформить решение в виде функции следующими способами: 1. функция расположена после ее вызова; 2. функция расположена после до ее вызова; 3. функ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |