HighLight Like IDA (HL_LIDA.DLL) - делает поиск и подсветку выделенного текста на странице. IHMO - очень удобно. http://depositfiles.com/files/cge4es66f Жду отзывов.
у мну после enable,выбрал black/red,radasm вылетает( без еррора,просто закрываетса ),поменял цвета тоже самое система XP SP3,версия RadASM 2.2.1.8g
Вот. Работает на 3 разных системах Win2000, WinXP SP2 и SP3. RadAsm 2.2.1.9. Вынес локальные переменные из оконной процедуры. Какие-то траблы со стеком. Освободил индексные регистры, бывает, что из-за них траблы.
Да есть такое. Можно перейти на другую закладку (файл), или заново открыть текущий. Пока нет времени, да и не пойму, толком, как можно избавиться от этого.
Валится тут (у меня во всяком случае) Код (Text): .text:1000135B mov ecx, [ebp+var_20] .text:1000135E sub ecx, edx .text:10001360 mov cchText, ecx .text:10001366 cmp ecx, 80h .text:1000136C jnb short loc_100013D1 .text:1000136E push offset chText ; lParam .text:10001373 push 0 ; wParam .text:10001375 push 43Eh ; Msg .text:1000137A push [ebp+arg_8] ; hWnd .text:1000137D call SendMessageA .text:10001382 lea edx, chText .text:10001388 xor eax, eax .text:1000138A jmp short loc_100013B1 .text:1000138C ; --------------------------------------------------------------------------- .text:1000138C .text:1000138C loc_1000138C: ; CODE XREF: DllProc+2DFj .text:1000138C mov al, [ecx+edx-1] <==================ТУТ ВАЛИТЬСЯ================== .text:10001390 cmp al, 0Ah .text:10001392 jz short loc_100013A0 .text:10001394 cmp al, 0Dh .text:10001396 jz short loc_100013A0 .text:10001398 cmp al, 20h .text:1000139A jz short loc_100013A0 .text:1000139C cmp al, 9 .text:1000139E jnz short loc_100013AA Падает из-за того, что перед .text:1000137D call SendMessageA не сохраняется регистр ecx, после SendMessage у меня он > 03000000h, что естественно за пределами выделяемой памяти. Сама библиотека загружается по 0FE0000h Короче добавьте push ecx/pop ecx и будет всем щастье, надеюсь
Пропатченная мною длл заработала, но это не прально, ждем релиза от автора, на всякий случай выкладываю исправленную
Вобщем всплыла такая бага когда выделяешь переменную в середине кода, потом береш ползунок окна и двигаешь быстро вверх через весь код в самое начало, падаемс. Вся .дата в HL_LIDA забивается листингом и не хватаем места залазим в ресы. Собственно код где падаем ниже. Код (Text): EAX 0175422C ECX 0000002D EDX 00004915 EBX 00183030 ESP 0012F428 EBP 0012F43C ESI 01206B34 EDI 00C66000 HL_LIDA.00C66000 ; указывает в ресурсы жтой дллки где нету прав на запись EIP 1000CF95 RAEdit.1000CF95 Код (Text): 1000CF31 PUSH EBP 1000CF32 MOV EBP,ESP 1000CF34 ADD ESP,-4 1000CF37 PUSH EBX 1000CF38 PUSH ESI 1000CF39 PUSH EDI 1000CF3A MOV DWORD PTR SS:[EBP-4],0 1000CF41 MOV EBX,DWORD PTR SS:[EBP+8] 1000CF44 MOV EAX,DWORD PTR SS:[EBP+C] 1000CF47 MOV EDX,DWORD PTR SS:[EBP+10] 1000CF4A MOV EDI,DWORD PTR SS:[EBP+14] 1000CF4D CMP EAX,EDX 1000CF4F JBE SHORT RAEdit.1000CF52 1000CF51 XCHG EAX,EDX 1000CF52 MOV DWORD PTR SS:[EBP+C],EAX 1000CF55 MOV DWORD PTR SS:[EBP+10],EDX 1000CF58 PUSH DWORD PTR SS:[EBP+10] 1000CF5B PUSH EBX 1000CF5C CALL RAEdit.1000187F 1000CF61 MOV DWORD PTR SS:[EBP+10],ECX 1000CF64 PUSH DWORD PTR SS:[EBP+C] 1000CF67 PUSH EBX 1000CF68 CALL RAEdit.1000187F 1000CF6D MOV DWORD PTR SS:[EBP+C],ECX 1000CF70 MOV ECX,EAX 1000CF72 MOV EDX,DWORD PTR SS:[EBP+C] 1000CF75 MOV ESI,DWORD PTR DS:[EBX+B0] 1000CF7B ADD ESI,DWORD PTR DS:[EBX+B8] 1000CF81 JMP SHORT RAEdit.1000CFB9 1000CF83 MOV EAX,DWORD PTR DS:[EBX+C0] 1000CF89 ADD EAX,DWORD PTR DS:[ESI] 1000CF8B PUSH EAX 1000CF8C MOV AL,BYTE PTR DS:[ECX+EAX+14] 1000CF90 INC ECX 1000CF91 OR EDI,EDI 1000CF93 JE SHORT RAEdit.1000CF98 1000CF95 MOV BYTE PTR DS:[EDI],AL ;<=== валится здесь 1000CF97 INC EDI 1000CF98 CMP DWORD PTR SS:[EBP+18],0 1000CF9C JE SHORT RAEdit.1000CFAE 1000CF9E CMP AL,0D 1000CFA0 JNZ SHORT RAEdit.1000CFAE 1000CFA2 OR EDI,EDI 1000CFA4 JE SHORT RAEdit.1000CFAB 1000CFA6 MOV AL,0A 1000CFA8 MOV BYTE PTR DS:[EDI],AL 1000CFAA INC EDI 1000CFAB INC DWORD PTR SS:[EBP-4] 1000CFAE POP EAX 1000CFAF CMP ECX,DWORD PTR DS:[EAX] 1000CFB1 JNZ SHORT RAEdit.1000CFB8 1000CFB3 XOR ECX,ECX 1000CFB5 ADD ESI,4 1000CFB8 INC EDX 1000CFB9 CMP EDX,DWORD PTR SS:[EBP+10] 1000CFBC JB SHORT RAEdit.1000CF83 1000CFBE OR EDI,EDI 1000CFC0 JE SHORT RAEdit.1000CFC5 1000CFC2 MOV BYTE PTR DS:[EDI],0 1000CFC5 MOV EAX,DWORD PTR SS:[EBP+10] 1000CFC8 SUB EAX,DWORD PTR SS:[EBP+C] 1000CFCB POP EDI 1000CFCC POP ESI 1000CFCD POP EBX 1000CFCE LEAVE 1000CFCF RETN 14
PaCHER У меня повторить твой баг так и не получилось. Но дописал пару байт по контролю размера буфера, мож поможет. Тесте ... плз.