• 标 题:方正Apabi Reader多文档格式阅读器1.53拷贝文字限制解除(对上次写的1.0c的破文升级),呵呵 (4千字)
  • 作 者:fwnl
  • 时 间:2002-3-24 22:39:32
  • 链 接:http://bbs.pediy.com

方正Apabi Reader多文档格式阅读器拷贝文字限制解除
程序版本:1.53补丁版 build 1037
软件下载:http://www.apabi.com/download/readerDL.htm
    Crack by fwnl
    工具:TRW2000 WINHEX
    软件说明:一个可以阅读CEB,PDF,TXT,HTML的阅读器,最用之处就是看PDF文档可用金山词霸抓词
和可以拷贝加了防拷贝密码保护的PDF文档,
但是每次只能拷64个字,真是太少了,恰好我要把一个加了防拷密码的PDF文档里的内容拷出来,在网
上找了好久才发现只有这个东西可以办到,哈哈,所以解其限制就是我下面要做的事了

    每当选取超过64个字拷贝时就弹出警告对话框,所以从这个对话框下手.
用TRW2000 load主程序,F5返回后用Apabi Reader随便打开一段超过64个字的文字,全部选定文字后,
Ctrl+N叫出TRw2000后bpx lockmytask,按F5返回, 按右键选拷贝文字,程序中断后bd *关闭断点.
按一下f11, 然后不断按f12直到警告窗口出现.
点0k就到了Trw2000的画面,这时向上看一下程序发现0041E60C可能是警告对话框call,于是设断41b66f后,
F5返回主程序,又选取全文,然后右键点拷贝文字,程序立刻断在0041E60C.



0167:0041E609 50              PUSH    EAX
0167:0041E60A 8BCE            MOV      ECX,ESI
0167:0041E60C E83F020000      CALL    0041E850      ===========警告对话框CALL,F8进入
0167:0041E611 8D4C240C        LEA      ECX,[ESP+0C]
0167:0041E615 C78424CC000000FF+MOV      DWORD [ESP+CC],FFFFFFFF
0167:0041E620 E81B4F0100      CALL    00433540
0167:0041E625 8B8C24C4000000  MOV      ECX,[ESP+C4]
0167:0041E62C 5F              POP      EDI       
0167:0041E62D 5E              POP      ESI
0167:0041E62E 64890D00000000  MOV      [FS:00],ECX
0167:0041E635 81C4C8000000    ADD      ESP,C8
0167:0041E63B C20400          RET      04
0167:0041E63E 90              NOP   
0167:0041E63F 90              NOP   

      进入 0041E60C  CALL 后来到

0167:0041E875 8BCF            MOV      ECX,EDI
0167:0041E877 740A            JZ      0041E883
0167:0041E879 E822000000      CALL    0041E8A0    ===========警告对话框CALL,F8进入
0167:0041E87E 5F              POP      EDI
0167:0041E87F 5E              POP      ESI
0167:0041E880 C20400          RET      04
0167:0041E883 E808060000      CALL    0041EE90
0167:0041E888 5F              POP      EDI

      进入 0041E879  CALL  后来到

0167:0041E92A 8BC8            MOV      ECX,EAX
0167:0041E92C FF520C          CALL    NEAR [EDX+0C] ===========警告对话框CALL,F8进入
0167:0041E92F 85C0            TEST    EAX,EAX
0167:0041E931 C7442420FFFFFFFF MOV      DWORD [ESP+20],FFFFFFFF
0167:0041E939 8D4C2428        LEA      ECX,[ESP+28]
0167:0041E93D 7518            JNZ      0041E957
0167:0041E93F E8CC090000      CALL    0041F310

      进0041E92C  CALL  后来到
      不久发现到了SmartReader.dll里

0167:028781DB 8D4DE8          LEA      ECX,[EBP-18]
0167:028781DE E80DE2FFFF      CALL    028763F0    ===========警告对话框CALL,F8进入
0167:028781E3 E922010000      JMP      0287830A
0167:028781E8 8D4DE8          LEA      ECX,[EBP-18]
0167:028781EB E8E0DFFFFF      CALL    028761D0
0167:028781F0 E915010000      JMP      0287830A
      进0167:028781DE  CALL  后来到

0167:028764A4 8B44240C        MOV      EAX,[ESP+0C]
0167:028764A8 BF80000000      MOV      EDI,80    ===>这里就是字数比较
0167:028764AD 3BC7            CMP      EAX,EDI
0167:028764AF 7E6F            JNG      02876520  ===>这里跳就ok了
0167:028764B1 8B0DA8E58902    MOV      ECX,[0289E5A8]
0167:028764B7 894C2410        MOV      [ESP+10],ECX
0167:028764BB 6831750000      PUSH    DWORD 7531
0167:028764C0 8D4C2414        LEA      ECX,[ESP+14]
0167:028764C4 C744244000000000 MOV      DWORD [ESP+40],00

code on 发现28764AF处代码是 7E6f,要它跳就改成EB6f,由于这段代码是在SmartReader.dll里
于是用winhex在Apabi Reader的安装目录下找到SmartReader.dll打开,查BF800000003BC77E6F8B0DA8E58902
                                                              改BF800000003BC7EB6F8B0DA8E58902
这样就解除了拷贝文字64个的限制,不过拷出来的东西最好复制在写字板,不要用记事本.

不知有没有比这个更好的读PDF的东西,如果谁知道请告诉我一声,不要说Adobe Acrobat哟,这个
东太烂了,限制太多,在精华3看到一篇文章说可以改Adobe Acrobat,可我看了X*N次也没看懂.那位知道改的大侠一定要告诉我一下(fwnl@sina.com),先谢谢了。

                                                    fwnl     
                                                  2002.3.24         
                                                    长沙