学破解论坛

 ★找回密码★
 ★免费注册★

QQ登录

绑定QQ,免密登录

查看: 9332|回复: 155

[原创逆向图文] 难寻之核盾web网络验证取全部数据思路分析。

  [复制链接] |关注本帖

  离线 

签到天数: 206

该用户今日未签到

马上注册,深入学习!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 难寻。 于 2017-6-27 15:07 编辑
搜了下,没有关于核盾web数据的教程,这里小菜为大家献上,很简单的思路,纯适合小白,大牛飘过

昨天看到有个web爆破,我才发现核盾出了个web登录,我在这里为核盾web送上见面礼,喜欢的请大家给评个分,感觉升级好难。

下载源码看了一下,大概主要就两个子程序

1.调用webapi(网址,参数)    提交数据到网址  山寨需要用到的数据,在这里可以获取到,核盾3要素嘛,源码如下:

[ecode=3].版本 2
AppID = 18
SafeCode = “843007551”
CustomCode = “456”
url = “WebApi/Initialize?”
参数 = “appID=” + 到文本 (AppID) + “&safeCode=” + SafeCode + “&customCode=” + CustomCode
返回值 = 到文本 (调用WebApi (url, 到字节集 (参数)))[/ecode]


当然还有其他各种提交的数据,机器码啦版本啦等等都可以,总之就是提交的数据都要用这子程序提交,大家看下源码,我就不一一示例了

2.核盾_json.GetValue (参数)     取回数据到本地  伪造数据需要用的数据,在这里可以获取到,返回时间啊,静态数据啊,远程调用啊,源码如下:

到期时间 = 到数值 (登录后数据.GetValue (“expireTime”))   时间
登录后数据.GetValue (“staticData”)  静态数据

[ecode=3].版本 2
url = “WebApi/TelnetFun”
参数 = “fun=” + fun + “¶m=” + param
返回值 = 到文本 (调用WebApi (url, 到字节集 (参数)))
json.SetJSON (返回值)
json.Parser ()[/ecode]

返回 (json.GetValue (“msg”))      远程调用

还包括什么公告,心跳之类的,总之就是返回的数据都需要从这里取回,大家也可以下载源码自己看一下

那么问题来了,知道这两个是主要子程序,我们在od中怎么去找它呢?

超简单大家都会的方法,按钮事件F8 单步 F7进call  call代表跳转 调用子程序嘛,因为这俩子程序都是需要参数的,所以F7进call 55 那里就应该看到提交的参数,如果看到了,证明就是你要找的call  如果没看到,可能就是其他运算call之类的,那我们找调用webapi这个call
QQ截图20170627105846.png
我们看到,在登录按钮下 会调用这个子程序,我们编译出来扔od看一下,因为有时钟 ,我就没用按钮特征码找了,直接用的虫子。
控件名称:登陆按钮→事件地址:401253
.版本 2
参数 = “userName=” + 用户帐号1.内容 + “&password=” + 登陆密码1.内容 + “&verifyCode=” + 验证码1.内容 + “&machineCode=” + 机器码
返回值 = 到文本 (调用WebApi (url, 到字节集 (参数)))
在这句话中,调用了3个子程序,到文本(),调用webapi(),到字节集(),其中只有调用webapi置入了vm代码,所以我们按钮事件下,只需要要到这个带vm代码的就是调用webapi子程序了
那我们就按钮事件下的call都下断?错了~太麻烦,我们只需要在 字符串 &machineCode= 下面再有call再下断,起码能省好多call呢,原因就是 ,很明显子程序是在这个字符串之后调用的嘛
这时候 挨个call下断,跟进去找vm代码,有的肯定就是这个子程序了
那我在第7个call中找到了vm代码

[Asm] 纯文本查看 复制代码
00401906   $  55            PUSH EBP
00401907   .  8BEC          MOV EBP, ESP
00401909   .  81EC 5C000000 SUB ESP, 0x5C
0040190F   .  C745 FC 00000>MOV DWORD PTR SS:[EBP-0x4], 0x0
00401916   .  C745 F8 00000>MOV DWORD PTR SS:[EBP-0x8], 0x0
0040191D   .  C745 F4 00000>MOV DWORD PTR SS:[EBP-0xC], 0x0
00401924   .  C745 F0 00000>MOV DWORD PTR SS:[EBP-0x10], 0x0
0040192B   .  C745 EC 00000>MOV DWORD PTR SS:[EBP-0x14], 0x0
00401932   .  C745 E8 00000>MOV DWORD PTR SS:[EBP-0x18], 0x0
00401939   .  C745 E4 00000>MOV DWORD PTR SS:[EBP-0x1C], 0x0
00401940   .  C745 E0 00000>MOV DWORD PTR SS:[EBP-0x20], 0x0
00401947   .  C745 DC 00000>MOV DWORD PTR SS:[EBP-0x24], 0x0
0040194E   .  C745 D8 00000>MOV DWORD PTR SS:[EBP-0x28], 0x0
00401955   .  C745 D4 00000>MOV DWORD PTR SS:[EBP-0x2C], 0x0
0040195C   .  C745 D0 00000>MOV DWORD PTR SS:[EBP-0x30], 0x0
00401963   .  C745 CC 00000>MOV DWORD PTR SS:[EBP-0x34], 0x0
0040196A   .  68 08000000   PUSH 0x8
0040196F   .  E8 9A670000   CALL 0040810E
00401974   .  83C4 04       ADD ESP, 0x4
00401977   .  8945 C8       MOV DWORD PTR SS:[EBP-0x38], EAX
0040197A   .  8BF8          MOV EDI, EAX
0040197C   .  BE 52FE4900   MOV ESI, 0049FE52
00401981   .  AD            LODS DWORD PTR DS:[ESI]
00401982   .  AB            STOS DWORD PTR ES:[EDI]
00401983   .  AD            LODS DWORD PTR DS:[ESI]
00401984   .  AB            STOS DWORD PTR ES:[EDI]
00401985   .  EB 10         JMP SHORT 00401997
00401987   .  56 4D 50 72 6>ASCII "VMProtect begin",0


并且在堆栈窗口中找到他的两个参数

0012F700  |003C15F8  ASCII "userName=nanxun&password=xuepojie&verifyCode=&machineCode=123"  提交的参数 帐号密码验证码机器码
0012F704  |0049FE15  ASCII "WebApi/Login"  网址

因此我们确定这是webapi子程序的call ,在段首00401906 下个断点,按其他按钮试试吧,我们按注册按钮,因为注册按钮下也调用了这个子程序

222.png
在注册按钮按下,我们发现又进了这个call,没错,就是它,堆栈窗口出现:
0012F700   003697D8  ASCII "userName=nanxun&password=xuepojie&KEY=&data=&verifyCode=&machineCode=123"
0012F704   004A01F2  ASCII "WebApi/Register?"

是不是和源码一样?举一反三,退出程序重新载入,初始化的时候也调用了,那我们是不是可以获得核盾3要素了?
026AFF64   007ACBD8  ASCII "appID=18&safeCode=843007551&customCode=456"
026AFF68   004A00D2  ASCII "WebApi/Initialize?"

ID 编号自定义,3个数据都出来了,和源码中是一样的

[ecode=3].版本 2
AppID = 18
SafeCode = “843007551”
CustomCode = “456”
url = “WebApi/Initialize?”
参数 = “appID=” + 到文本 (AppID) + “&safeCode=” + SafeCode + “&customCode=” + CustomCode
返回值 = 到文本 (调用WebApi (url, 到字节集 (参数)))[/ecode]

当然了,不这么费劲,直接bp send也能看到这些东西。==  额,我讲的是小白思路,不调用api 就是一步一步追调用

这时候又有人冒出来说,这只能取官方示例的吧?谁家发布的时候还不加个vm壳,vm后代码看不到了怎么办?

这个我不想给你解释,头部一般是不会被vm 的,找到子程序,记录特征码,vm又何妨?

又有人要问了,数据找到了我们如何修改呢?
哈哈哈,脓个大撒子,怎么推进来的就怎么返回去找数据修改啊,段首下断,堆栈是会告诉你是从哪调用的,比如:

0261FF34   00405713  返回到 核盾验证.00405713 来自 核盾验证.00401906

返回去,往上找肯定就出现你要的数据了,如果没有呢,也许是加密解密了,你自己在call上面几句代码jmp跳到空白处补你的数据再跳回来就得了,管他加密不加密


写这么多,嫌我自己麻烦了都,为坛友留下一点小作业,也就是我的另一半没说的类模块中的GetValue咋找的呢?希望广大坛友动动手,举一反三的去找,这里我不在讲解。
看到这里是不是想骂我标题党?提交的数据取了返回的数据不讲了?

游客,以下内容已经设置隐藏,如果您要查看本帖隐藏内容请回复本主题(记得评分谢谢楼主呦,评分不扣你的分)





点评

头部是可以VM的  发表于 2017-6-27 13:59
很详细,希望分析更多网络验证源码,带领不懂网络验证的新人们,认识网络验证的本质。  发表于 2017-6-27 12:35

评分

参与人数 13威望 +1 HB +37 THX +10 收起 理由
adsljz + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
lyrong + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
海东 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
the2377 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
陈大锤 + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
轮回v + 6 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
hysmy17 + 1 + 1 [快捷评语] - 2017,让我们17学破解!
retn + 4 + 1 [快捷评语] - 2017,让我们17学破解!
bluestar + 1 + 1 [快捷评语] - 2017,让我们17学破解!
Oneness神 + 1 [快捷评语] - 2017,让我们17学破解!
谢晓松 + 1 分享精神,是最值得尊敬的!
a1196264085 + 1 期待下期讲解静态数据和版本号找法.要详细,要详细.要详细.
Shark恒 + 1 + 20 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!

还有更多人参与评分,点击查看全部!

学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 206

该用户今日未签到

@Shark恒 特别详细且首发,这次够不够sj   

点评

确实很详细啊,有时间应该把所有源码都收集一遍,来个大讲解,这样大家就知道网络验证其实并不可怕。 源码到手,还怕没有思路入手分析?建议新手先学学编程,起码先学学易语言也好。会对新手们帮助很大。  详情 回复 发表于 2017-6-27 12:31
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 138

该用户今日未签到

支持一下。。。。
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 538

今日第44个签到

支持
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 683

今日第230个签到

难寻。 发表于 2017-6-27 11:52
@Shark恒 特别详细且首发,这次够不够sj

确实很详细啊,有时间应该把所有源码都收集一遍,来个大讲解,这样大家就知道网络验证其实并不可怕。

源码到手,还怕没有思路入手分析?建议新手先学学编程,起码先学学易语言也好。会对新手们帮助很大。

精华走一波,希望分析更多网络验证源码,带领不懂网络验证的新人们,认识网络验证的本质。

学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 406

该用户今日未签到

大佬  看看                        
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 206

该用户今日未签到

Shark恒 发表于 2017-6-27 12:31
确实很详细啊,有时间应该把所有源码都收集一遍,来个大讲解,这样大家就知道网络验证其实并不可怕。

...

感谢老大,的确,我认为开源验证比自写或者本地算法啥的简单多了,1个验证拿来,照葫芦画瓢基本就会了,还容易理解
分析这些过程比写通杀工具空造轮子强多了。

点评

其实目前各种游戏辅Z用的网络验证没什么难度,拿这源码修改有啥难,主要很多新人不懂编程,看不懂源码,那就难了。。  详情 回复 发表于 2017-6-27 12:47
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 683

今日第230个签到

难寻。 发表于 2017-6-27 12:44
感谢老大,的确,我认为开源验证比自写或者本地算法啥的简单多了,1个验证拿来,照葫芦画瓢基本 ...

其实目前各种游戏辅Z用的网络验证没什么难度,拿这源码修改有啥难,主要很多新人不懂编程,看不懂源码,那就难了。。
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 206

该用户今日未签到

本帖最后由 难寻。 于 2017-6-27 12:56 编辑
Shark恒 发表于 2017-6-27 12:47
其实目前各种游戏辅Z用的网络验证没什么难度,拿这源码修改有啥难,主要很多新人不懂编程,看不懂源码, ...

哈哈,一针见血,现状就是,大多数人,都不知道jnz咋来的,就知道跟着视频或图文一步一步做,不说jnz是啥意思他就不知道,说了他也记不住,为破而破,就针对一个验证一个辅Z的去学习某个教程,前一段分析百宝云的时候就是  E也不会汇编代码也不看,同样的东西 一个用判断 一个用判断循环首,写出来 ,就不会破了,就要发消息问我了。。
我以前理解的“破解”就是 去掉限制达到目的,现在理解的“破解”是 破除限制并解密限制来源和方法
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 62

该用户今日未签到

不错不错   正好用到  本质的教程 精华啊!!!!!!!!!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者其他任何非法用途!否则,一切后果请用户自负!

站长邮箱:SharkHeng#iCloud.com


站长微信号:SharkHeng|联系Email|鲨鱼逆向|手机版|小黑屋|FAQ|VIP破解教程|学破解论坛 ( 京公网安备 11011502002737号 | 京ICP备14042738号 ) 

GMT+8, 2018-12-17 15:55

快速回复 返回顶部 返回列表