Break due to BPX #0187:0045E782 (ET=4.41 seconds)
:u 45e754 l 40
原代码段:
017F:0045E754 6A01 PUSH 01 ;* Change here
017F:0045E756 8BD6 MOV EDX,ESI ;* and here
017F:0045E758 03D3 ADD EDX,EBX ;* and here
017F:0045E75A 81C2B4126F00 ADD EDX,006F12B4
017F:0045E760 52 PUSH EDX
017F:0045E761 FFB3A0126F00 PUSH DWORD PTR [EBX+006F12A0]
017F:0045E767 8B4DF4 MOV ECX,[EBP-0C]
017F:0045E76A 0FAFCE IMUL ECX,ESI
017F:0045E76D 8B45F8 MOV EAX,[EBP-08]
017F:0045E770 03C8 ADD ECX,EAX
017F:0045E772 51 PUSH ECX
017F:0045E773 FFB35C126F00 PUSH DWORD PTR [EBX+006F125C]
017F:0045E779 E802060500 CALL GDI32!TextOutA
017F:0045E77E 46 INC ESI
017F:0045E77F 8B55FC MOV EDX,[EBP-04]
017F:0045E782 3BF2 CMP ESI,EDX ;* Change here
017F:0045E784 0F823BFFFFFF JB 0045E6C5
017F:0045E78A 8B8BADF60100 MOV ECX,[EBX+0001F6AD]
017F:0045E790 85C9 TEST ECX,ECX
017F:0045E792 747B JZ 0045E80F
改成如下代码段:
================ Sun Mar 25 22:21:53 2001
:u 45e754 l 40
017F:0045E754 FF75FC PUSH DWORD PTR [EBP-04] ;串的长度
017F:0045E757 90 NOP
017F:0045E758 8BD3 MOV EDX,EBX ;EBX串的偏移基址,直接置入edx
017F:0045E75A 81C2B4126F00 ADD EDX,006F12B4
017F:0045E760 52 PUSH EDX ;串的地址
017F:0045E761 FFB3A0126F00 PUSH DWORD PTR [EBX+006F12A0]
017F:0045E767 8B4DF4 MOV ECX,[EBP-0C]
017F:0045E76A 0FAFCE IMUL ECX,ESI
017F:0045E76D 8B45F8 MOV EAX,[EBP-08]
017F:0045E770 03C8 ADD ECX,EAX
017F:0045E772 51 PUSH ECX
017F:0045E773 FFB35C126F00 PUSH DWORD PTR [EBX+006F125C]
017F:0045E779 E802060500 CALL GDI32!TextOutA
017F:0045E77E 46 INC ESI
017F:0045E77F 8B55FC MOV EDX,[EBP-04]
017F:0045E782 3BF6 CMP ESI,ESI ; 不用循环了
017F:0045E784 0F823BFFFFFF JB 0045E6C5
017F:0045E78A 8B8BADF60100 MOV ECX,[EBX+0001F6AD]
017F:0045E790 85C9 TEST ECX,ECX
017F:0045E792 747B JZ 0045E80F
建议保留原来的版本,当需要反汇编中文软件时就用这个改良版。
{tag_点击标签样式三}