• 标 题:我喜欢暴力,暴力破解ssreader3.54的图书阅读.下载和1/4页面限制! (5千字)
  • 作 者:741106
  • 时 间:2001-8-8 11:03:54
  • 链 接:http://bbs.pediy.com

ssreader.exe 脱壳后修改以下地方,不注册读书卡照样正常下载阅读。


015F:00420AA4 E8FFA1FEFF      CALL    0040ACA8  -------> 进行读书卡认证,可以把它改成nop
015F:00420AA9 84C0            TEST    AL,AL
015F:00420AAB 7474            JZ      00420B21  ----> 改成 nop  不跳出现下载到本地图书馆的目录选择框,
015F:00420AAD 8B15184C5500    MOV      EDX,[00554C18]
015F:00420AB3 833A00          CMP      DWORD [EDX],BYTE +00
015F:00420AB6 751A            JNZ      00420AD2
015F:00420AB8 8B8D58FEFFFF    MOV      ECX,[EBP+FFFFFE58]
015F:00420ABE B201            MOV      DL,01
015F:00420AC0 A1A0885300      MOV      EAX,[005388A0]




015F:0040ADA0 E817070000      CALL    0040B4BC    ---->下载框中选中本地图书馆后又要进行认证  改成 nop
015F:0040ADA5 84C0            TEST    AL,AL    返回0 失败
015F:0040ADA7 740E            JZ      0040ADB7  故此处改成  nop nop (不跳走)
015F:0040ADA9 B001            MOV      AL,01
015F:0040ADAB 8B55D4          MOV      EDX,[EBP-2C]
015F:0040ADAE 64891500000000  MOV      [FS:00],EDX
015F:0040ADB5 EB0C            JMP      SHORT 0040ADC3
015F:0040ADB7 33C0            XOR      EAX,EAX
015F:0040ADB9 8B55D4          MOV      EDX,[EBP-2C]
015F:0040ADBC 64891500000000  MOV      [FS:00],EDX


015F:0041BAE0 E8D7F9FEFF      CALL    0040B4BC  ----> 浏览中选中点击书名,p之后进行读书卡认证,此处不修改,改后会死机
015F:0041BAE5 84C0            TEST    AL,AL
015F:0041BAE7 0F858F000000    JNZ      NEAR 0041BB7C  -->此行改成硬跳转

此行改成如下代码.

015F:0041BAE7 E990000000      JMP      0041BB7C
015F:0041BAEC 90              NOP   

:0041B62A E88DFEFEFF              call 0040B4BC
:0041B62F 84C0                    test al, al
:0041B631 0F843F020000            je 0041B876



兄弟们:
pdg2.dll 中  (pdg2.dll 的壳我脱不了,是飘雪兄脱的壳,谢谢飘雪)

ocr 图象拷贝,文字 1/4页面限制解除方法:

:1000441D 0F87C3070000            ja 10004BE6  ------>  本处机器码全改成 90
:10004423 85D2                    test edx, edx
:10004425 0F8694070000            jbe 10004BBF
:1000442B 837D1000                cmp dword ptr [ebp+10], 00000000
:1000442F 0F868A070000            jbe 10004BBF
:10004435 8D421F                  lea eax, dword ptr [edx+1F]
:10004438 8BCB                    mov ecx, ebx
:1000443A C1E805                  shr eax, 05


:1000654D 0FAFCB                  imul ecx, ebx
:10006550 C1E802                  shr eax, 02
:10006553 05E8030000              add eax, 000003E8
:10006558 3BC8                    cmp ecx, eax
:1000655A 762D                    jbe 10006589    -----> 76 改成 eb 直接跳转
:1000655C 8B4D18                  mov ecx, dword ptr [ebp+18]
:1000655F 85C9                    test ecx, ecx
:10006561 7406                    je 10006569
:10006563 8B01                    mov eax, dword ptr [ecx]
:10006565 6A01                    push 00000001
:10006567 FF10                    call dword ptr [eax]


:1000BF59 59                      pop ecx
:1000BF5A 8B4D0C                  mov ecx, dword ptr [ebp+0C]
:1000BF5D 6A04                    push 00000004  ----> 1/4页面限制关键点。改成push 1, (6a 04 改成 6a 01)
:1000BF5F 0FAFC8                  imul ecx, eax
:1000BF62 8B45FC                  mov eax, dword ptr [ebp-04]
:1000BF65 5B                      pop ebx
:1000BF66 0FAF45F8                imul eax, dword ptr [ebp-08]
:1000BF6A 99                      cdq



pdg2.dll 文件中,一个我未解决的问题,阅读其它用户下载的的书籍不能显示内容,有兴趣的兄弟们请研究一下。



打开其它用户下载的书,哏踪流程 (pdg2.dll中)

0167:024F7271 E8430F0000      CALL    024F81B9  ---->此call判断用户名是否一致,是显示页面,否提示无权,追进去
0167:024F7276 FF7604          PUSH    DWORD [ESI+04]
0167:024F7279 E896B30200      CALL    02522614
0167:024F727E 56              PUSH    ESI
0167:024F727F E890B30200      CALL    02522614
0167:024F7284 59              POP      ECX
0167:024F7285 59              POP      ECX
0167:024F7286 E84AB30200      CALL    025225D5
0167:024F728B 5E              POP      ESI
0167:024F728C C3              RET   
0167:024F728D 8B4C2404        MOV      ECX,[ESP+04]


0167:024F8B7A FF5024          CALL    NEAR [EAX+24]  ----> 发现此call显示“无权阅读”  思路来了,前面应该有判断语句,通过静态分析,改变跳转来试试。
0167:024F8B7D 33C0            XOR      EAX,EAX
0167:024F8B7F E9851A0000      JMP      024FA609
0167:024F8B84 D9862C210000    FLD      DWORD [ESI+212C]
0167:024F8B8A 8B4D08          MOV      ECX,[EBP+08]
0167:024F8B8D D9C0            FLD      ST0
0167:024F8B8F D99900010000    FSTP    DWORD [ECX+0100]
0167:024F8B95 DC1D40A55402    FCOMP    QWORD [0254A540]


往前踪发现:

0167:024F8935 FF5038          CALL    NEAR [EAX+38] 
0167:024F8938 85C0            TEST    EAX,EAX
0167:024F893A 0F85A9000000    JNZ      NEAR 024F89E9  ---->  分支点,用户名一致,跳走,不一致,不走。改成硬跳转,用户名不一致时将显示空白页,不提示“无权”

{  改成硬跳转 这样
0167:024F893A E9AA000000      JMP      024F89E9
0167:024F893F 90              NOP   
修改之后,不提示无权阅读,但也不能显示页面内容,兄弟我黔鹿技穷,谁能在我的肩镑上继续前行?

}

0167:024F8940 8B4DEC          MOV      ECX,[EBP-14]
0167:024F8943 2186A4210000    AND      [ESI+21A4],EAX
0167:024F8949 85C9            TEST    ECX,ECX
0167:024F894B 7406            JZ      024F8953
0167:024F894D 8B01            MOV      EAX,[ECX]
0167:024F894F 6A01            PUSH    BYTE +01
0167:024F8951 FF10            CALL    NEAR [EAX]
0167:024F8953 837DFC00        CMP      DWORD [EBP-04],BYTE +00

有发现问题请通知我。

有兴趣者请与我联系索取pdg2.dll(wjt@sina.com)