阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 2146|回复: 2

[原创] 速达财务PRO 6.20 跟踪调试

[复制链接]
  • TA的每日心情

    2017-12-9 12:47
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2009-2-24 13:04:48 | 显示全部楼层 |阅读模式
    07年的时候做过一次,不过后来程序没留。
    昨天,朋友拿来让弄一下。于是顺便留下这么一篇文字。
    =======================
    速达的程序都是没有壳也没有压缩的,所以直接用OD载入,
    第一步就是要找到加密狗提示的地方,搜索ASCII文字。找到加密锁提示的那段。
    00416491  |.  E8 4ACC0700   CALL sdcwpros.004930E0
    00416496      84C0          TEST AL,AL       //这里的判断是有没有狗,没有,那么AL的值是0。则跳出提示。那么查找狗判断狗的那段就是上面的CALL
    00416498      74 62         JE SHORT sdcwpros.004164FC

    0041649A  |.  E8 11EFFFFF   CALL sdcwpros.004153B0
    0041649F  |.  84C0          TEST AL,AL
    004164A1  |.  75 08         JNZ SHORT sdcwpros.004164AB
    004164A3  |.  E8 B8CF0700   CALL sdcwpros.00493460
    004164A8  |.  48            DEC EAX
    004164A9  |.  74 11         JE SHORT sdcwpros.004164BC
    004164AB  |>  E8 00EFFFFF   CALL sdcwpros.004153B0
    ……
    004164F7  |. /E9 FF000000   JMP sdcwpros.004165FB
    004164FC  |> |6A 10         PUSH 10
    004164FE  |. |68 11F85C00   PUSH sdcwpros.005CF811                   ;  错误
    00416503  |. |66:C745 D8 08>MOV WORD PTR SS:[EBP-28],8
    00416509  |. |8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    0041650C  |. |E8 3BBEFEFF   CALL sdcwpros.0040234C
    00416511  |. |50            PUSH EAX
    00416512  |. |FF45 E4       INC DWORD PTR SS:[EBP-1C]
    00416515  |. |8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    00416518  |. |E8 2FBEFEFF   CALL sdcwpros.0040234C
    0041651D  |. |50            PUSH EAX                                 ; /Arg1
    0041651E  |. |FF45 E4       INC DWORD PTR SS:[EBP-1C]                ; |
    00416521  |. |E8 36F4FFFF   CALL sdcwpros.0041595C                   ; \sdcwpros.0041595C
    00416526  |. |59            POP ECX
    00416527  |. |8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    0041652A  |. |B8 1AF75C00   MOV EAX,sdcwpros.005CF71A                ;  《
    0041652F  |. |59            POP ECX
    00416530  |. |E8 9F621400   CALL sdcwpros.0055C7D4
    00416535  |. |8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    00416538  |. |52            PUSH EDX
    00416539  |. |8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    0041653C  |. |E8 0BBEFEFF   CALL sdcwpros.0040234C
    00416541  |. |50            PUSH EAX
    00416542  |. |FF45 E4       INC DWORD PTR SS:[EBP-1C]
    00416545  |. |BA 1DF75C00   MOV EDX,sdcwpros.005CF71D                ;  》未检测到加密锁,可能是以下原因引起的,请您确认:\n\n\n\n  1、是否已在usb接口上插入加密锁,如果已插,建议您更换usb接口再试一次;\n\n  2、您的加密锁需要升级,需有偿更换新的加密锁,请与我们联系(020-87384088);\n\n  3、请检查您购买的软件是否是正版软件!
    0041654A  |. |8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    0041654D  |. |E8 CE591400   CALL sdcwpros.0055BF20
    00416552  |. |FF45 E4       INC DWORD PTR SS:[EBP-1C]
    00416555  |. |8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
    =========================

    调试的时候进入那个CALL中。

    00493335  |. /75 04         JNZ SHORT sdcwpros.0049333B
    00493337     |33C0          XOR EAX,EAX  //没有狗最终会走到这一步,这个地方,NOP掉它或者test eax,eax,,,这样在上面判断al的时候,al的值就不是0了。
    00493339  |. |EB 05         JMP SHORT sdcwpros.00493340
    0049333B  |> \B8 01000000   MOV EAX,1
    00493340  |>  50            PUSH EAX
    00493341  |.  FF4D EC       DEC DWORD PTR SS:[EBP-14]
    00493344  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    00493347  |.  BA 02000000   MOV EDX,2
    0049334C  |.  E8 F78D0C00   CALL sdcwpros.0055C148
    ====================================
    再继续运行下去出现注册提示,如我的上篇SD7K单机版的一样,通过查找ASCII文字:注册失败可以进行操作。
    ==============================
    那么接下来就是根据关于这一步来查看一下用户数与试用版的情况。
    而这个与SD7K不同的是,关于的窗口方式,在ASCII中找不到:用户数这种相关的文字,那么可以根据窗口上相关的文字,比如:BUILD:这样的字符串。
    找到后,到过程头部设断点,跟踪它,
    在这个过程中,有四个常量:
    00493454  /$  55            PUSH EBP
    00493455  |.  8BEC          MOV EBP,ESP
    00493457      A1 34F65E00   MOV EAX,DWORD PTR DS:[5EF634]
    0049345C      5D            POP EBP
    0049345D  \.  C3            RETN
    0049345E      90            NOP
    0049345F      90            NOP
    00493460  /$  55            PUSH EBP
    00493461  |.  8BEC          MOV EBP,ESP
    00493463      A1 30F65E00   MOV EAX,DWORD PTR DS:[5EF630]            ;  (初始 cpu 选择)
    00493468  |.  5D            POP EBP
    00493469  \.  C3            RETN
    上面的这两个变量就是我们要找的那个了,一个是表示试用版的情况,一个是表示用户数的情况。
    这个地方,全改成1就可以了。
    而在这个关于窗口代码中,有两个试用版的显示,这个呢,就是关于窗口中有个图片上面的试用版显示与否的地方,与实际运行是不相关的,但是显示总不是很漂亮,于是,在这里:
    00411EF6  |.  BA 02000000   MOV EDX,2                                ; |
    00411EFB  |.  E8 48A21400   CALL sdcwpros.0055C148                   ; \sdcwpros.0055C148
    00411F00  |.  59            POP ECX
    00411F01      84C9          TEST CL,CL
    00411F03      74 4F         JE SHORT sdcwpros.00411F54
    00411F05  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    00411F08  |.  8B80 38030000 MOV EAX,DWORD PTR DS:[EAX+338]
    00411F0E  |.  B2 01         MOV DL,1
    00411F10  |.  E8 C9311B00   CALL <[email=JMP.&vcl60.@Controls@TControl@SetV]JMP.&vcl60.@Controls@TControl@SetV[/email]>
    00411F15  |.  66:C785 6CFFF>MOV WORD PTR SS:[EBP-94],50
    00411F1E  |.  BA B2D75C00   MOV EDX,sdcwpros.005CD7B2                ;  试用版
    00411F23  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
    00411F26  |.  E8 F59F1400   CALL sdcwpros.0055BF20
    00411F2B  |.  FF85 78FFFFFF INC DWORD PTR SS:[EBP-88]
    00411F31  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
    00411F33  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    在这里,需要的是CL为0才行,这样就不显示那个试用版的三个大红字。那么我们直接xor cl,cl这样,下面的JE结果就是正确的。
    ==================
    上面的几个地方,在执行文件中patch掉。
    ============================================
    结果如图显示。
    做完之后,就可以测试客户端的情况,
    如前面SD7K中所说的那样,速达对于试用版的限制就在于:财务模块的月结次数限制。这个你们可以通过直接运行试用版而知道。本程序通过月结测试了。
    SDPRO.JPG

    c_sdcwproserver.rar

    699.9 KB, 下载次数: 59

    评分

    参与人数 1阳光币 +2 收起 理由
    realciw + 2 资料分享奖励

    查看全部评分

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2021-11-11 13:21
  • 签到天数: 64 天

    [LV.6]常住居民II

    发表于 2009-2-25 17:45:15 | 显示全部楼层
    大哥,你真牛,学了很多东西
    谢谢啊
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2017-12-9 12:47
  • 签到天数: 47 天

    [LV.5]常住居民I

     楼主| 发表于 2009-4-23 06:33:34 | 显示全部楼层
    置顶里面的那个7000T的很多人不明白,可以看看这一篇。
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表