首页
社区
课程
招聘
[旧帖] [原创]某软件 网络验证 完美解密!!! 0.00雪花
发表于: 2009-10-10 16:36 7508

[旧帖] [原创]某软件 网络验证 完美解密!!! 0.00雪花

2009-10-10 16:36
7508
软件名: 风云压力测试2009V14.0

【作者声明】: tank  没什么技术含量,
发布这个文章  只为学习!!!

内容写的 比较 详细 大家可以看下



OllyICE 载入
fy14.0

全部不理
直接 VC OPE
55   push ebp
右键搜索 Ultra String reference 选择 1 Find ASCII
然后在 Text String   寻找 中文字符串   [与服务器断开连接]
然后双击进来  
00405CEA .   68 14064200 push 00420614     ;   与服务器断开连接
现在寻找 验证的 开始地址   就是 登陆按钮 按了之后 他跳到哪里
毫不犹豫 往上拉   看到目标
00405C70    68 64054200 push 00420564                      ; /fy.fyddos.com
00405C75    FF15 78764100 call dword ptr [<&WS2_32.#52>]        ; \gethostbyname
00405C7B .   85C0       test eax, eax
00405C7D    74 67       je    short 00405CE6
00405C7F    0FBF48 0A     movsx ecx, word ptr [eax+A]
看到   /fy.fyddos.com     ; \gethostbyname
估计这里就是开始到 官方去验证的了
我看这个 地址   405C7D    74 67       je    short 00405CE6
je    short 00405CE6   地址是 如果成立跳到   00405CE6 > \6A 00       push 0 这个地址

我仔细看 00405CE6 > \6A 00       push 0 这个地址 返回的信息是: 【与服务器断开连接】
00405CEA .   68 14064200 push 00420614                      ;   与服务器断开连接
不管 3 7   21   直接 修改
405C7D    74 67       je    short 00405CE6   【je 修改成   jnz】  
这样程序 打开后   按   登陆 就是 跳到了 0405CEA   返回的信息是   与服务器断开连接
现在我们返回到
00405C70    68 64054200 push 00420564                      ; /fy.fyddos.com
00405C75    FF15 78764100 call dword ptr [<&WS2_32.#52>]        ; \gethostbyname
00405C7B .   85C0       test eax, eax
00405C7D    74 67       je    short 00405CE6
00405C7F    0FBF48 0A     movsx ecx, word ptr [eax+A]
随便选择4个   或者单选   00405C7D    74 67       je    short 00405CE6
右键选择 复制可执行文件   然后选择 选择   然后 在另外一个 窗口 选择 右键   选择 保存文件 随便另外命名 保存!
次时我们打开程序 按登录 返回的信息是   与服务器断开连接   如果你 返回的信息是这样 那表示程序正常反汇编中

这样我们还没有完全 解开 程序验证

我们在回到
00405C70    68 64054200 push 00420564                      ; /fy.fyddos.com
00405C75    FF15 78764100 call dword ptr [<&WS2_32.#52>]        ; \gethostbyname
00405C7B .   85C0       test eax, eax
00405C7D    75 67       jnz     short 00405CE6

为保证大家思路清晰 我就做的详细点
我们回到上面的地址 来到 00405C7D    75 67       jnz     short 00405CE6
按他的指示 我们往下拉

00405CE6 > \6A 00       push 0
00405CE8 .   6A 00       push 0
00405CEA .   68 14064200 push 00420614                      ;   与服务器断开连接

现在我们在   00405CEA .   68 14064200 push 00420614                      ;   与服务器断开连接
继续往下拉   因为程序是 一直往下跑的 不可能往回走 只要我们一一突破程序 就可以完美跳过验证
我们继续往下来
来到这里  
教大家随便分析下程序的 思路   高手就不要看了
来到了 00405D1F    75 35       jnz     short 00405D56
如果   jnz     short 00405D56 这句话我们不修改 他返回的信息就是 账户密码错误
我们把 jnz     short 00405D56 修改   je     short 00405D56
大家在次可以了解下 汇编指令 【   JE/JZ   等于转移. JNE/JNZ 不等于时转移. 】
按 程序思路   程序跑到   00405D28    75 0A       jnz     short 00405D34
00405D28    75 0A       jnz     short 00405D34 调转到的地址是 00405D34 6A 00     push 0
00405D34    6A 00       push 0   返回的执行的信息是  
00405D34    6A 00       push 0
00405D36    6A 00       push 0
00405D38 .   68 FC054200 push 004205FC                      ;   连接服务器超时 状态:2

00405D1C .   83F8 FF    cmp     eax, -1
00405D1F    75 35       jnz     short 00405D56
00405D21    FFD5       call ebp
00405D23 .   3D 33270000 cmp     eax, 2733
00405D28    75 0A       jnz     short 00405D34
00405D2A    6A 32       push 32                            ; /Timeout = 50. ms
00405D2C    FF15 B4704100 call dword ptr [<&KERNEL32.Sleep>] ; \Sleep
00405D32 ^ EB D9       jmp     short 00405D0D
00405D34    6A 00       push 0
00405D36    6A 00       push 0
00405D38 .   68 FC054200 push 004205FC                      ;   连接服务器超时 状态:2
00405D3D .   8BCB       mov     ecx, ebx
按照 刚才的 思路
随便选择4个   或者单选   00405D1F     /74 35       je    short 00405D56
右键选择 复制可执行文件   然后选择 选择   然后 在另外一个 窗口 选择 右键   选择 保存文件 随便另外命名 保存!
次时我们打开程序 按登录 返回的信息是   :连接服务器超时 状态:2
--------------
然后 我们在 继续返回程序 继续分析
我继续按程序的路线 往下拉
我们从 00405D38 .   68 FC054200 push 004205FC                      ;   连接服务器超时 状态:2
开始 往下看

看到
00405D6B    83F8 FF    cmp     eax, -1
00405D6E    74 35       jnz    short 00405DA5
00405D70    FFD5       call ebp
00405D72    3D 33270000 cmp     eax, 2733
00405D77    75 0A       jnz     short 00405D83
00405D79    6A 32       push 32                            ; /Timeout = 50. ms
00405D7B .   FF15 B4704100 call dword ptr [<&KERNEL32.Sleep>] ; \Sleep
00405D81 .^ EB D9       jmp     short 00405D5C
00405D83 >   6A 00       push 0
00405D85 .   6A 00       push 0
00405D87 .   68 E4054200 push 004205E4                      ;   连接服务器超时 状态:3
00405D8C .   8BCB       mov     ecx, ebx
此段 代码
完全跟   我们分析的第 二段 完全类似
我们一样 这样修改  
00405D6E    74 35       jnz    short 00405DA5 修改 00405D6E    74 35       je    short 00405DA5
然后保存 软件 修改执行   运行程序 返回的信息是   连接服务器超时 状态:3

跟 第二次代码 雷同
这样程序以跳过了 三个程序 验证

我们继续往下看   从  
00405D87 .   68 E4054200 push 004205E4                      ;   连接服务器超时 状态:3
往下看
发现关键点

00405D9E .   81C4 98030000 add     esp, 398
00405DA4 .   C3          retn
00405DA5 >   817C24 64 1D1>cmp     dword ptr [esp+64], 151D
00405DAD    74 1B       je    short 00405DCA
00405DAF .   6A 00       push 0
00405DB1 .   8D4C24 70     lea     ecx, dword ptr [esp+70]

按思路分析 00405DAD    74 1B       je    short 00405DCA
就是关键点 准没错了
因为已经跳过所有验证 这里 突破就 完美进入程序了
我们尝试下  
00405DAD    74 1B       je    short 00405DCA 修改 00405DAD    74 1B       jnz    short 00405DCA
然后保存程序运行下看  
OK 程序完美进入   好了 到次结束
按照有长期 解密技术的人而言 相信程序1-2分钟就完成 当然我也才看了 3分钟!
既然选择写个文章 我认为就要写的详细点 这样好让一些朋友思路清晰
好了 多了也不说了   我是 TANK

下载地址 1 :       http://e.ys168.com/?netbotattacker   

下载地址 2 :       http://down.qiannao.com/space/fi ... 2009V14.0.rar/.page

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (25)
雪    币: 249
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有点乱 睡觉先 = =  明天再看
2009-10-11 03:21
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
说的很详细,但是初学,看懂还有困难
2009-10-11 04:20
0
雪    币: 154
活跃值: (40)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
请问可以攻击吗
2009-10-11 10:41
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
只用于研究 !!!
2009-10-12 17:46
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
新手~看不懂~~~
2009-10-13 10:03
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好 我去试试令一款软件 我以为网络验证难搞呢 就放弃了 回头再看看去 呵呵
2009-10-14 22:17
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
已经很不错啦,  对我们新手来说还得细嚼慢咽咯。
2009-10-14 23:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
已经很不错啦,  对我们新手来说还得细嚼慢咽咯。
2009-10-16 11:05
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
xiexie
2009-10-16 14:34
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢提供详细分析,标记学习
2009-10-17 22:34
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
呵呵!
2009-10-19 14:48
0
雪    币: 249
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有点乱  看不太懂,  很少看破文
2009-10-21 07:00
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
2009-10-26 18:46
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
感谢,学习了.
2009-10-26 23:53
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习中。。
2009-10-27 00:11
0
雪    币: 433
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
说的很详细,但是初学,看懂还有困难 。
2009-10-28 12:47
0
雪    币: 273
活跃值: (64)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
18
哈哈,没有人真正的会做教程的,又是东莞人,你们那里的人牛的好多啊
2009-10-28 13:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
慢慢研究吧。
2009-10-29 09:44
0
雪    币: 124
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
LZ网盘里不少东东。。。
2009-10-29 20:05
0
雪    币: 474
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
这个网络验证真简单
直接跳过去就可以
2009-10-29 21:06
0
雪    币: 290
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
现在这样的网络验证估计很少了……
2009-10-31 18:39
0
雪    币: 110
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学学了
2009-10-31 21:06
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
=  =||
新手~~
我还是去看点更基础的吧~
2009-11-1 09:44
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
写的真不错,思路清晰,详细。多谢。这样的帖子难得啊,抓住机会好好学习一下。希望LZ以后多出这样的帖子。
2009-11-1 09:56
0
游客
登录 | 注册 方可回帖
返回
//