简单方法通过反编译Romaco Timeout,获取到已经忘记的密码
Romaco Timeout是加拿大的一个免费软件,用于控制小孩使用电脑的时间,可以使用电脑的时间段,禁止某些程序,禁止某些网站(比如视频网站等)。是广大家长的福音。
前一段时间因为小孩上网课,我设置了一些限制,但是一段时间后我忘记了密码,然后就搜索发现,没有办法恢复密码,其软件官网都说一旦忘记了密码,没有什么好办法。
即使卸载了软件,很多限制都还在,我确实尝试卸载了软件,发现果然如此。
难道要重装系统?
这不是我的风格,一个简单的软件还要我重装系统才能搞定?
1. 使用 DIE检测,其为.net4.0编译的,并且没有混淆,这就好办了。
2. 使用dnSpy打开,定位到Romaco Timeout | Controle Panel | btn_unlock_Click。
看流程很简单,程序内直接明文比较输入的密码和保存的密码。
private void btn_unlock_Click(object sender, RoutedEventArgs e)
{
if (this.pb_password.Password == this.app.password)
{
this.unlockInterface();
this.pb_password.Password = "";
return;
}
MessageBox.Show("Incorrect Password", "Incorrect Password", MessageBoxButton.OK, MessageBoxImage.Exclamation);
this.pb_password.Password = "";
}
这就简单了,在这里直接一个MessagBox显示之前的密码即可,右键选择 “编辑方法(C#)"。
修改如下:
private void btn_unlock_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.app.password, "Your password", MessageBoxButton.OK, MessageBoxImage.Exclamation);
if (this.pb_password.Password == this.app.password)
{
this.unlockInterface();
this.pb_password.Password = "";
return;
}
MessageBox.Show("Incorrect Password", "Incorrect Password", MessageBoxButton.OK, MessageBoxImage.Exclamation);
this.pb_password.Password = "";
}
保存,右键选择“编译”。
退回主界面,选择菜单 "文件" | "全部保存"
在弹出的窗口选择要保存的文件名,然后执行新的文件即可。
在Password文本框随便输入什么字符,再点 "Unlock",软件就直接弹出对话框告诉你原来的密码是多少,是不是够简单?
所以,.net开发的软件请混淆再发布,增加破解的难度。
后来你的小孩根据这个帖子破解了这个软件。 gxgxzlzl 发表于 2021-1-30 08:31
再后来,楼主又破|解了官方加了高难度的防破|解,他的小孩又根据他的帖子破|解了这个软件..
如此往复...
...
妙哉!小孩发现小孩的小孩已经破解了软件,把小孩的小孩打了一顿,小孩的小孩从梦中惊醒,看到楼主从楼上跳下。楼主从梦中惊醒,原来这一切都是个梦......20多岁的楼主看着床边的小孩还有小孩的小孩,他顿悟了:原来他还在梦里...... 后来官方看到了这个帖子,加了高难度防破解,大批小孩原来能破解,现在破不了了 没有细胞的人 发表于 2021-1-30 08:07
后来官方看到了这个帖子,加了高难度防破解,大批小孩原来能破解,现在破不了了
再后来,楼主又破|解了官方加了高难度的防破|解,他的小孩又根据他的帖子破|解了这个软件..
如此往复...
直到小孩接过楼主的重任,继续破|解此软件,小孩的小孩依然看着小孩的帖子破|解着此软件{:1_926:}
学习了 谢谢! 楼主的反编译技术熟练这个方法有价值谢谢分享 有点意思 这个软件想到了我天朝几千万公帑研发的绿坝 学到了,讲得很详细。感谢分享!
页:
[1]
2