-
-
[旧帖] [原创][下载]网络验证相关知识 0.00雪花
-
发表于: 2013-4-24 16:09 1169
-
网络验证通常调用SEND进行发包
使用RECV进行收包
当我们在找不到程序的关键时,我们可以采用CTRL+g查找send找到封包发送的时机,那么也就可以判断得出结果是在什么位置,也可以查找recv去找到收包的关键,这样也就可以避免开程序的按钮事件无法跟踪等情况的出现
通常在破解时,RECV段,如果只是单句封包发送的话,可以在RECV段进行返回值模拟
定位IP的函数Connect
拦截的函数 socket ,bind ,listen ,accept ,AcceptEx ,WSAAccept ,connect ,send ,WSASend ,recv ,WSARecv ,WSARecvEx ,closesocket
A验证时调用点 =B
B点的返回值影响到A点的跳转
此时我们可以在B点的返回值的段首段进行 1 或者 0的赋值
就是控制EAX的值去影响被VM掉的跳转
微软的程序编译出来通常是上段接下段
A段,就是按钮事件
B段,就会是验证事件
C段,就是功能事件
什么叫假设的特定值,其实也就是这样一段代码
首先JE是否为0
如果JE不为0
那么 MOV EAX,100
JMP 跳向RETN
RETN出来之后
CMP EAX,100
JNZ 跳转即不实现
如果JNZ跳转实现
那么也就可以影响到退出或者信息框或者标签事件
使用RECV进行收包
当我们在找不到程序的关键时,我们可以采用CTRL+g查找send找到封包发送的时机,那么也就可以判断得出结果是在什么位置,也可以查找recv去找到收包的关键,这样也就可以避免开程序的按钮事件无法跟踪等情况的出现
通常在破解时,RECV段,如果只是单句封包发送的话,可以在RECV段进行返回值模拟
定位IP的函数Connect
拦截的函数 socket ,bind ,listen ,accept ,AcceptEx ,WSAAccept ,connect ,send ,WSASend ,recv ,WSARecv ,WSARecvEx ,closesocket
A验证时调用点 =B
B点的返回值影响到A点的跳转
此时我们可以在B点的返回值的段首段进行 1 或者 0的赋值
就是控制EAX的值去影响被VM掉的跳转
微软的程序编译出来通常是上段接下段
A段,就是按钮事件
B段,就会是验证事件
C段,就是功能事件
什么叫假设的特定值,其实也就是这样一段代码
首先JE是否为0
如果JE不为0
那么 MOV EAX,100
JMP 跳向RETN
RETN出来之后
CMP EAX,100
JNZ 跳转即不实现
如果JNZ跳转实现
那么也就可以影响到退出或者信息框或者标签事件
赞赏
他的文章
- [求助]求delphi、VB、C++、VC的无壳程序来重建PE头 3236
- [原创]FSG 2.0脱壳及找RVA、Sixe的方法(写给新手,老鸟勿笑) 4099
- [转帖] OD破解常用方法 1889
- [转帖]也来谈谈VMP2.05的脱壳 1815
- [原创]网络验证的封包下断 6862
看原图
赞赏
雪币:
留言: