|
发表于 2021-3-13 18:33:13
|
显示全部楼层
云南省曲靖市
本帖最后由 zainex 于 2021-3-13 19:41 编辑
3233423443546231243255436576738 // 3443545657676 = 938980854323396062
取高三十二位(938980854323396062) = 218623516
取低三十二位(938980854323396062) = -1328103970
218623516 * 2 = 437247032
位取反(-1328103970) = 1328103969
位合并(437247032, 1328103969) = 1877961704041169441
设置比特(1877961704041169441) = 6489682907109114409
取低十六位(6489682907109114409) = -15831
偏移地址 = 位取反(-15831) = 15830
循环右移十六次(6489682907109114409) = -4455931331603833047
文件密码 = 取十六进制文本(-4455931331603833047) = C2295A0FFC385F29
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件数据 | 字节集 | | | 偏移地址 | 整数型 | | | 文件句柄 | 整数型 | | |
偏移地址 = 15830 文件句柄 = 打开内存文件 ()写出字节集 (文件句柄, #文件碎片1 )移动读写位置 (文件句柄, #文件首, 偏移地址 )插入字节集 (文件句柄, #文件碎片2 )移到文件首 (文件句柄 ) 文件数据 = 读入字节集 (文件句柄, 取字节集长度 ( #文件碎片1 + #文件碎片2 )) 如果 (取数据摘要 (文件数据 ) ≠ “56d367902e12b5b9f4c2c47559a050e7”)信息框 (“偏移地址错误,请重新计算!”, 16, “系统提示”, )信息框 (“偏移地址正确!”, 64, “系统提示”, )写到文件 (“源码在这.e”, 文件数据 )关闭文件 (文件句柄 )
偏移地址也可以通过暴力求解得到。
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件数据 | 字节集 | | | 偏移地址 | 整数型 | | | 文件句柄 | 整数型 | | |
文件句柄 = 打开内存文件 ()偏移地址 = -1 循环判断首 ()偏移地址 = 偏移地址 + 1 如果真 (偏移地址 > 取字节集长度 ( #文件碎片1 )) 跳出循环 ()写出字节集 (文件句柄, #文件碎片1 )移动读写位置 (文件句柄, #文件首, 偏移地址 )插入字节集 (文件句柄, #文件碎片2 )移到文件首 (文件句柄 )文件数据 = 读入字节集 (文件句柄, 取字节集长度 ( #文件碎片1 + #文件碎片2 )) 删除数据 (文件句柄, 取字节集长度 ( #文件碎片1 + #文件碎片2 )) 移到文件首 (文件句柄 )循环判断尾 (取数据摘要 (文件数据 ) ≠ “56d367902e12b5b9f4c2c47559a050e7”)调试输出 (偏移地址, 取字节集长度 ( #文件碎片1 )) 如果 (取数据摘要 (文件数据 ) ≠ “56d367902e12b5b9f4c2c47559a050e7”)信息框 (“偏移地址错误,请重新计算!”, 16, “系统提示”, )信息框 (“偏移地址正确!”, 64, “系统提示”, )写到文件 (“源码在这.e”, 文件数据 )关闭文件 (文件句柄)
|
评分
-
查看全部评分
|