本帖最后由 jixun66 于 2020-1-17 08:24 编辑
账号:jixun
注册码:1036258Z07
账号:jixun
注册码:450547@jixun66-FwE
账号:jixun
注册码:325526@52pojie@jixun66$$
凑合着看,笔记做得比较乱… 代码基本上是 js 在浏览器跑
code = '0123456789abcdef'.split('')
code.filter((x, i) => i % 2 == 1).reduce((sum, v) => sum + v.charCodeAt(), 0)
=565 (0x235)
565 * 123456789 = 69753085785 (0x103d9b9f59)
(转 32 位整型) 69753085785|0 = 1033609049 (0x3D9B9F59)
serial_sum = 偶数位字符代码综合 * 整体作为整数解析时的值
serial_sum - 100 <= dword_12977FC <= serial_sum + 100
用户名 = jixun
算出哈希:
012977FC E8 9C 87 12
dword_12977FC = 0x12879cE8 (310877416)
v = code => code.split('').filter((x, i) => i % 2 == 1).reduce((sum, v) => sum + v.charCodeAt(), 0) * parseInt(code, 10) - 310877416;
满足表达式 -100 <= v(序列号) <= 100 即可。
sub_1291FF0: (base = 0x1290000)
if (dword_12977FC < (unsigned int)(serial_sum - 100)) {
fail;
}
if (dword_12977FC > (unsigned int)(serial_sum + 100)) {
fail;
}
g_flag = 100;
|