我喜欢暴力,暴力破解ssreader3.54的图书阅读.下载和1/4页面限制! (5千字)
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)
