好友
阅读权限40
听众
最后登录1970-1-1
|
本帖最后由 lqiulu 于 2009-6-11 14:33 编辑
【文章标题】: 菜鸟学堂之标志位破解“isky-video-converter”
【文章作者】: LQIULU
【作者邮箱】: lqiulu@sohu.com
【软件名称】: isky-video-converter
【下载地址】: http://www.iskysoft.net/video-win.html
【保护方式】: 注册码
【使用工具】: od
【软件介绍】: iSkysoft Video Converter视频转换器
【作者声明】: 程序为典型的标志位,适合新手练习用,呵呵,高手略过。
--------------------------------------------------------------------------------
【详细过程】
无壳delphi编写的程序。
①从字符串入手,OD载入,字符串插件查到不到什么有用的信息,按理说不会这样的啊,没办法,我们还是运行程序吧。F9运行。
程序运行出现了注册提示框,而程序的标题还有(unregistered)的字样。我们要注意程序的每个细节以帮助找到关键的地方。
先记下这个(unregistered)。
我们再用字符串插件查查看,说不定有想不到的结果呢。真的是这样。
“ 地址=00545A8B 反汇编=MOV EDX,0054669C 文本字串=(unregistered)”这个像就是程序标题的那个哦。双击进入汇编窗口。
005459C8 /$ 55 PUSH EBP
005459C9 |. 8BEC MOV EBP,ESP
005459CB |. B9 23000000 MOV ECX,23
005459D0 |> 6A 00 /PUSH 0
005459D2 |. 6A 00 |PUSH 0
005459D4 |. 49 |DEC ECX
005459D5 |.^ 75 F9 \JNZ SHORT 005459D0
005459D7 |. 51 PUSH ECX
005459D8 |. 53 PUSH EBX
005459D9 |. 56 PUSH ESI
005459DA |. 57 PUSH EDI
005459DB |. 8BD8 MOV EBX,EAX
005459DD |. 33C0 XOR EAX,EAX
005459DF |. 55 PUSH EBP
005459E0 |. 68 32665400 PUSH 00546632
005459E5 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005459E8 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005459EB |. B8 40665400 MOV EAX,00546640 ; c
005459F0 |. E8 3BE3F9FF CALL 004E3D30
005459F5 |. 8BF0 MOV ESI,EAX
005459F7 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005459FA |. A1 88F35400 MOV EAX,DWORD PTR DS:[54F388]
005459FF |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
00545A01 |. E8 CE8CF3FF CALL 0047E6D4
00545A06 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00545A09 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
00545A0C |. E8 3747ECFF CALL 0040A148
00545A11 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00545A14 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
00545A17 |. E8 C0FAEBFF CALL 004054DC
00545A1C |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00545A1F |. B9 64665400 MOV ECX,00546664 ; s
00545A24 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00545A27 |. E8 3CFBEBFF CALL 00405568
00545A2C |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00545A2F |. E8 B8FAEBFF CALL 004054EC
00545A34 |. 50 PUSH EAX
00545A35 |. E8 8AA1F3FF CALL <JMP.&WS_Log.ConfigFileInit>
00545A3A |. 8BF8 MOV EDI,EAX
00545A3C |. E8 3BCDF9FF CALL 004E277C //这里就是关键call了。F7进入,对算法call进行修改。
00545A41 |. 84C0 TEST AL,AL
00545A43 |. 75 09 JNZ SHORT 00545A4E //这里跳过未注册跳到注册版。
00545A45 |. E8 DECFF9FF CALL 004E2A28
00545A4A |. 84C0 TEST AL,AL
00545A4C |. 74 25 JE SHORT 00545A73 //这里跳到未注册。所以不能让其实现。
00545A4E |> 68 74665400 PUSH 00546674 //跳到这里就可以跳过未注册,也就是正式版了
00545A53 |. 57 PUSH EDI
00545A54 |. E8 8BA1F3FF CALL <JMP.&WS_Log.ConfigGetStrPtr>
00545A59 |. 8BD0 MOV EDX,EAX
00545A5B |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
00545A5E |. E8 05F3EBFF CALL 00404D68
00545A63 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
00545A66 |. 8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
00545A6C |. E8 FB31F1FF CALL 00458C6C
00545A71 |. EB 30 JMP SHORT 00545AA3 //这里跳过未注册
00545A73 |> 68 74665400 PUSH 00546674 //s跳到这里就是非注册版了。
00545A78 |. 57 PUSH EDI
00545A79 |. E8 66A1F3FF CALL <JMP.&WS_Log.ConfigGetStrPtr>
00545A7E |. 8BD0 MOV EDX,EAX
00545A80 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
00545A83 |. E8 E0F2EBFF CALL 00404D68
00545A88 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
00545A8B |. BA 9C665400 MOV EDX,0054669C ; (unregistered)//这里就是字符串
00545A90 |. E8 93F3EBFF CALL 00404E28
00545A95 |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00545A98 |. 8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
00545A9E |. E8 C931F1FF CALL 00458C6C
00545AA3 |> 68 AC665400 PUSH 005466AC ; s
00545AA8 |. E8 0FA1F3FF CALL <JMP.&WS_Log.WSGetConfigStrPtr>
00545AAD |. 8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
00545AB3 |. 8B40 68 MOV EAX,DWORD PTR DS:[EAX+68]
00545AB6 |. 0FB615 CC665400 MOVZX EDX,BYTE PTR DS:[5466CC]
00545ABD |. E8 1296EEFF CALL 0042F0D4
00545AC2 |. B8 D0665400 MOV EAX,005466D0 ; m
00545AC7 |. E8 64E2F9FF CALL 004E3D30
00545ACC |. 8BD0 MOV EDX,EAX
00545ACE |. 8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
00545AD4 |. 8B40 68 MOV EAX,DWORD PTR DS:[EAX+68]
00545AD7 |. E8 AC91EEFF CALL 0042EC88
00545ADC |. 68 74665400 PUSH 00546674 ; s
=======================================================================================
跟进算法call。
004E277C /$ 53 PUSH EBX //有七次调用,所以如果不在算法call里修改会增加不少的修改量。
004E277D |. 51 PUSH ECX
004E277E |. 33C9 XOR ECX,ECX
004E2780 |. B2 01 MOV DL,1
004E2782 |. A1 60024E00 MOV EAX,DWORD PTR DS:[4E0260]
004E2787 |. E8 E8EFFFFF CALL 004E1774
004E278C |. 890424 MOV DWORD PTR SS:[ESP],EAX
004E278F |. 8BC4 MOV EAX,ESP
004E2791 |. E8 FAFCFFFF CALL 004E2490
004E2796 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004E2799 |. E8 D2EAFFFF CALL 004E1270
004E279E |. 8BD8 MOV EBX,EAX
004E27A0 |. B2 01 MOV DL,1
004E27A2 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004E27A5 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
004E27A7 |. FF51 FC CALL DWORD PTR DS:[ECX-4]
004E27AA 8BC3 MOV EAX,EBX //标志位修改一下就ok了。MOV AL,1
004E27AC |. 5A POP EDX
004E27AD |. 5B POP EBX
004E27AE \. C3 RETN
保存修改,ok了,不再提示注册,关于里面也已经是注册的了,没有功能限制了。
至于修改文件后运行退出的问题,是程序有自校验,通过WS_Log.dll对程序进行MD5的校验。
003B59D4 8D8C24 88010000 LEA ECX,DWORD PTR SS:[ESP+188]
003B59DB 51 PUSH ECX
003B59DC E8 BFEEFFFF CALL GetFileMD5 //取得程序的MD5值。
003B59E1 8D8E 00040000 LEA ECX,DWORD PTR DS:[ESI+400]
003B59E7 8D8424 04010000 LEA EAX,DWORD PTR SS:[ESP+104]
003B59EE 8BFF MOV EDI,EDI
003B59F0 8A10 MOV DL,BYTE PTR DS:[EAX]
003B59F2 3A11 CMP DL,BYTE PTR DS:[ECX]
003B59F4 75 1A JNZ SHORT 003B5A10
003B59F6 84D2 TEST DL,DL
003B59F8 74 12 JE SHORT 003B5A0C
003B59FA 8A50 01 MOV DL,BYTE PTR DS:[EAX+1]
003B59FD 3A51 01 CMP DL,BYTE PTR DS:[ECX+1]
003B5A00 75 0E JNZ SHORT 003B5A10
003B5A02 83C0 02 ADD EAX,2
003B5A05 83C1 02 ADD ECX,2
003B5A08 84D2 TEST DL,DL
003B5A0A ^ 75 E4 JNZ SHORT 003B59F0
003B5A0C 33C0 XOR EAX,EAX
003B5A0E EB 05 JMP SHORT 003B5A15
003B5A10 1BC0 SBB EAX,EAX
003B5A12 83D8 FF SBB EAX,-1
003B5A15 85C0 TEST EAX,EAX
003B5A17 74 42 JE SHORT 003B5A5B //这里必须跳
003B5A19 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
003B5A1D 52 PUSH EDX
003B5A1E 68 8CE83C00 PUSH 003CE88C ; UNICODE "M3 exception [%s]"
003B5A23 E8 68FAFFFF CALL WSLogEx
--------------------------------------------------------------------------------
【经验总结】
典型的标志位破解,注意观察程序的每个细节,说不定你就找到的破解之门。比如本程序的【unregistered】。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于吾爱破解论坛, 转载请注明作者并保持文章的完整, 谢谢!
2009年01月14日 17:12:48
|
免费评分
-
查看全部评分
|