首页
社区
课程
招聘
[旧帖] 求教一个Delphi程序的破解思路 没头绪了。。 0.00雪花
发表于: 2009-11-29 16:54 6879

[旧帖] 求教一个Delphi程序的破解思路 没头绪了。。 0.00雪花

2009-11-29 16:54
6879
本人新手 接触破解二三天了,是因为想破解这个外挂才接触的,接触之后发现挺好玩的

可惜没什么基础  当年 没念完初中就跑出来了 言归正题吧

这个外挂是用Delphi写的 包括了这几个文件 hook_xc.dll main.dat  

xcocr.dat 外挂.exe 除了外挂exe没加壳 其他三个都加了 ASPack 2.12

该外挂没试用 网络验证的 输入帐号或者直接选择绑机后 就按登陆 就返回响应了

之前一段时间 直接用OD来调试 外挂.exe 但总是程序刚出来 OD就显示程序已退出

然后就无法调试了。。又尝试是不是挂接hook_xc.dll,结果也不是,最后把main.dat后缀修改为

exe才发现这个才是隐藏的主程序。。。上网一查main就是主要是意思 汗-。-

该程序选择登陆之后 没注册的话 会弹出一个窗口 标题为注意 内容是末注册用户 然后有一

个确定按钮。。 偶用F12堆栈调用法 查不到相关消息窗口的函数。。都是来自系统USER32的

然后用 PE Explorer 查RC 也找不到上面提示的信息的窗口 再用DEDE 版本号这里显

示是为空的。。 在窗体和过程中也是空白的 偶是怀疑是不是隐藏在那个控件之中 就用PE

Explorer找了三个事件按钮 Button1Click  Button5Click  PopupMenu1 再用

WinHex 找到了事件地址。OD下断 结果也不是。。 再按某位大大写的按钮事件的查找

一共下了七八个CALL的中断 结果也不是-。- 查字符串又全是乱码

用OD慢慢调试  就找到了验证IP和URL 可是为灰色的 不能修改

上网找了好久 没相关的资料 请问各位大大  还有那一种方法可以一试么?

因为是新手 实在太菜了 用OD慢慢调试好久了 差不多碰到那一个CALL都进去看过

结果实在不知道里面写的是什么意思 -。-

另外 刚才调试过程中 好像返回信息是从这个xcocr.dat返回的 因为那个时候 看虚拟地址 

都是在系统的领空 偶把xcocr.dat修改后缀 结果是无效的WIN32程序 OD可以载入 单步

跟踪一下 但很容易就退出了  偶之前在外挂exe上有些怀疑是关键CALL的注释 结果在这

个xcocr.dat里显示   请问各位大大  还有那一种方法可以一试么?谢谢了

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 43
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
-。- 等到现在也没人来指个方向  是偶的提问有问题还是论坛的规则? 又跑了一晚上

试了用防火墙提示的方法 也不行 也许是偶理解不好吧 

请问下  下面的代码就是 网络验证的模块了么? 如果是的话 那么一样情况下就这一块

还是还有其他的?

004B1BFC  /$  C605 8CF55400>MOV     BYTE PTR DS:[54F58C], 0
004B1C03  |.  A1 F0215500   MOV     EAX, DWORD PTR DS:[5521F0]
004B1C08  |.  8338 02       CMP     DWORD PTR DS:[EAX], 2
004B1C0B  |.  0F85 C4010000 JNZ     ********.004B1DD5
004B1C11  |.  A1 B8185500   MOV     EAX, DWORD PTR DS:[5518B8]
004B1C16  |.  8338 05       CMP     DWORD PTR DS:[EAX], 5
004B1C19  |.  0F8C B6010000 JL      ********.004B1DD5
004B1C1F  |.  E8 C872FFFF   CALL    ********.004A8EEC
004B1C24  |.  84C0          TEST    AL, AL
004B1C26  |.  75 05         JNZ     SHORT ********.004B1C2D
004B1C28  |.  E8 CB72FFFF   CALL    ********.004A8EF8
004B1C2D  |>  E8 B272FFFF   CALL    ********.004A8EE4
004B1C32  |.  A3 94F55400   MOV     DWORD PTR DS:[54F594], EAX
004B1C37  |.  68 D81D4B00   PUSH    ********.004B1DD8                                  ;  UNICODE "GetAddrInfoW"
004B1C3C  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1C41  |.  50            PUSH    EAX
004B1C42  |.  E8 E97EF5FF   CALL    ********.00409B30
004B1C47  |.  A3 58F55400   MOV     DWORD PTR DS:[54F558], EAX
004B1C4C  |.  833D 58F55400>CMP     DWORD PTR DS:[54F558], 0
004B1C53  |.  75 33         JNZ     SHORT ********.004B1C88
004B1C55  |.  BA 00800000   MOV     EDX, 8000
004B1C5A  |.  B8 001E4B00   MOV     EAX, ********.004B1E00                             ;  UNICODE "Wship6.dll"
004B1C5F  |.  E8 6839F6FF   CALL    ********.004155CC
004B1C64  |.  A3 90F55400   MOV     DWORD PTR DS:[54F590], EAX
004B1C69  |.  A1 90F55400   MOV     EAX, DWORD PTR DS:[54F590]
004B1C6E  |.  A3 94F55400   MOV     DWORD PTR DS:[54F594], EAX
004B1C73  |.  68 D81D4B00   PUSH    ********.004B1DD8                                  ;  UNICODE "GetAddrInfoW"
004B1C78  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1C7D  |.  50            PUSH    EAX
004B1C7E  |.  E8 AD7EF5FF   CALL    ********.00409B30
004B1C83  |.  A3 58F55400   MOV     DWORD PTR DS:[54F558], EAX
004B1C88  |>  833D 58F55400>CMP     DWORD PTR DS:[54F558], 0
004B1C8F  |.  0F84 3B010000 JE      ********.004B1DD0
004B1C95  |.  68 181E4B00   PUSH    ********.004B1E18                                  ;  UNICODE "GetNameInfoW"
004B1C9A  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1C9F  |.  50            PUSH    EAX
004B1CA0  |.  E8 8B7EF5FF   CALL    ********.00409B30
004B1CA5  |.  A3 5CF55400   MOV     DWORD PTR DS:[54F55C], EAX
004B1CAA  |.  833D 5CF55400>CMP     DWORD PTR DS:[54F55C], 0
004B1CB1  |.  0F84 19010000 JE      ********.004B1DD0
004B1CB7  |.  68 341E4B00   PUSH    ********.004B1E34                                  ;  UNICODE "FreeAddrInfoW"
004B1CBC  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1CC1  |.  50            PUSH    EAX
004B1CC2  |.  E8 697EF5FF   CALL    ********.00409B30
004B1CC7  |.  A3 60F55400   MOV     DWORD PTR DS:[54F560], EAX
004B1CCC  |.  833D 60F55400>CMP     DWORD PTR DS:[54F560], 0
004B1CD3  |.  0F84 F7000000 JE      ********.004B1DD0
004B1CD9  |.  C605 8CF55400>MOV     BYTE PTR DS:[54F58C], 1
004B1CE0  |.  68 501E4B00   PUSH    ********.004B1E50                                  ;  UNICODE "InetPtonW"
004B1CE5  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1CEA  |.  50            PUSH    EAX
004B1CEB  |.  E8 407EF5FF   CALL    ********.00409B30
004B1CF0  |.  A3 64F55400   MOV     DWORD PTR DS:[54F564], EAX
004B1CF5  |.  68 641E4B00   PUSH    ********.004B1E64                                  ;  UNICODE "InetNtopW"
004B1CFA  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1CFF  |.  50            PUSH    EAX
004B1D00  |.  E8 2B7EF5FF   CALL    ********.00409B30
004B1D05  |.  A3 68F55400   MOV     DWORD PTR DS:[54F568], EAX
004B1D0A  |.  68 781E4B00   PUSH    ********.004B1E78                                  ;  UNICODE "GetAddrInfoExW"
004B1D0F  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1D14  |.  50            PUSH    EAX
004B1D15  |.  E8 167EF5FF   CALL    ********.00409B30
004B1D1A  |.  A3 6CF55400   MOV     DWORD PTR DS:[54F56C], EAX
004B1D1F  |.  68 981E4B00   PUSH    ********.004B1E98                                  ;  UNICODE "SetAddrInfoExW"
004B1D24  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1D29  |.  50            PUSH    EAX
004B1D2A  |.  E8 017EF5FF   CALL    ********.00409B30
004B1D2F  |.  A3 70F55400   MOV     DWORD PTR DS:[54F570], EAX
004B1D34  |.  68 B81E4B00   PUSH    ********.004B1EB8                                  ;  UNICODE "FreeAddrInfoExW"
004B1D39  |.  A1 94F55400   MOV     EAX, DWORD PTR DS:[54F594]
004B1D3E  |.  50            PUSH    EAX
004B1D3F  |.  E8 EC7DF5FF   CALL    ********.00409B30
004B1D44  |.  A3 74F55400   MOV     DWORD PTR DS:[54F574], EAX
004B1D49  |.  BA 00800000   MOV     EDX, 8000
004B1D4E  |.  B8 E41E4B00   MOV     EAX, ********.004B1EE4                             ;  UNICODE "Fwpuclnt.dll"
004B1D53  |.  E8 7438F6FF   CALL    ********.004155CC
004B1D58  |.  A3 98F55400   MOV     DWORD PTR DS:[54F598], EAX
004B1D5D  |.  833D 98F55400>CMP     DWORD PTR DS:[54F598], 0
004B1D64  |.  74 6F         JE      SHORT ********.004B1DD5
004B1D66  |.  68 001F4B00   PUSH    ********.004B1F00                                  ;  UNICODE

"WSASetSocketPeerTargetName"
004B1D6B  |.  A1 98F55400   MOV     EAX, DWORD PTR DS:[54F598]
004B1D70  |.  50            PUSH    EAX
004B1D71  |.  E8 BA7DF5FF   CALL    ********.00409B30
004B1D76  |.  A3 78F55400   MOV     DWORD PTR DS:[54F578], EAX
004B1D7B  |.  68 381F4B00   PUSH    ********.004B1F38                                  ;  UNICODE

"WSADeleteSocketPeerTargetName"
004B1D80  |.  A1 98F55400   MOV     EAX, DWORD PTR DS:[54F598]
004B1D85  |.  50            PUSH    EAX
004B1D86  |.  E8 A57DF5FF   CALL    ********.00409B30
004B1D8B  |.  A3 7CF55400   MOV     DWORD PTR DS:[54F57C], EAX
004B1D90  |.  68 741F4B00   PUSH    ********.004B1F74                                  ;  UNICODE "WSAImpersonateSocketPeer"
004B1D95  |.  A1 98F55400   MOV     EAX, DWORD PTR DS:[54F598]
004B1D9A  |.  50            PUSH    EAX
004B1D9B  |.  E8 907DF5FF   CALL    ********.00409B30
004B1DA0  |.  A3 80F55400   MOV     DWORD PTR DS:[54F580], EAX
004B1DA5  |.  68 A81F4B00   PUSH    ********.004B1FA8                                  ;  UNICODE "WSAQuerySocketSecurity"
004B1DAA  |.  A1 98F55400   MOV     EAX, DWORD PTR DS:[54F598]
004B1DAF  |.  50            PUSH    EAX
004B1DB0  |.  E8 7B7DF5FF   CALL    ********.00409B30
004B1DB5  |.  A3 84F55400   MOV     DWORD PTR DS:[54F584], EAX
004B1DBA  |.  68 D81F4B00   PUSH    ********.004B1FD8                                  ;  UNICODE "WSARevertImpersonation"
004B1DBF  |.  A1 98F55400   MOV     EAX, DWORD PTR DS:[54F598]
004B1DC4  |.  50            PUSH    EAX
004B1DC5  |.  E8 667DF5FF   CALL    ********.00409B30
004B1DCA  |.  A3 88F55400   MOV     DWORD PTR DS:[54F588], EAX
004B1DCF  |.  C3            RETN
004B1DD0  |>  E8 A7FDFFFF   CALL    ********.004B1B7C
004B1DD5  \>  C3            RETN
2009-11-30 00:00
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
PE Explorer查找按钮事件名字(其实用spy++ lite v2.4这个工具查找更快)

然后在DEDE中找按钮对应的地址  在OD中下断~跟踪
2009-11-30 12:54
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
我还没学会电脑怎么使用你呢,谁告诉我怎么进美国中央情报局?

为什么不拿别人的已经做过的破解过程来练习,偏要动比较麻烦的东西来?
2009-11-30 13:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我看的一头雾水
2009-11-30 13:59
0
雪    币: 229
活跃值: (28)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
这个是仙剑娃娃??? 貌似dede 不能识别他是Delphi 的 所以没用 我也在破这个 …………
2009-12-1 18:19
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哈哈,顶4L论坛很多这样的人
2009-12-1 18:27
0
雪    币: 43
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
不是仙剑娃娃 弄到现在 发现一个解决的办法  用DLL注入 在验证服务器返回错误信息给程序之前 替换成正确

信息 偶是新手 虽然一开始的确是不应该去破解之些有难度的程序 应该从基础开始  但个人而言 偶是了解偶

自己的 新手的教程 偶也看不了少 破解过的教程也看了不少 按动画所教的的确看容易  但没有自己的思想

再加上吧 贫民一个 的确没闲钱去买那些VIP的教程  看技术文档吧 还在头大的阶段  免费动画的吧 基本都是

过时了的 前这二天在弄ZProtect 1.4X的一个程序 弄了二天才知道用IPK可以跳过注册窗口 也上网查了好久

但基本没直接的IPK.dll来下载 偶找到了一个ASM的源码 然后做成DLL 但放在那ZProtect 的程序下还是跳不过

用OD的执行模块来加载之后就行了 今晚就是想脱了这个的壳 而这个ZProtect 的程序 就是偶想破的那个外挂

有人破了 这个就是破解程序 也是收费的 而且没试用  所以说 偶现阶段基本是围绕这个外挂来学习

虽然不懂的东西实在太多 但也在一步一步学习之中 脱了这个的壳之后 下一步就是用VC来看下人家是怎么写这

个过程的  然后可能再破几个外挂吧 再学一段时间Delphi和汇编 暂时是这样的打算 大家都知道破解是一个很

枯燥的过程  如果不是从自己感兴趣的地方做起 那来的吸引力 实际上偶从04年吧 就知道有看雪了 也注册有ID

那时的爱好是网络相关的 但没多久 生活原因吧 就没时间去摸了 就一直到了现在 呵呵
2009-12-2 19:18
0
雪    币: 163
活跃值: (103)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
网上的教材最好不要买,应该自学
2009-12-2 19:25
0
游客
登录 | 注册 方可回帖
返回
//