首页
社区
课程
招聘
[原创] 网擎3.4去限制完美破解版实现
发表于: 2005-11-24 17:12 18384

[原创] 网擎3.4去限制完美破解版实现

2005-11-24 17:12
18384
网警3.4限制去除
        下面小节是一些题外话,如果你只关心具体怎么搞定软件的话可以跳过去。
********************************************************
        本人是在职的程序员,由于水平比较高----哈哈,别砸我啊!!!,我说的是和菜鸟比,在开发软件之外还负责公司的网络维护,公司比较小,只有十几台机器上网,原来是用Windows2003 Server自带的Internet网络共享上网,方便是很方便,可是一旦有人下载大文件时就可能把带宽占满了,最严重的时候连Google的搜索页面都打不开,由于Windows自带的Internet网络共享使用的是NAT方式,共享的层面比较低,要想查一下哪台机器占用了多少带宽等数据非常困难,更不用说独立控制了。于是决定使用代理服务器来上网,在网上搜索、下载、测试了几款代理服务器软件,觉得CCProxy不错,可以设置每台机器的MAC和IP地址对应,才可以上网,而且可以控制每台机器上网时允许使用的最大带宽(CCProxy软件都是3用户的试用版,本人不喜欢用低版本的东西,于是到CCProxy的网站上下载了最新版6.4.3.2,也是3用户试用版,经过努力本人把它搞成了无限制版,已经使用了将近1个月了,感觉不错,挺稳定的,破解补丁本人没有对外发布,毕竟我也是搞软件开发的,知道写软件不容易,不过兜里没钱,破一个自己用,应该不会有人有意见吧,这里不讲它的破解过程了),这个软件的功能不错,但是接着问题又来了,共司的带宽是2M的,共有13台机器上网,有时候还不能不允许在网上下载文件,起初将带宽分成13份,然后再略有提高,网页和QQ是可以正常使用了,而且速度很快,但是下载文件就很慢了,还是就是有几个哥儿们在单位住,下班之后要在网上看电影,以前是可以,但是现在看不了了,一在起喝酒就和我磨,实在没办法,就把带宽分成了5份略高,这样下载文件速度可以了,晚上看电影带宽也够了,可是老问题又出现了,一旦有几台机器同时下载大文件,则打开有图片的网页又变得很慢了,看来只能人为控制了,可是我不能老坐在服务器前面啊,于是又想到找一个网管软件,在网上有好多,试了N个之后,发现有个叫“网络岗”的软件不错,而且网友评价也说它是他见过的最牛的网管软件,我也承认,可是它的主界面也和引擎在一起,网络客户端的功能很弱,所以放弃了。除此之外我觉得不错的就是本文要说的网警了。它的引擎和控制端是分开的,所有的操作都在控制端进行,即可以装在同一台机器上也可以装在局域网的其它机器上,感觉操作也挺方便的。下面就来具体讲讲怎么搞定它,由于本人在破解它的时候笔记做的不是很详细,所以只讲讲破解流程及关键问题的解决方法。
*****************************************************
        和其它软件一样,在网上搜索带破解的版本,接着安装,测试,网上流行的破解版,其实只是在控制端改了一下,没有实际意义,用户数限制还是存在的,不信的话就在网上下载一个然后设置监视的用户,确定回到主界面后再次进入,就会发现,只能监视5个用户,多余的都被去掉了,其实这是控制端将设置传到引擎端后,引擎端处理的。好了,下面就分步说明怎么搞掉它的,有的步骤并不分先后,说起来容易啊,我搞这个软件足足了2个晚上+4个白天啊,呜呜…
***********************************
        既然要破当然要破最新版,不然没什么意思,到该软件的官方网站下载最新版
        试一下,感觉和网上其它的版本差别不是很大,也是5用户15天限制
        老路子,先从人机界面即控制端入手,用PEiD分析控制端软件,是用Delphi7写的,没有壳,容易多了,Delphi的当然要用DeDe反汇编,找到注册页面,随便输入点内容,马上就能判断出注册码非法,可以知道在控制端有一定的判断,用OD载入,使用老罗的字符串搜索插件增强版根据注册码错误提示串找到判断的位置,原来只是判断注册码长度,根据它的长度要求输入注册码,全用数字,可是输入之后过一会儿还会出现提示,说注册失败,因为引擎端可以上网,而弹出注册失败有一会儿时间,估计是到引擎端、甚至是网站去注册了
--------------------
        既然不是在控制端本地注册的难度就大了,先浏览一下它都有什么提示信息吧,还是在OD中用老罗的字符串搜索插件把控制端软件内的字符串都找出来吧,不看不知道,一看吓一跳,在列出的串来看有很多用户类型,竟然还有无限制版,而且它们离的很近,在无限制正式版上双击,转到代码窗口,上下滚动代码,查看注释,原来只是根据两个变量的值进行跳转的,既然是这样,那咱就找一个用户类型,然后向上找,看看是哪个变量在什么值的时候跳转过来的,也就是根据条件转移指令查找,找到后再向上找,看看是不是根全局变量有关系,全局变量很好判断,一般都是MOV EAX,DWORD PTR DS:[00012FC4],像这种类型的语句00012FC4就是一个全局变量,它里面所保存的数据一般来说,所有函数都可以访问,向前翻查找到相关的全局变量,在数据窗口中找到全局变量,记下它的内存地址,然后用OD重新载入控制端程序,OD会停在程序的第1条指令处,在数据窗口中设置该变量的内存访问断点,然后执行程序,会停在访问该变量的代码,在代码窗口中找到相应的代码,自己设计一段代码,把全局变量设置成无限制时对应的值。然后连上引擎看一下,呵呵,不错啊,显示的无限用户正式版了,可是功能是不是也真的可用了呢,检测一下吧,用户->设置监控对象,可以加了啊。回到主界面怎么图标没变呢,再次进入设置监控对象中看一下,咦?怎么搞的,刚才设置了好多用户,现在怎么又变成了5个呢?估计是控制端把设置传到引擎端,在引擎端没有通过验证把多余的用户又删除了。其实网上流行的破解版就是这种效果的。
------------------------
        换一种思路试试吧,找一台没装过此软件的机器(我用的是虚拟机,不行就重做系统,反正没什么数据),把网络断开,然后同时装上引擎和控制端,启动控制端连接引擎看看效果,主要是用户信息,咦?竟然连试用用户都不是,查查自带的帮助文件吧,帮助中说要保证引擎端能够上网,看来试用数据也是在它的服务器上搞来的。回到刚才的系统中,把网络断开再连上引擎,呵呵,还是试用版,看来它是把数据存到本地的,既然要存数据,无非就那几种方式,文件、注册表、数据库,通过监视注册表和文件的变化找不到记录,那就是其它地方了,数据要在引擎端验证一下,那引擎端肯定是要存数据的,顺便分析一下引擎端的组成吧,因为是端控软件,所以要有一些特殊的地方,一般来说驱动不太好实现,而NT系统上提供了系统服务这一功能,看一下吧,在我的电脑->右键菜单->管理->服务中,果然有一个显示名称为“Anyview Capture Engine”的服务,呵呵,看来猜的不错,可是系统服务虽然权限比较高,但是启动和停止的时候要求响应时间的,那再看看进程吧!一查看,安装这套软件后多出了3个进程,Anyview.exe AnyviewService. RAServer.exe ,而且这三个程序都位于C:\Program Files\Amoisoft\AnyView3\Server目录下,既然是服务,当然可以通过Windows的服务管理器来管理了,停止服务,再查看进程,竟多出的三个进程都没了。启动进程,这三个进程又出来了,无意中发现启动服务后,会在它的安装目录下多出几个目录和文件,其中包括两个数据库文件,Data.MDB 和Anyview.mdb数据库,一看就知道是ACCESS的数据库文件,正好机器有ACCESS,打开看看吧,唉,竟然有密码,密码算什么,既然软件能用,那么就知道它的密码,它不是有三个进程吗?肯定会是其中的一个打数据库的,那好,先起动服务,然后用OD附加到Anyview.exe进程上,然后用内存搜索功能,查找password,因为使用ADO连接带用密码的ACCESS数据库时需要提供密码,呵呵,其实很容易,是吧,找到密码是“anyview_2004”,重新用ACCESS打开数据库,DATA.MDB中没什么内容,再打开Anyview.mdb,哇!有不少数据表啊,最直接的办法当然是从表名中找提示了,看到有一个表名叫RegisterInfo,打开看看吧,里面是清的,没什么内容,再看还有个叫TrialInfo的表,打开一年有一些很乱的串,看来这时是经过加密的注册数据了,为了验证一下,把这个串拷贝到在未连网情况安装此软件的机器上的相应位置,竟然也成了试用版了,看来这个串的作用不小啊。既然在未连网的机器上只拷贝一个串就成了试用版了,那就在这个未连网的系统中研究它吧。
-----------------------------------
        这套软件是设计成引擎和控制可以分别装在局域网两台不同的机器上的,那它肯定是使用TCP/IP协议通讯的,因为有些网络只安装了TCP/IP协议。本节内容如果不做说明都是在无法上网的系统中。将数据库恢复成原来的,也就是没有试用数据的库,这样又变回到不可使用状态,这时控制端连接到引擎后,每隔一段时间就会弹出提示框,告诉用户无法使用。这应该是控制端定时器或引擎端无法连到服务器而通知控制端。求证一下吧。涉及到TCP/IP数据首选的当然是WPE了,拿试试吧,经过测试发现,每次控制端弹出提示框之前,引擎端都会发送一个7字节的数据包给控制端。由于引擎端是3个程序的组合,而WPE只能监视数据,无法确定该数据包端口,数据库类型等数据,于是改用SockMon来监视,这个软件功能不错,还有过滤器,可以过滤掉暂时不关心的数据包。但是可以看到在控制端和引擎端不停的有数据包交换。
------------------------------------------
        把试用数据串输入到数据库中,然后重新启动引擎的服务,将SockMon设置到监视状态,可以看到,从引擎端传来的数据包中可以看到明文的用户数据,包括用户编号、登记时间等。想到什么了?既然网络数据包中含有用户编号等数据,那在引擎的某一个程序中肯定会有相同的数据,因为发送之前先要在内存中整数据,看看端口与进程的关联,可以发现数据包是从Anyview.exe进程发出来的。既然找到了数据源,跟踪吧,用OD附加进程选项附加到Anyview.exe进程,然后在进程内存中搜索用户编号,可以搜索到好几个,这是因为软件整理待发送数据时残留的。重启引擎的系统服务,控制端不要连接,然后再用OD在Anyview.exe进程空间内再次搜索用户编号,就是在控制端关于里看到的用户编号,可以试试,这次只找到了一处,在内存窗口中显示刚才看到的地址,然后设置内存访问断点,用控制端登陆,引擎端断下来了,然后分析读取数据的代码吧,可以看到在读取编号代码的下面不远有个全局字节变量值的判断语句,找到这个全局变量,在内存窗口中查看它内容: 4C A7 12 01 01 01 38 6F 2B 01 B0 69 13 01 88 6F 2B 01 D8 6F 2B 01 28 70 2B 01 48 6E 2B 01 0F 00 00 00 40 A7 12 01。经过分析后得知,第5个字节表示是正式版还是测试版,为02的时候是正式版,第6字节表示当前的状态,为01时表示已经注册过了。接下来是8个4字节数据,依次是:指针―用户编号;指针―不知用途;指针―授权的用户数;指针―登记时间;不知用途;指针―最后的上网时间;整数―试用天数;未知用途;验证一下此段数据是否对控制端用影响,将第5字节改为02,然后使用原版的控制端登陆,哇!5用户正式版。试试功能吧,呵呵,除了用户数,其余都可以用,看来找对地方了。还有个问题,就是时间问题,把系统时间向后调一个月,唉,还是不能用,看来找到的数据只是修改了客户端的显示。
----------------------------------
        这时应该想到数据库保存的加密的注册数据了吧,既然是加密的,那使用之前肯定要解密吧,可是怎么找到解密的代码呢?先看看数据库中那段加密过的串在内存中有没有吧,在内存中搜索,真的有啊。那就看看谁来使用它吧,在这段串数据上设置内存访问断点,然后控制端再登陆,呵呵,竟然没断下来,看来此路不通了;换招吧,用OD将anyview.exe载入,运行竟然出错退出了,面且在进程列表竟然有两个anyview.exe进程,看来这种方法是不行了,在软件里面的anyview是由其它的进程启动的,而且资源都被第一个实例占用了,所以才会出错退出。这是一个很大的问题就是你在OD中重新载入的Anyview.exe实例根本不正常,怎么办呢,考滤了好久,终于想到办法了,我用Delphi编译了一个什么功能也没有的可执行文件,然后将原来Anyview.exe文件改名,将新编译文件拷到安装目录并改名anyview.exe,当然在改名原来的Anyview.exe之前需要将服务停止才行。重新启动服务,再用OD载入改成其它名字的Anyview.exe文件,竟然没出现原来的错误,看来有戏。在OD中按F9让软件运行,然后在内存中搜索加密的串,真的找到了,在串所在位置上设置硬件断点,然后Ctrl+F2重新运行程序,断在了读加密串的位置,也就是说找到读加密串的位置了,那是不是就是解密的地方呢,自己分析吧,其实这就是的,经过仔细分析,解密时共有3个步骤,使用背包替换,每个字节乘以4,然后好像还要乘一次,没看明白,但是不管怎么样,经过这3个步骤后,注册数据的明文已经在内存中生成了,在生成的明文区域设置内存访问断点,然后按F9运行,看到了吧,每次读出数据都是隔一个字节一读,读出的就是用户编号、允许的用户数、登记时间、试用期限等数,把允许用户改一下,然后取消内存访问断点,用控制端登陆,果然显示的用户数限制已经变了。而且不只是显示变了,功能上也跟着变了。既然已经找到关键位置了,剩下的就容易了
-------------------------------
        既然已经找到在什么地方解密了,而且解密的数据也能看到,下面就是怎么改它了。可以在解密后的设置断点,然后按F9,每次断下来都看一下内存的数据,可以发现,解密后的数据在空间是个临时空间,使用完毕后还会被其它数据覆盖。这样,我们只能在解密完成后直接让软件执行自己的代码,在代码中将解密后数据的相关变量置为我们想要的值。将改变的代码保存。然后使用更改后的链接库文件。可以看到,已经搞定了。
-----------------------------
        大家别忘了,我们是上不了网的系统中修改的。回到网络再试一下,呵呵,不大一会儿就变成非法用户了。它肯定是到网站去验证了。在引擎端的内存中搜索它的网址:www.amoisoft.com.可以看到,只有PacketCap.dll中含有这个串,用工具把这个串改成:127.0.0.1尾部加上00,或者都换成空格。再试,怎么样,搞定了吧。
-----------------------------
        我们已经手工搞定了,但是不以每次,都要求用户和我们一样,从头破解啊,接下来我要让一个软件完成我们的功能。我们需要完成的功能是:停止AnyviewCaptureEngine系统服务,用修改后的PacketCap.dll文件替换原来的文件,在数据库文件Anyview.MDB的TrialInfo中加入试用数据,重新启动系统服务。一般的补丁软件没停止系统服务和向ACCESS数据库写入数据的功能。自己编写软件肯定很麻烦。一些安装制软件可以完成要求的全部功能。本人用NSIS 2.1制作了一个安装包,经过测试,效果不错。
        本人第一次写这种文章,再加上文学水平不高,请各位多指教!

无闻高手  2005-11-24

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (62)
雪    币: 10500
活跃值: (2159)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
anyview 软件破解不值一提
2005-11-24 17:21
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请版主帮帮忙
第一次发一半,以为死了呢
重发一遍结果出现了两个主题
把前面那个删除吧
2005-11-24 17:25
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
二楼的
听语气,看来你也破解过这个软件啊
我在网上下载过破解补丁,但是都不完整
所以才要自己破解的
要是你已经有补丁能说说思路吗
交流一下
2005-11-24 17:30
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不是我说你,就小公司,几百块路由就搞定了
2005-11-24 17:38
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我知道用路由器可以做这个
可是公司有些数据是要放在服务器上的
一来是做备份,二来大家共享方便
最主要的是想来练练手
2005-11-25 08:35
0
雪    币: 242
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
一大堆,密密麻麻,眼花。。。看不清,不看了
2005-11-25 08:46
0
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
写小说呀!!!
2005-11-25 09:17
0
雪    币: 236
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
全是文字。

给点实际的吧。
2005-11-25 09:39
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我调试的时候也不是很有把握,而且是头一次破解这么复杂的程序,所以写的不太好,不过做好了破解安装,不知道版主让不让发。要是让发的话,说一声。
2005-11-25 10:16
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我调试的时候也不是很有把握,而且是头一次破解这么复杂的程序,所以写的不太好,不过做好了破解安装,不知道版主让不让发。要是让发的话,说一声。
2005-11-25 10:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好文章啊。好文章啊。
2005-11-25 10:45
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我调试的时候也不是很有把握,而且是头一次破解这么复杂的程序,所以写的不太好,不过做好了破解安装,不知道版主让不让发。要是让发的话,说一声。
2005-11-25 11:09
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
版主麻烦一下
一个贴子发了好几遍,把多余的删除吧
我这儿网络好像有点问题
2005-11-25 11:12
0
雪    币: 506
活跃值: (388)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
15
不会是用上了这个anyview才出了这样的重发问题的吧。。

我的树啊
2005-11-25 15:22
0
雪    币: 203
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
其实楼主写的蛮好的  只不过分析过程过于详细 而细节代码却没贴出来  让人有一种看小说的感觉

希望下篇文章改进
2005-11-25 16:51
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
17
累,不如看代码...
2005-11-25 17:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我顶一下!学习学习
2005-11-25 18:40
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
19
不能求全责备,我学习了,有共享的精神就
2005-11-25 19:37
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
最初由 Mike1234567890 发布
我调试的时候也不是很有把握,而且是头一次破解这么复杂的程序,所以写的不太好,不过做好了破解安装,不知道版主让不让发。要是让发的话,说一声。


麻烦Mike1234567890发一份给我,谢谢!
helloytok@126.com
2005-11-25 20:54
0
雪    币: 405
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
谢谢各位
不管好的坏的
有人说几句我就很高兴了
下次再破的时候一定注意留好笔记
可以让朋友们看到具体的东西
to:ytok
已经发给你了,如果收不到请来这儿留言
2005-11-28 16:30
0
雪    币: 236
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
怎么都是文字的。
2005-11-28 21:56
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最初由 Mike1234567890 发布
谢谢各位
不管好的坏的
有人说几句我就很高兴了
下次再破的时候一定注意留好笔记
可以让朋友们看到具体的东西
........


谢谢.我已经收到!
2005-11-29 08:04
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
从难度来看,中下。
2005-11-29 09:58
0
雪    币: 214
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
最初由 娃娃[CCG] 发布
其实楼主写的蛮好的 只不过分析过程过于详细 而细节代码却没贴出来 让人有一种看小说的感觉

希望下篇文章改进

同感!楼主的破解水平不错,学习学习!
2005-11-29 14:35
0
游客
登录 | 注册 方可回帖
返回
//