吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6501|回复: 66
收起左侧

[.NET逆向] 时隔很多年再一次接触逆向

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

image.png
1.破解当然第一步扔PEID

第一步

第一步

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

拖进去

拖进去

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

脱壳

脱壳

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

搜索

搜索

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

修改条件

修改条件

保存运行一下。

保存运行

保存运行

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

上一级调用

上一级调用

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

chkLog

chkLog

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

跟踪

跟踪

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

改成true

改成true

哟 !可以了!

完成注册

完成注册

功能也能用!

功能

功能

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

直接改成true

直接改成true

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

免费评分

参与人数 17吾爱币 +22 热心值 +15 收起 理由
老道创 + 1 + 1 我很赞同!
0821fzh + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
OnlyThen + 1 用心讨论,共获提升!
mala-tang + 1 + 1 谢谢@Thanks!
akhuoji + 1 + 1 热心回复!
electrical + 1 + 1 鼓励转贴优秀软件安全工具和文档!
18581221312 + 1 + 1 我很赞同!
amo今天学习了吗 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
swhyy + 1 我很赞同!
zxcxz2233 + 1 我很赞同!
cloudy520 + 1 + 1 谢谢@Thanks!
人家故里 + 1 + 1 热心回复!
kdrew + 1 + 1 热心回复!
是葫芦娃 + 1 + 1 我很赞同!
zx1636 + 1 + 1 我很赞同!
Pancoes + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
楼主很强
kdrew 发表于 2021-4-21 03:05
楼主很棒,学习一下
Pwqi 发表于 2021-4-21 03:33

楼主很棒,学习一下
weizhuqiang 发表于 2021-4-21 06:37

楼主厉害,膜拜学习。
hqf159 发表于 2021-4-21 08:06
楼主很棒,看明白了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表