sunil 发表于 2021-1-30 02:33

简单方法通过反编译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开发的软件请混淆再发布,增加破解的难度。

Ane794 发表于 2021-1-30 03:04

后来你的小孩根据这个帖子破解了这个软件。

没有细胞的人 发表于 2021-1-30 09:31

gxgxzlzl 发表于 2021-1-30 08:31
再后来,楼主又破|解了官方加了高难度的防破|解,他的小孩又根据他的帖子破|解了这个软件..
如此往复...
...

妙哉!小孩发现小孩的小孩已经破解了软件,把小孩的小孩打了一顿,小孩的小孩从梦中惊醒,看到楼主从楼上跳下。楼主从梦中惊醒,原来这一切都是个梦......20多岁的楼主看着床边的小孩还有小孩的小孩,他顿悟了:原来他还在梦里......

没有细胞的人 发表于 2021-1-30 08:07

后来官方看到了这个帖子,加了高难度防破解,大批小孩原来能破解,现在破不了了

gxgxzlzl 发表于 2021-1-30 08:31

没有细胞的人 发表于 2021-1-30 08:07
后来官方看到了这个帖子,加了高难度防破解,大批小孩原来能破解,现在破不了了

再后来,楼主又破|解了官方加了高难度的防破|解,他的小孩又根据他的帖子破|解了这个软件..
如此往复...
直到小孩接过楼主的重任,继续破|解此软件,小孩的小孩依然看着小孩的帖子破|解着此软件{:1_926:}

mengfang1 发表于 2021-1-30 08:40

学习了 谢谢!

寒冰流火 发表于 2021-1-30 10:16

楼主的反编译技术熟练这个方法有价值谢谢分享

youyisi2a 发表于 2021-1-30 10:30

有点意思

shaokui123 发表于 2021-1-30 12:37

这个软件想到了我天朝几千万公帑研发的绿坝

netpeng 发表于 2021-1-30 13:04

学到了,讲得很详细。感谢分享!
页: [1] 2
查看完整版本: 简单方法通过反编译Romaco Timeout,获取到已经忘记的密码