EditPlus 5.6 build 4772 按下Ctrl+B浏览器预览bug的解决
本帖最后由 冥界3大法王 于 2022-10-12 08:29 编辑这个编辑器法王姥爷已经很多年没用过了。这两天看到某pdf书籍里时就偶尔安了个最新版本试一下
结果随便打开个*.html ,按下Ctrl+B ,使用浏览器 预览,就会触发下面的
如图所示,工具栏第二排左下角的那个按钮
的bug,就算你打了官方提供的补丁包也是无济于事。。。。
所以,我们就来汇编修补下吧。
咱下载的是32位的,所以就用x32dbg来打开它吧。
话不多说,当这个弹框出现后,你可以采用多种方法定位到。
[*]搜索全部模块,所有字符串
[*]使用string插件
[*]利用暂停回溯法
[*]既然是弹框,那就用弹框类的api
[*]利用跟踪窗口
[*]利用句柄窗口
[*]最笨的方法,随便找个前置断点,按下热键Ctrl+F8 ,当Ctrl+B 走到关键点上就会触发
[*]下窗口类断点
[*]把光标移到该工具栏上,我们得知Browser字符串恐怕会调用,所以全下断,果然能断到开始的地方
开始曾经怀疑过有反调试:
你能搜索到好多。
你可以顺手给主模块下一个
当你按Ctrl+B时就会来到此处
WebView2Loader.dll是啥? 那是源于Edge dev内核浏览器,开发Delphi浏览器控件所必须的文件支持。
接下来连按几次Ctrl+F9来到调用返回的地方
也可以结合堆栈窗口的地址,回车前往。
又或者 ,可以用前面找到的
001D4451 | B9 E80E3700 | mov ecx,editplus.370EE8 | 370EE8:L"Browser"调用提示处的 字符
不论咋样,你定位到了。
001D4320 <ed | 55 | push ebp | 这里是开始的地方!
001D4321 | 8BEC | mov ebp,esp |
001D4323 | 6A FF | push FFFFFFFF |
001D4325 | 68 FD583300 | push <editplus.sub_3358FD> |
001D432A | 64:A1 00000000 | mov eax,dword ptr fs: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", :"D蟪"
001D4330 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4331 | 83EC 0C | sub esp,C |
001D4334 | A1 B82A3A00 | mov eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4339 | 33C5 | xor eax,ebp |
001D433B | 8945 F0 | mov dword ptr ss:,eax |
001D433E | 53 | push ebx |
001D433F | 56 | push esi | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4340 | 57 | push edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4341 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4342 | 8D45 F4 | lea eax,dword ptr ss: |
001D4345 | 64:A3 00000000 | mov dword ptr fs:,eax | :"D蟪", eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D434B | 8B75 14 | mov esi,dword ptr ss: |
001D434E | 8B5D 08 | mov ebx,dword ptr ss: | :L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4351 | 8B34B5 40ED3B00 | mov esi,dword ptr ds: | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4358 | 85F6 | test esi,esi | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D435A | 0F84 90000000 | je editplus.1D43F0 |
001D4360 | 83FE 07 | cmp esi,7 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4363 | 0F84 87000000 | je editplus.1D43F0 |
001D4369 | 83FE 01 | cmp esi,1 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D436C | 75 0C | jne editplus.1D437A |
001D436E | 8B55 0C | mov edx,dword ptr ss: |
001D4371 | 8BCB | mov ecx,ebx |
001D4373 | E8 A8FEFFFF | call <editplus.sub_1D4220> |
001D4378 | EB 5D | jmp editplus.1D43D7 |
001D437A | 83FE 05 | cmp esi,5 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D437D | 75 15 | jne editplus.1D4394 |
001D437F | 8B0D 208F3C00 | mov ecx,dword ptr ds: |
001D4385 | 8379 F4 00 | cmp dword ptr ds:,0 |
001D4389 | 7E 50 | jle editplus.1D43DB |
001D438B | 8BD3 | mov edx,ebx | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D438D | E8 9EF7FFFF | call editplus.1D3B30 |
001D4392 | EB 43 | jmp editplus.1D43D7 |
001D4394 | 33C0 | xor eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4396 | 83FE 02 | cmp esi,2 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4399 | 75 0A | jne editplus.1D43A5 |
001D439B | B9 5C0F3700 | mov ecx,editplus.370F5C | 370F5C:L"htmlfile"
001D43A0 | 8D46 FF | lea eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43A3 | EB 22 | jmp editplus.1D43C7 |
001D43A5 | 83FE 06 | cmp esi,6 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43A8 | 75 07 | jne editplus.1D43B1 |
001D43AA | B9 700F3700 | mov ecx,editplus.370F70 | 370F70:L"FirefoxHTML"
001D43AF | EB 16 | jmp editplus.1D43C7 |
001D43B1 | 83FE 03 | cmp esi,3 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43B4 | 75 07 | jne editplus.1D43BD |
001D43B6 | B9 880F3700 | mov ecx,editplus.370F88 | 370F88:L"ChromeHTML"
001D43BB | EB 0A | jmp editplus.1D43C7 |
001D43BD | 83FE 04 | cmp esi,4 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43C0 | 75 19 | jne editplus.1D43DB |
001D43C2 | B9 A00F3700 | mov ecx,editplus.370FA0 | 370FA0:L"MSEdgeHTM"
001D43C7 | 6A 00 | push 0 |
001D43C9 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43CA | FF75 0C | push dword ptr ss: |
001D43CD | 8BD3 | mov edx,ebx | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43CF | E8 8CF8FFFF | call <editplus.sub_1D3C60> |
001D43D4 | 83C4 0C | add esp,C |
001D43D7 | 85C0 | test eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43D9 | 75 0E | jne editplus.1D43E9 | 好蛋!
001D43DB | 6A FF | push FFFFFFFF |
001D43DD | 6A 00 | push 0 |
001D43DF | 68 7A4E0000 | push 4E7A |
001D43E4 | E8 56130F00 | call <editplus.sub_2C573F> |
001D43E9 | 33C0 | xor eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43EB | E9 42010000 | jmp editplus.1D4532 |
001D43F0 | C745 EC 00000000 | mov dword ptr ss:,0 | 貌似这里是好蛋才走的分支!!!
001D43F7 | E8 82FA0E00 | call <editplus.sub_2C3E7E> |
001D43FC | 8BC8 | mov ecx,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D43FE | 85C9 | test ecx,ecx |
001D4400 | 0F84 4A010000 | je editplus.1D4550 |
001D4406 | 8B01 | mov eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4408 | FF50 0C | call dword ptr ds: |
001D440B | 83C0 10 | add eax,10 | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D440E | 8945 EC | mov dword ptr ss:,eax |
001D4411 | C745 FC 00000000 | mov dword ptr ss:,0 |
001D4418 | 33FF | xor edi,edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D441A | 8B0D 64DE3A00 | mov ecx,dword ptr ds: | 003ADE64:&"渜6"
001D4420 | E8 211E1000 | call <editplus.sub_2D6246> |
001D4425 | 8945 E8 | mov dword ptr ss:,eax |
001D4428 | 85C0 | test eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D442A | 74 61 | je editplus.1D448D |
001D442C | 0F1F40 00 | nop dword ptr ds:,eax |
001D4430 | 8B0D 64DE3A00 | mov ecx,dword ptr ds: | 003ADE64:&"渜6"
001D4436 | 8D45 E8 | lea eax,dword ptr ss: |
001D4439 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D443A | E8 281E1000 | call editplus.2D6267 |
001D443F | 8BF8 | mov edi,eax | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4441 | 8D45 EC | lea eax,dword ptr ss: |
001D4444 | 6A 02 | push 2 |
001D4446 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4447 | 8BCF | mov ecx,edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4449 | 8B17 | mov edx,dword ptr ds: | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", :"ableW"
001D444B | FF52 64 | call dword ptr ds: |
001D444E | 8B55 EC | mov edx,dword ptr ss: |
001D4451 | B9 E80E3700 | mov ecx,editplus.370EE8 | 370EE8:L"Browser"
001D4456 | 66:8B02 | mov ax,word ptr ds: | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4459 | 66:3B01 | cmp ax,word ptr ds: |
001D445C | 75 1E | jne editplus.1D447C |
001D445E | 66:85C0 | test ax,ax |
001D4461 | 74 15 | je editplus.1D4478 |
001D4463 | 66:8B42 02 | mov ax,word ptr ds: |
001D4467 | 66:3B41 02 | cmp ax,word ptr ds: |
001D446B | 75 0F | jne editplus.1D447C |
001D446D | 83C2 04 | add edx,4 | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4470 | 83C1 04 | add ecx,4 |
001D4473 | 66:85C0 | test ax,ax |
001D4476 | 75 DE | jne editplus.1D4456 |
001D4478 | 33C0 | xor eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D447A | EB 05 | jmp editplus.1D4481 |
001D447C | 1BC0 | sbb eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D447E | 83C8 01 | or eax,1 | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4481 | 85C0 | test eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4483 | 74 2F | je editplus.1D44B4 ======>这句之后下面跳转到了微软的网站(改成JMP程序不退出,但也不打开浏览器!
NOP就会弹出浏览器版本IE3过低
001D4485 | 837D E8 00 | cmp dword ptr ss:,0 |
001D4489 | 75 A5 | jne editplus.1D4430 |
001D448B | 33FF | xor edi,edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D448D | 803D A6DE3A00 00 | cmp byte ptr ds:,0 |
001D4494 | 6A FF | push FFFFFFFF |
001D4496 | 74 6A | je editplus.1D4502 |
001D4498 | 6A 24 | push 24 |
001D449A | 68 5A550000 | push 555A |
001D449F | E8 9B120F00 | call <editplus.sub_2C573F> |
001D44A4 | 83F8 06 | cmp eax,6 | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44A7 | 75 65 | jne editplus.1D450E | 这里▲
001D44A9 | A1 60E73B00 | mov eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44AE | 85C0 | test eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44B0 | 75 34 | jne editplus.1D44E6 |
001D44B2 | EB 35 | jmp editplus.1D44E9 |
001D44B4 | 8B17 | mov edx,dword ptr ds: | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", :"ableW"
001D44B6 | 83FE 07 | cmp esi,7 | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44B9 | 8BCF | mov ecx,edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44BB | 0F9405 A6DE3A00 | sete byte ptr ds: |
001D44C2 | 33C0 | xor eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44C4 | 3905 7CE73B00 | cmp dword ptr ds:,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44CA | 0F94C0 | sete al |
001D44CD | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44CE | 53 | push ebx |
001D44CF | FF92 84000000 | call dword ptr ds: |
001D44D5 | 8BF8 | mov edi,eax | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44D7 | 85FF | test edi,edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44D9 | 74 B2 | je editplus.1D448D |
001D44DB | 8B45 14 | mov eax,dword ptr ss: |
001D44DE | 8987 E4000000 | mov dword ptr ds:,eax | edi+E4:L"ot%\\system32\\windows.storage.dll,-21770", eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44E4 | EB 28 | jmp editplus.1D450E | ▲
001D44E6 | 8B40 20 | mov eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", eax+20:L"pt\\01.学习HTML\\StudyJS.html"
001D44E9 | 6A 05 | push 5 |
001D44EB | 6A 00 | push 0 |
001D44ED | 6A 00 | push 0 |
001D44EF | 68 F80E3700 | push editplus.370EF8 | 370EF8:L"https://go.microsoft.com/fwlink/p/?LinkId=2124703"
001D44F4 | 68 F08A3600 | push editplus.368AF0 | 368AF0:L"open"
001D44F9 | 50 | push eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D44FA | FF15 1C863400 | call dword ptr ds:[<&ShellExecuteW>] |
001D4500 | EB 0C | jmp editplus.1D450E | ▲
001D4502 | 6A 00 | push 0 |
001D4504 | 68 FC5B0000 | push 5BFC |
001D4509 | E8 31120F00 | call <editplus.sub_2C573F> |
001D450E | C745 FC FFFFFFFF | mov dword ptr ss:,FFFFFFFF |
001D4515 | 83C8 FF | or eax,FFFFFFFF | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4518 | 8B55 EC | mov edx,dword ptr ss: |
001D451B | 83C2 F0 | add edx,FFFFFFF0 | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D451E | F0:0FC142 0C | lock xadd dword ptr ds:,eax | 取磁盘卷标
001D4523 | 48 | dec eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4524 | 85C0 | test eax,eax | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4526 | 7F 08 | jg editplus.1D4530 |
001D4528 | 8B0A | mov ecx,dword ptr ds: | :L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D452A | 52 | push edx | edx:&L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D452B | 8B01 | mov eax,dword ptr ds: | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D452D | FF50 04 | call dword ptr ds: |
001D4530 | 8BC7 | mov eax,edi | eax:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html", edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D4532 | 8B4D F4 | mov ecx,dword ptr ss: |
001D4535 | 64:890D 00000000 | mov dword ptr fs:,ecx | :"D蟪"
001D453C | 59 | pop ecx |
001D453D | 5F | pop edi | edi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D453E | 5E | pop esi | esi:L"X:\\StudyJavaScript\\01.学习HTML\\StudyJS.html"
001D453F | 5B | pop ebx |
001D4540 | 8B4D F0 | mov ecx,dword ptr ss: |
001D4543 | 33CD | xor ecx,ebp |
001D4545 | E8 B05A1300 | call editplus.309FFA | 好像这里是正常的流程!
我们前后调试几轮标注下,走过正确的流程,就会得到下面的结论:那就开始修改吧,修改之后,程序不弹框了,但浏览器还是没能打开预览网页效果!
接下来,让我们四处转转,看看INI配置文件,再随便点几个菜单
你就会发现,貌似这里可以设置,但选项是灰的。
就算用论坛的注册机激活版也是无济于事的!
那修改打开浏览器的设置在哪呢? 网上搜索下吧。
这样咱们发现的bug退出问题就解决了,至于有个选项是灰的,暂时不知咋去解决了。
因为实在不知原功能老版本里边长啥样?后会有期~~{:301_998:}
https://wwt.lanzouy.com/iIcJn0doc5za
liduowu 发表于 2022-10-12 13:02
按crtl+b就直接打开网页了
@liduowu
你得先把Editplus的配置全部删除干净再测试
这样就像刚安装时的环境一样
然后那个bug就出场了。
不过上面那位朋友说的选中后拖动。。。我没有弄出来。 本帖最后由 liduowu 于 2022-10-12 12:34 编辑
冥界3大法王 发表于 2022-10-12 12:27
@liduowu
浏览器 =》 选项,菜单 长啥样?
嗯… 无法访问此页面网址为edge://settings/ 的页面可能存在问题,或者已永久移动到新的网址。
ERR_INVALID_URL 厉害,一直用5.3 厉害,一直用5.3 这可是老牌劲旅了,我一工作的时候就开始用,现在都快退休了,它在战斗啊 本帖最后由 开心长寿果 于 2022-10-11 21:53 编辑
可以分享下软件吗?谢谢 还是 4.3 通用版好! 法王厉害,学习了。 其实不止Ctrl+B触发这个bug,你试试选中任意内容,然后按住鼠标左键拖动选中内容,也会触发这个Bug Takitooru 发表于 2022-10-11 23:28
其实不止Ctrl+B触发这个bug,你试试选中任意内容,然后按住鼠标左键拖动选中内容,也会触发这个Bug
删除全部配置,我咋没触发? 冥界3大法王 发表于 2022-10-12 00:20
删除全部配置,我咋没触发?
是随便打开编辑一个文档之类,然后选中编辑内容,按住鼠标左键拖动选中内容