2018 腾讯TP游戏安全技术竞赛-资格赛 标准版
一个base64硬是没看出来....还有就是标准版这个算t1-t5的过程已经是非常不友好了,
进阶版还有个两倍这么长的... 等待大佬的分析我看看结果就行了{:1_908:}
## 1. 调试分析
x32dbg载入,运行命令 bp GetDlgItem下断点,输入任意用户名和密码后点击Go
<!--more-->
程序顺利断下,可以看到程序使用SendMessage方式获取UserName和RegCode,并且判断是标准版or进阶版
!
之后,程序在call 0x00B25510之内进行详细的验证,将结果显示在Label上
!
进入func_verify函数,可以看到首先程序对UserName格式进行检查
!
然后检查UserName长度是否等于39
!
将输入的UserName转换大写
!
将输入的UserName末尾添加#字符并用#分割, 判断分割之后数目
!
将UserName分割后的得到的vector进行运算, 得到t1-t5
!
算法具体如下
!
用户名部分处理完毕, 进入RegCode处理部分
首先将RegCode进行一个类base64的解码
!
具体算法如下
!
判断解码后的RegCode的24-27位是否为’2018’, 28-31是否为0, 因此可以知道解码后至少为32位,
!
解码操作类似Base64, 四字节合并为三字节, 因此 RegCode 长度根据Base64算法
33/3 * 4 = 44位
最后的验证函数, 将UserName运算得到的t1-t5与解码后的RegCode进行运算
!
这实际是一个三元方程组, 需要根据t1-t5解出RegCode, 验证以及解密算法如下:
!
## 2. 算法流程
通过对验证流程的分析, 注册码验证流程如下
输入的UserName -> t1 t2 t3 t4 t5
输入的RegCode -> Base64(伪)解码得到32位 ->
a) 验证25-32 位是否为 “2018 x0x0x0x0”
b) 剩余24位看做三个int64整数, 与t1-t5运算
## 3. 程序实现
a) 输入合法用户名(39位) , 4位一组, “#”号分割, 计算出t1-t5,
b) 解方程算出xyz (3*int64, 共24位),
!
c) 实现此程序中Base64的Encode部分, 将xyz+2018+0编码, 得到RegCode
!
: https://blog.his.cat/usr/uploads/2018/04/1126898949.png
: https://blog.his.cat/usr/uploads/2018/04/3025393864.png
: https://blog.his.cat/usr/uploads/2018/04/391982894.png
: https://blog.his.cat/usr/uploads/2018/04/3451515461.png
: https://blog.his.cat/usr/uploads/2018/04/3135234825.png
: https://blog.his.cat/usr/uploads/2018/04/2812880400.png
: https://blog.his.cat/usr/uploads/2018/04/2117339514.png
: https://blog.his.cat/usr/uploads/2018/04/462425374.png
: https://blog.his.cat/usr/uploads/2018/04/391100444.png
: https://blog.his.cat/usr/uploads/2018/04/40719681.png
: https://blog.his.cat/usr/uploads/2018/04/2728202346.png
: https://blog.his.cat/usr/uploads/2018/04/410367591.png
: https://blog.his.cat/usr/uploads/2018/04/2507598221.png
: https://blog.his.cat/usr/uploads/2018/04/1927961582.png
: https://blog.his.cat/usr/uploads/2018/04/1741255144.png 卡在
.text:00404FCB mov ecx, ebx
.text:00404FCD mov eax,
.text:00404FD0 sub ecx, eax
.text:00404FD2 sub ecx, 0C0h
.text:00404FD8 cmp ecx, 18h
.text:00404FDB jnb short loc_405020
.text:00404FDD cmp eax, ebx
.text:00404FDF jz short loc_40501C
晓我琴宝贝 发表于 2018-4-28 07:54
求楼主的配色。。。
单独x64dbg主题和配色
看不懂。。。 这个我也看了,只弄到转换成大写那里,就没有继续了!楼主威武! 求楼主的配色。。。;www 不错 不错 厉害 whyida 发表于 2018-4-28 12:11
单独x64dbg主题和配色
3Q谢谢啦 晓我琴宝贝 发表于 2018-4-28 07:54
求楼主的配色。。。
配色论坛直接搜x64dbg就可以啦, 主题+插件+配色都带了 879154904 发表于 2018-5-1 21:52
配色论坛直接搜x64dbg就可以啦, 主题+插件+配色都带了
3Q谢谢啦
页:
[1]
2