能力值:
( LV5,RANK:60 )
|
-
-
2 楼
先脱壳拉
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
不好意思的是我搞的是个游戏外挂
启动软件 跳出对话框 要求输入用户名和密码
通过网络验证 正确 则跳出另一个框 显示 您还可以使用XX天
错误 则跳出另一个框 报错
启动游戏后 经过一段时间 软件会检查是否超过时限 应该是从网络验证的,因为如果网络不通 虽然有时间 一样会关闭游戏,不过这个先不管 先想办法让外挂可以启动再说
VB6编写
脱壳后可以正常使用
静态反汇编 查找 字符 找不到
动态跟到跳出对话框的地方 就进了一个USER32 的CALL,不论正确与否 都在这个CALL里,断点设DialogBoxParamA MessageBoxA 都拦不住。。。
我的思路是 在跳出正确也好不正确也好的对话框前面下断 因为是网络验证嘛 跟找注册码不大一样 他比较的应该是网络传回来的数据 甚至只是根据网络传回来的数据做命令 决定是否允许使用
(暂时不管他启动后的定时的验证)
大概流程就这样 不知道这个思路是否可行。。。 有人指点下吗
现在我正在他CALL的USER32里转呢 郁闷
对了 我用的OD 等下我换SOFTICE试验下
呵呵 不是寻求破解啊 当然有人破了更好 不过自己动手丰衣足食
谢谢看雪学院 我基本东西都在这里学的 另: 下工具可以去白菜乐园,在这里看好了去白菜下,白菜下载的速度还是很快的
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
网络验证一般可在send及resv下断,跟踪数据的处理即很容易破解。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
最初由 lwx129 发布 网络验证一般可在send及resv下断,跟踪数据的处理即很容易破解。
的确找到send及resv这两个函数,但我只知道这是用来发送和接收信息的,能不能具体说一下它们的参数和返回值。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
密切关注ing
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
用OD调试应该可以看得很清楚
00402247 . 6A 00 PUSH 0 ; /Flags = 0
00402249 . 8D5424 2C LEA EDX,DWORD PTR SS:[ESP+2C] ; |
0040224D . 6A 0E PUSH 0E ; |DataSize = E (14.)
0040224F . 52 PUSH EDX ; |Data
00402250 . 50 PUSH EAX ; |Socket
00402251 . E8 74410000 CALL <JMP.&ws2_32.send> ; \send
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
跟据lwx129的提示,总算找到了RECV接收到数据的存方位置,我还跟踪到程序把数据复制到另一处,虽然离破解还有很多路,但总是一个好的开始。
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
先用iris sinffer一下
大体知道它从那里验证的
这个一般只能nop掉了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
最初由 larblue 发布 先用iris sinffer一下 大体知道它从那里验证的 这个一般只能nop掉了
能说清楚点吗?我一点没看懂
iris sinffer是什么意思?
nop掉又是什么意思?
|
能力值:
(RANK:650 )
|
-
-
11 楼
最初由 祝蜚 发布
能说清楚点吗?我一点没看懂 iris sinffer是什么意思? nop掉又是什么意思?
iris是一截包工具 sniffer是截包的意思
nop是指令,表示什么也不做
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
最初由 shoooo 发布
iris是一截包工具 sniffer是截包的意思 nop是指令,表示什么也不做
如此译文如下:
先用截包工具“iris” 截包看看
大体知道它从那里验证的
这个一般只能“空”掉了
还是看的我一头雾水。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
大概是这样的:
recv 函数收到数据后,你的外挂就开始处理数据。
当中会有判断数据是否正确的指令
然后把那条(也许几条)替换成NOP,也就是什么都不做。
也就是爆破
NOP: No Operation 不操作
可以用OD跟踪试试
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
呵呵。又学了一点哈
|
能力值:
( LV9,RANK:330 )
|
-
-
15 楼
最初由 EndlessCrash 发布 大概是这样的: recv 函数收到数据后,你的外挂就开始处理数据。 当中会有判断数据是否正确的指令 然后把那条(也许几条)替换成NOP,也就是什么都不做。
........
看你的头像,像一天才儿童啊!呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
这样的软件一般都是用TNT解决的
|
能力值:
( LV5,RANK:60 )
|
-
-
17 楼
验证的时候用od站停一下
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
最初由 EndlessCrash 发布 大概是这样的: recv 函数收到数据后,你的外挂就开始处理数据。 当中会有判断数据是否正确的指令 然后把那条(也许几条)替换成NOP,也就是什么都不做。
........
明白了,其实以前也知道NOP就是空指令,机器码90,前面那位大侠说的比较简略,所以没看明白。
我不会用OD,是用TRW2000动态跟踪和C32ASM静态分析,由于不熟,只能用笨方法,先下断bpx recv,断下后再在recv这个函数的前面下断,再重数运行程序,看看它的参数,从而知道接收的数据大小(80H)和存放的位置。接着又重新运行程序,再下断bpx recv,断下后再下断点bpm,在数据被读时断下,这样就找到recv数据被处理的位置,然后在c32asm中把整个call复制下来,存在文档里一句一句加上注解,这样分析了几个call,发现数据被复制到另一处,接着又复制到另一处,再接着一个call可能是处理数据的关键call,因为我看不太懂,破解暂时就进行到这里。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
……谁家外挂怎么差劲,简简单单就被破解了.
一般来说,网络验证外挂的算法如果看不懂,破解的希望不是很大。
不过也有特例:)
我觉得网络验证和加密狗有些类似:)
大家觉得呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
可以封包
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
学到了!!
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
回老家了一直瞎忙,才得空上来看了看
很受启发,嘿嘿 忙过了初一就去实验,我觉得这个是一种验证趋势,学好了可能会大有用处的 :)
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
都快一个月了,这么久还是没破开(不过对反汇编代码有了更深的了解),觉得很难再在这个程序中有所突破,我试破的软件就是浪人算牌器,希望能得到大家的帮助。
|
|
|