市面上大部分平台的青少年模式均为4-6位纯数字密码且无错误次数限制,则均可使用暴力破解.
关于B站青少年模式密码破解,本篇文章围绕爆破进行讲解.
主要思路:使用C/C++编写控制键盘输入指定数字的脚本(B站的青少年模式 密码为4位),连接到安卓设备. 安卓设备可分为模拟器和投屏两种,推荐使用模拟器.
主函数:Sleep()和keybd_event()
可能有人有疑问,为何使用Sleep(),难道速度不越快越好吗?
考虑到本次在前端爆破,因B站本身问题有概率出现没有接收到输入的错误,一旦出现错误未能立即发现只得从新来过.为减少错误概率本次使用的速度为60.
核心代码:使用取余运算拆分四位数对应到后面的键位上
for (e = 1; e<10000; e++)
{
d = e;
a = d / 1000;
b = (d -= a * 1000) / 100;
c = (d -= b * 100) / 10;
d -= c * 10;
if(a+b+c+d!=0)
注:为了界面的” 美观”去除了密码” 0000”如有需要,自行输入.
完整代码:单机空格键开始/停止运行
#include
#include
int main()
{
while(1)
{
if(GetAsyncKeyState(VK_SPACE))break;//空格建开始
}
int a, b, c, d, e,hc=0,kg=0;
printf("5 "),Sleep(1000);
printf("4 "),Sleep(1000);
printf("3 "),Sleep(1000);
printf("2 "),Sleep(1000);
printf("1\n"),Sleep(1000);
for (e = 1; e<10000; e++)
{
d = e;
a = d / 1000;
b = (d -= a * 1000) / 100;
c = (d -= b * 100) / 10;
d -= c * 10;
if(a+b+c+d!=0)
printf("%d%d%d%d ", a, b, c, d);
Sleep(60);
if (a == 0)//1位
{
keybd_event(48, 0, 0, 0); keybd_event(48, 0, KEYEVENTF_KEYUP, 0);//0
}
else if (a == 1) {
keybd_event(49, 0, 0, 0); keybd_event(49, 0, KEYEVENTF_KEYUP, 0);//1
}
else if (a == 2)
{
keybd_event(50, 0, 0, 0); keybd_event(50, 0, KEYEVENTF_KEYUP, 0);//2
}
else if (a == 3)
{
keybd_event(51, 0, 0, 0); keybd_event(51, 0, KEYEVENTF_KEYUP, 0);//3
}
else if (a == 4)
{
keybd_event(52, 0, 0, 0); keybd_event(52, 0, KEYEVENTF_KEYUP, 0);//4
}
else if (a == 5)
{
keybd_event(53, 0, 0, 0); keybd_event(53, 0, KEYEVENTF_KEYUP, 0);//5
}
else if (a == 6)
{
keybd_event(54, 0, 0, 0); keybd_event(54, 0, KEYEVENTF_KEYUP, 0);//6
}
else if (a == 7)
{
keybd_event(55, 0, 0, 0); keybd_event(55, 0, KEYEVENTF_KEYUP, 0);//7
}
else if (a == 8)
{
keybd_event(56, 0, 0, 0); keybd_event(56, 0, KEYEVENTF_KEYUP, 0);//8
}
else if (a == 9)
{
keybd_event(57, 0, 0, 0); keybd_event(57, 0, KEYEVENTF_KEYUP, 0);//9
}
Sleep(60);
if (b == 0)//1位
{
keybd_event(48, 0, 0, 0); keybd_event(48, 0, KEYEVENTF_KEYUP, 0);//0
}
else if (b == 1)
{
keybd_event(49, 0, 0, 0); keybd_event(49, 0, KEYEVENTF_KEYUP, 0);//1
}
else if (b == 2)
{
keybd_event(50, 0, 0, 0); keybd_event(50, 0, KEYEVENTF_KEYUP, 0);//2
}
else if (b == 3)
{
keybd_event(51, 0, 0, 0); keybd_event(51, 0, KEYEVENTF_KEYUP, 0);//3
}
else if (b == 4)
{
keybd_event(52, 0, 0, 0); keybd_event(52, 0, KEYEVENTF_KEYUP, 0);//4
}
else if (b == 5)
{
keybd_event(53, 0, 0, 0); keybd_event(53, 0, KEYEVENTF_KEYUP, 0);//5
}
else if (b == 6)
{
keybd_event(54, 0, 0, 0); keybd_event(54, 0, KEYEVENTF_KEYUP, 0);//6
}
else if (b == 7)
{
keybd_event(55, 0, 0, 0); keybd_event(55, 0, KEYEVENTF_KEYUP, 0);//7
}
else if (b == 8)
{
keybd_event(56, 0, 0, 0); keybd_event(56, 0, KEYEVENTF_KEYUP, 0);//8
}
else if (b == 9)
{
keybd_event(57, 0, 0, 0); keybd_event(57, 0, KEYEVENTF_KEYUP, 0);//9
}
Sleep(60);
if (c == 0)//1位
{
keybd_event(48, 0, 0, 0); keybd_event(48, 0, KEYEVENTF_KEYUP, 0);//0
}
else if (c == 1)
{
keybd_event(49, 0, 0, 0); keybd_event(49, 0, KEYEVENTF_KEYUP, 0);//1
}
else if (c == 2)
{
keybd_event(50, 0, 0, 0); keybd_event(50, 0, KEYEVENTF_KEYUP, 0);//2
}
else if (c == 3)
{
keybd_event(51, 0, 0, 0); keybd_event(51, 0, KEYEVENTF_KEYUP, 0);//3
}
else if (c == 4)
{
keybd_event(52, 0, 0, 0); keybd_event(52, 0, KEYEVENTF_KEYUP, 0);//4
}
else if (c == 5)
{
keybd_event(53, 0, 0, 0); keybd_event(53, 0, KEYEVENTF_KEYUP, 0);//5
}
else if (c == 6)
{
keybd_event(54, 0, 0, 0); keybd_event(54, 0, KEYEVENTF_KEYUP, 0);//6
}
else if (c == 7)
{
keybd_event(55, 0, 0, 0); keybd_event(55, 0, KEYEVENTF_KEYUP, 0);//7
}
else if (c == 8)
{
keybd_event(56, 0, 0, 0); keybd_event(56, 0, KEYEVENTF_KEYUP, 0);//8
}
else if (c == 9)
{
keybd_event(57, 0, 0, 0); keybd_event(57, 0, KEYEVENTF_KEYUP, 0);//9
}
Sleep(60);
if (d == 0)//1位
{
keybd_event(48, 0, 0, 0); keybd_event(48, 0, KEYEVENTF_KEYUP, 0);//0
}
else if (d == 1)
{
keybd_event(49, 0, 0, 0); keybd_event(49, 0, KEYEVENTF_KEYUP, 0);//1
}
else if (d == 2)
{
keybd_event(50, 0, 0, 0); keybd_event(50, 0, KEYEVENTF_KEYUP, 0);//2
}
else if (d == 3)
{
keybd_event(51, 0, 0, 0); keybd_event(51, 0, KEYEVENTF_KEYUP, 0);//3
}
else if (d == 4)
{
keybd_event(52, 0, 0, 0); keybd_event(52, 0, KEYEVENTF_KEYUP, 0);//4
}
else if (d == 5)
{
keybd_event(53, 0, 0, 0); keybd_event(53, 0, KEYEVENTF_KEYUP, 0);//5
}
else if (d == 6)
{
keybd_event(54, 0, 0, 0); keybd_event(54, 0, KEYEVENTF_KEYUP, 0);//6
}
else if (d == 7)
{
keybd_event(55, 0, 0, 0); keybd_event(55, 0, KEYEVENTF_KEYUP, 0);//7
}
else if (d == 8)
{
keybd_event(56, 0, 0, 0); keybd_event(56, 0, KEYEVENTF_KEYUP, 0);//8
}
else if (d == 9)
{
keybd_event(57, 0, 0, 0); keybd_event(57, 0, KEYEVENTF_KEYUP, 0);//9
}
if(e==9999)
{
e=0;
}
kg++,hc++;
if(hc==10){printf(" ");kg=0;}
if(hc==20){printf("\n");hc=0;}
if (GetAsyncKeyState(VK_SPACE))return 0;//空格建结束
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)