飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 15421|回复: 21

[原创] 一种破解思路

[复制链接]
  • TA的每日心情
    擦汗
    2024-10-29 12:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2007-3-27 10:42:15 | 显示全部楼层 |阅读模式
    【文章标题】: 一种破解思路
    【软件名称】: 国产某游戏平台
    【软件大小】: 2544KB
    【下载地址】: 无
    【加壳方式】: 无
    【保护方式】: 无
    【编写语言】: Microsoft Visual C++ 6.0 [Overlay]
    【使用工具】: OD
    【操作平台】: WinXP
    【软件介绍】: 游戏平台
    【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------------------------
    【详细过程】
      一种简易下断方法
      
      1、Peid检测为Microsoft Visual C++ 6.0 [Overlay],查区段存在.ecode
      2、OD载入运行,Alt+E模块中含E语言模块,常规方法容易迷失在E语言模块空间中,故另寻它路
      3、点注册,输入假码,Alt+M打开内存空间,在.ecode区段下访问中断,点注册程序中断如下
      
      
      004615CC    55              push    ebp                              ; OD中断于此
      004615CD    8BEC            mov     ebp, esp
      004615CF    81EC 10000000   sub     esp, 10
      004615D5    C745 FC 0000000>mov     dword ptr [ebp-4], 0
      004615DC    C745 F8 0000000>mov     dword ptr [ebp-8], 0
      004615E3    6A FF           push    -1
      004615E5    6A 08           push    8
      004615E7    68 D30A0116     push    16010AD3
      004615EC    68 30020152     push    52010230
      004615F1    E8 B77D0000     call    004693AD                         ; 取假码
      004615F6    83C4 10         add     esp, 10
      004615F9    8945 F4         mov     dword ptr [ebp-C], eax
      004615FC    68 66944000     push    00409466
      00461601    FF75 F4         push    dword ptr [ebp-C]
      00461604    E8 F637FFFF     call    00454DFF
      00461609    83C4 08         add     esp, 8
      0046160C    83F8 00         cmp     eax, 0
      0046160F    B8 00000000     mov     eax, 0
      00461614    0F95C0          setne   al
      00461617    8945 F0         mov     dword ptr [ebp-10], eax
      0046161A    8B5D F4         mov     ebx, dword ptr [ebp-C]
      0046161D    85DB            test    ebx, ebx
      0046161F    74 09           je      short 0046162A
      00461621    53              push    ebx
      00461622    E8 6E7D0000     call    00469395
      00461627    83C4 04         add     esp, 4
      0046162A    837D F0 00      cmp     dword ptr [ebp-10], 0
      0046162E    0F84 58030000   je      0046198C
      00461634    68 00000000     push    0
      00461639    BB C4060000     mov     ebx, 6C4
      0046163E    E8 5E7D0000     call    004693A1                         ; 计算机器码
      00461643    83C4 04         add     esp, 4
      00461646    8945 FC         mov     dword ptr [ebp-4], eax
      00461649    837D FC 00      cmp     dword ptr [ebp-4], 0
      0046164D    0F84 94010000   je      004617E7
      00461653    68 01030080     push    80000301
      00461658    6A 00           push    0
      0046165A    68 AF727B0C     push    0C7B72AF
      0046165F    68 01030080     push    80000301
      00461664    6A 00           push    0
      00461666    FF75 FC         push    dword ptr [ebp-4]
      00461669    68 02000000     push    2
      0046166E    BB CC000000     mov     ebx, 0CC
      00461673    E8 297D0000     call    004693A1                         ; 关键call,计算真码
      00461678    83C4 1C         add     esp, 1C
      0046167B    68 01030080     push    80000301
      00461680    6A 00           push    0
      00461682    50              push    eax
      00461683    68 01000000     push    1
      00461688    BB 68010000     mov     ebx, 168
      0046168D    E8 0F7D0000     call    004693A1
      00461692    83C4 10         add     esp, 10                          ; 此处可作内存注册机
      00461695    8945 F0         mov     dword ptr [ebp-10], eax
      00461698    8B45 F0         mov     eax, dword ptr [ebp-10]
      0046169B    50              push    eax
      0046169C    8B5D F8         mov     ebx, dword ptr [ebp-8]
      0046169F    85DB            test    ebx, ebx
      004616A1    74 09           je      short 004616AC
      004616A3    53              push    ebx
      004616A4    E8 EC7C0000     call    00469395
      004616A9    83C4 04         add     esp, 4
      004616AC    58              pop     eax
      004616AD    8945 F8         mov     dword ptr [ebp-8], eax
      004616B0    6A FF           push    -1
      004616B2    6A 08           push    8
      004616B4    68 D30A0116     push    16010AD3
      004616B9    68 30020152     push    52010230
      004616BE    E8 EA7C0000     call    004693AD
      004616C3    83C4 10         add     esp, 10
      004616C6    8945 F4         mov     dword ptr [ebp-C], eax
      004616C9    8B45 F8         mov     eax, dword ptr [ebp-8]
      004616CC    50              push    eax
      004616CD    FF75 F4         push    dword ptr [ebp-C]
      004616D0    E8 2A37FFFF     call    00454DFF                         ; 真假码比较
      004616D5    83C4 08         add     esp, 8
      004616D8    83F8 00         cmp     eax, 0
      004616DB    B8 00000000     mov     eax, 0
      004616E0    0F94C0          sete    al
      004616E3    8945 F0         mov     dword ptr [ebp-10], eax
      004616E6    8B5D F4         mov     ebx, dword ptr [ebp-C]
      004616E9    85DB            test    ebx, ebx
      004616EB    74 09           je      short 004616F6
      004616ED    53              push    ebx
      004616EE    E8 A27C0000     call    00469395
      004616F3    83C4 04         add     esp, 4
      004616F6    837D F0 00      cmp     dword ptr [ebp-10], 0
      004616FA    0F84 A4000000   je      004617A4                         ; 关键跳
      00461700    68 04000080     push    80000004
      00461705    6A 00           push    0
      00461707    8B45 F8         mov     eax, dword ptr [ebp-8]
      0046170A    85C0            test    eax, eax
      
      
    --------------------------------------------------------------------------------
    【经验总结】
      1、VC++与E语言混合编程,直接在相应区段下断能快速定位到注册算法处
      2、此方法是否可推而广之,未及测试,还请各位大侠多多指教:)
      
    --------------------------------------------------------------------------------
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-3-30 15:16:20 | 显示全部楼层
    不能算新 多年前就有了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-4-21 20:51
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2007-12-5 16:18:39 | 显示全部楼层
    再学习一下。哈哈。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-5 17:32:50 | 显示全部楼层
    学习了,还可以用F12暂停法!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-14 21:13:41 | 显示全部楼层
    不晓得这种方法的适用范围?.
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-12-16 15:39
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-12-15 14:43:49 | 显示全部楼层
    这种方法没弄过,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-15 14:47:45 | 显示全部楼层
    E语言现在也这样强大,很值得期待。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-18 15:17:58 | 显示全部楼层
    再学习一下/:001 /:001
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-12-6 20:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-9-18 16:24:07 | 显示全部楼层
    【经验总结】
      1、VC++与E语言混合编程,直接在相应区段下断能快速定位到注册算法处
      2、此方法是否可推而广之,未及测试,还请各位大侠多多指教:)
    易现在的功能已经很强了,易和VC太像了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-20 20:17:34 | 显示全部楼层
    很久以前的东西了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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