xu2611 发表于 2016-10-30 15:16

网络验证的攻与防 攻篇(三)

攻篇一地址:http://www.52pojie.cn/thread-544094-1-1.html
攻篇二地址:http://www.52pojie.cn/thread-546134-1-1.html
前页两篇讲了某可的ks_IdCheck与ks_GetData的HOOK办法,但是这两API对于某可来说,并不重要,这篇讲它的最主要的防破API:ks_advapi
这个API是某可的远程服务器运算API,某可破解主要的难点就在这个上面
关于这个API如何定位,如果HOOK,一般的VM如何解决,看懂攻一,攻二你就懂,不太明白的去看前两篇帖子,这个API的说明如果不太懂可以去到某可的官网去查说明
ks_advapi函数说明如下
.版本 2
.子程序 ks_advapi, 文本型, 公开, 安全核心功能,提交参数到服务端,服务端根据参数,取出函数名和参数,进行自定义运算后返回文本数据。
.参数 v_expression, 文本型, , 发送给服务端的特殊结构字符串,格式 v_函数名[,参数1]...[,参数n],如:"v_funname" "v_funname,参数1,参数2"
我们现在使用的例子ks_advapi函数的开头在41283D处
我们假设v_geta远程函数 返回4个汉字 :静态数据
假设 v_getb远程函数是对后面的两个参数进行加法运算,则hook函数如下图

上面只是我的假设,真实破解时,要在此API上下断,查看函数输入文本与函数返回的文本,最主要的是能跟出服务器端的函数运算过程,由于此API得出的返回文本在本地的运算过程通常都是被VM的,跟踪起来要极强的耐心,有很多用某可的辅助破解以后没有功能,都是因为这个API的存在,无论你怎么感觉某可破教程难大街,解决不了此API也是白搭,这种远程API基本成了现在市面网络验证的标配,没有远程服务器的API不建议使用,因为种种固定的防破解函数不用多久都会被人攻克,但是这种灵活使用的API,只要使用得当,很难被人逆出算法,这就是你软件不被破解的保障
看帖子一定要结合程序例子边动手,边思考,所有原代码和示例程序已经打包,下载地址:http://pan.baidu.com/s/1slKVejz 密码: mj2u
攻篇只打算写三篇,接下来的帖子就要写到防了

yinle200909 发表于 2016-10-30 15:30

看下怎么样呢。

xu2611 发表于 2016-10-30 18:45

寒枫雨雪 发表于 2016-10-30 17:57
讲了这么多,到头来还是要学VM还原。

没办法,VM才是壳的主要功能

夜猫大人丶 发表于 2016-10-30 15:44

谢谢楼主的 分析   支持你

lwa 发表于 2016-10-30 15:45

某可好高神啊。

—__Sunflower 发表于 2016-10-30 15:51

想请教楼主点问题好吗

KaQqi 发表于 2016-10-30 16:38

为什么不录视频呢?这样多麻烦

ljy4460607 发表于 2016-10-30 16:43

求学ing。。不懂看看

寒枫雨雪 发表于 2016-10-30 17:57

讲了这么多,到头来还是要学VM还原。

十月丶 发表于 2016-10-30 18:53

页: [1] 2
查看完整版本: 网络验证的攻与防 攻篇(三)