jb937158168 发表于 2021-4-20 22:02

时隔很多年再一次接触逆向

前言:今日朋友说他要写小说,他需要理一下人物关系,扔给我一个软件,让我给他破解一下,有些功能需要授权,我顿时有点懵逼,心想挺久没接触逆向了弄不出来就挺尴尬的。我跟他说,那我试试看。
接下来,用着我仅有的一点记忆开始了这次漫长的破解之旅


1.破解当然第一步扔PEID

2.呀!是个.net!一看到.NET那就想到了dnSpy神器(但是我没用过啊!此处花了点时间学习了一下dnSpy)-->掏出我的dnSpy,把软件扔进去

嗯?乱码,那应该是加了壳(此处又花了点时间去找.net脱壳),在论坛上找到.net 一般都用de4dot,抱着试试看的心态。用de4dot脱了壳之后

嗯!舒服了!----->然后想着既然没乱码了,那么应该可以搜索字符串了吧!(按照无脑爆破的方法,直接搜索“登录”!)

芜湖!一下就看到了一个熟悉的if语句(心想卧槽那么简单?),修改if语句为条件为true。

保存运行一下。

点了确定之后并没有发生什么改变,是什么地方错了吗。然后我接着往回跟。跟到上一级调用

ChkLog这个方法,是发送网络验证的东西。

当我跟踪到这里的时候,我觉得text应该就是接收返回信息的一个参数,然后与1对比,等于1就true

下面this.Setting.T = (this.AuthNet ? this.GetCurTimeStr() : this.Setting.T);
很明显就是按照AutnNet的 false 或者true进行验证。
当然无脑true啊,把下面text改成1试试

哟 !可以了!

功能也能用!

我们总不能每次都在里面改变量吧,所以我们直接一步到位,

直接改成true
然后保存,运行一下,非常nice!。。。。
----记录一下整个过程用了3个半小时。原因还是太菜了

treasonwei 发表于 2021-4-21 10:08

很多年都可以随便破解成功,我很多年都还没接触破解....

chased 发表于 2021-4-21 11:24

本帖最后由 chased 于 2021-4-21 13:02 编辑

这里面还有一个字符串加密函数,解密后才能正常显示中文字符,楼主是手动修改的??


public class GClass0
{
    // Token: 0x06000982 RID: 2434 RVA: 0x0002A500 File Offset: 0x00028700
    public static string smethod_0(string string_0)
    {
      int length = string_0.Length;
      char[] array = new char[length];
      for (int i = 0; i < array.Length; i++)
      {
            char c = string_0[i];
            byte b = (byte)((int)c ^ length - i);
            byte b2 = (byte)((int)(c >> 8) ^ i);
            array[ = (char)((int)b2 << 8 | (int)b);
      }
      return string.Intern(new string(array));
    }
}

decker 发表于 2021-4-20 22:30

楼主厉害,膜拜学习。

是葫芦娃 发表于 2021-4-20 22:37

厉害,学习一下

ningyu0426 发表于 2021-4-21 00:10

谢谢楼主跟楼主学习学习。

CDavid 发表于 2021-4-21 00:26

跟楼主学习了

窝来了 发表于 2021-4-21 00:38

楼主很强{:1_893:}

kdrew 发表于 2021-4-21 03:05

楼主很棒,学习一下

Pwqi 发表于 2021-4-21 03:33


楼主很棒,学习一下

weizhuqiang 发表于 2021-4-21 06:37


楼主厉害,膜拜学习。

hqf159 发表于 2021-4-21 08:06

楼主很棒,看明白了
页: [1] 2 3 4 5 6 7
查看完整版本: 时隔很多年再一次接触逆向