首页
社区
课程
招聘
[原创]kx3答案分析
发表于: 2017-6-7 11:26 4012

[原创]kx3答案分析

2017-6-7 11:26
4012

[sub 004081F0]

检测输入合法性:[0,9] [a,f]

[004082F4] - 72a3d170

从该地址判断key长度为:16

[004083BE] - 72a3d170

该处判断key的前8位的校验和 大于 后8位校验和

[004085FC] - 72a3d170

该处判断。。。


a = 前8位的十六进制值

b = 后8位的十六进制值

c = 1711722997


v4 = c^2*2

v5 = a^2*v4

v6 = b^4+v5

v7 = c^4+v6

v8 = b^2*v4+v7

v9 = a^2*2*(b^2)+v8

v10 = a^4+v9

v11 = v10^0.5/2

v12 = v11/(c+a+b)

(a^4+a^2*2*(b^2)+b^2*c^2*2+c^4+b^4+a^2*c^2*2)^0.5/((c+a+b)*2) = 874402299.931726

(a^4+a^2*2*(b^2)+b^2*c^2*2+c^4+b^4+a^2*c^2*2)^0.5 = 874402299.931726*(c+a+b)*2

a^2+b^2+c^2 = 874402299.931726*(c+a+b)*2


v13 = c*a*b

v14 = (c+a+b)*(cb)*(ca)*(ac)

v15 = v13/(v14^0.5)

(c*a*b)/([(c+a+b)*(cb)*(ca)*(ac)]^0.5) == 373414231.362502

c*a*b == 373414231.362502 * ([(c+a+b)*(cb)*(ca)*(ac)]^0.5)


得到两公式。。。正在用穷举法跑结果,不确定公式是否正确

a,b,c是整数---右边结果也必须是整数

a^2+b^2+c^2 = 874402299.931726*(c+a+b)*2

左边正数---a+b+c是正数

c*a*b == 373414231.362502 * ([(c+a+b)*(cb)*(ca)*(ac)]^0.5)

右边有根号---连乘的结果必须是正数

a+b+c是正数---假设cb为正数,ca为负数,则ac为正数 X

假设ca为正数,cb为负数,则ac为正数 X

                 假设cb为正数,ca为正数,当a+b>c并且|a-b|<c时,ac为正数 √

假设a、b为一正一负,则a>b+c,与a<b+c矛盾 X

则a、b均为正数,a大于b,a+b>c并且a-b<c


#include "stdafx.h"

#include <math.h>

#include <Windows.h>


#define MAX_NUM 0x7FFFFFFF


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//