Сейчас на форуме: Rio, ==DJ==[ZLO], Dart Raiden, Alf (+6 невидимых) |
![]() |
eXeL@B —› Основной форум —› Вопрос по замене JL на JMP |
Посл.ответ | Сообщение |
|
Создано: 04 октября 2004 03:11 · Личное сообщение · #1 Есть такой кусок кода: :00462035 A1C8776B00 mov eax, dword ptr [006B77C8] :0046203A FF00 inc dword ptr [eax] :0046203C A1C8776B00 mov eax, dword ptr [006B77C8] :00462041 8138401F0000 cmp dword ptr [eax], 00001F40 :00462047 7C0A jl 00462053 * Possible StringData Ref from Code Obj ->"Demo Limit!" | :00462049 B87C204600 mov eax, 0046207C :0046204E E8A51B2400 call 006A3BF8 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00462047(C) | :00462053 33C0 xor eax, eax :00462055 5A pop edx :00462056 59 pop ecx :00462057 59 pop ecx :00462058 648910 mov dword ptr fs:[eax], edx :0046205B 6870204600 push 00462070 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0046206E(U) | :00462060 8D45FC lea eax, dword ptr [ebp-04] :00462063 E8182CFAFF call 00404C80 :00462068 C3 ret Мне нужно инструкцию JL :00462047 7C0A jl 00462053 заменить на JMP Замена на EB приводит к ошибке времени выполнения. Подскажите, а то крыша уже едет. ![]() |
|
Создано: 04 октября 2004 03:35 · Личное сообщение · #2 Возможно два варианта: 1. Программа проверяет себя на хеш (например crc32), и если есть изменения, то даёт ошибку. 2. Команда jl (jump if less, переход, если меньше) не срабатывает, пока в SI положительное число или 0, тойсть если ты пишешь "jmp" вместа "jl", то в SI точно положительное число или 0, и возможно в продолжении кода после прыжка, программа думает что там отрицательно число, и делает такие операции, которые приводят к ошибке. Попробуй перед прыжком в отладчике засунуть в "SI" "-1", и посмотри что получилось, если получится, тебе придётся этот jl сделать jmp на адрес с нулями, где ты напишешь например: mov si, -1 push 00462053h ret ![]() |
|
Создано: 04 октября 2004 04:06 · Личное сообщение · #3 |
|
Создано: 04 октября 2004 05:24 · Личное сообщение · #4 |
![]() |
eXeL@B —› Основной форум —› Вопрос по замене JL на JMP |