闲得无聊,日站日不下来,来日程序。
一到考试就沉迷砍口垒。但是我也不知道为啥。
总之先下载,是个用户名密码登陆的。
这个程序是用账号密码破解的。第一个思路是直接劫持他们的对象socket,伪造一个返回值来欺骗程序,达到不修改程序的效果。
但是抓了个包看了一下。。。
emmm,base64解不出来,算了还是拉到程序ilspy分析一波。
看这一波乱码,不用说了,直接de4dot走起
继续拉进ilspy分析。
这次可以了
为了方便,我们直接搜索 登录
很轻松的找到了。直接右键,分析,寻找调用
发现是一个Update函数
在如图所示的地方判断是否登陆
跟进,判断,发现是个DLL,名字叫做CCLR
直接在目录下面,找到CCLR.dll
直接拖进dnSpy,因为ilspy不能反汇编,所以直接拖进去。
找到相关函数。根据上面的反汇编,直接右键,修改函数。
把相关函数修改为对应的值
再根据这里,把这个函数返回值也随便改一下。
看了一下这个函数返回值是直接返回int然后在string化的,而不是使用时间戳
所以,就直接改成99吧
文件,导出模块。
很多人说编译过程中会有错误,那我就在这更新一下吧,忘记加了。
首先,编辑点编辑方法
按照上面的修改之后,编译,会报错
直接跟进,找到两个
在编译还会有一个错误,把 这个删了。
保存,启动。
破解成功。
作者看起來有做反制
非正常序號直接改會全部程式被關閉
大佬现在有新的破解方法吗,这个方法远征10以上就会关闭所有的程序,或者告诉下大佬当时破解时用的什么版本
现在大概要这样改写,原程序通过参数控制了返回值的内容,1是年2是月,以此类推
你好 我按照教程修改后为什么一旦跑远征十以上就立刻闪退了
因为这个教程是去年的
博主好,在按照教程进行修改并编译后,程序无法打开版本2.4.2
错误log如下ERROR, date = 2020/4/7 22:13:37 +08:00, sender = System.Windows.Threading.Dispatcher,
System.TypeInitializationException: “Grabacr07.KanColleViewer.Models.Assistant”的类型初始值设定项引发异常。 ---> System.IO.FileNotFoundException: 未能加载文件或程序集“System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e”或它的某一个依赖项。系统找不到指定的文件。
在 Grabacr07.KanColleViewer.Models.Assistant..ctor()
在 Grabacr07.KanColleViewer.Models.Assistant..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 Grabacr07.KanColleViewer.Models.Assistant.get_Instance()
在 Grabacr07.KanColleViewer.Application.BDLPTFhWLkX9Gvrppj4()
在 Grabacr07.KanColleViewer.Application.OnStartup(StartupEventArgs e)
在 System.Windows.Application.<.ctor>b__1_0(Object unused)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
如果有指导不胜感激
看Assistant,估计是日期那里,也就是改99那里的变量类型错了。没下载最新版本不知道。
看了下返回值类型还是int32,估计是别的地方做了调整
为啥修改完了 运行后 选择远征>10 并勾选自动远征 所有程序会立刻闪退?
版本2.4.2
母鸡欸?也许作者添加了反破解?
看起来不是。我尝试了一个旧版的,依然会闪退。
我按照这个方法改完了,软件打不开了,怎么办求教
还有,一共要改4个函数,我每改一个,都要遇到两个错误,所以我一共删了8个
===========================================================
ERROR, date = 2020/4/4 星期六 18:16:55 +08:00, sender = System.Windows.Threading.Dispatcher,
System.TypeInitializationException: “Grabacr07.KanColleViewer.Models.Assistant”的类型初始值设定项引发异常。 ---> System.IO.FileNotFoundException: 未能加载文件或程序集“System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e”或它的某一个依赖项。系统找不到指定的文件。
在 Grabacr07.KanColleViewer.Models.Assistant..ctor()
在 Grabacr07.KanColleViewer.Models.Assistant..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 Grabacr07.KanColleViewer.Models.Assistant.get_Instance()
在 Grabacr07.KanColleViewer.Application.B4RQonYJuDfPHSCCqPm()
在 Grabacr07.KanColleViewer.Application.OnStartup(StartupEventArgs e)
在 System.Windows.Application.<.ctor>b__1_0(Object unused)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
这是error记录
好吧,事实上只要我这样改了其中一个函数,软件就打不开了
你是用,编辑--编辑方法 编辑的吗?
不是,我是用了编辑方法
是。。。。。
请问报错应该刪那一些函数
怕刪多了会破坏程式 (´இ皿இ`)
文章已更新,里面有写
(能不能上传一下完成的文件让我研究一下
文章已更新,里面有写
弄好之后又不能开了(会不会我刪太多了😂
还是剩下一行CS0116
那一行把class Cp那啥那啥的冒号之后去掉就行,包括冒号
就是那个:IDisposable
这个 为什么弹出了一大堆错误 CS1525 CS1003 有几百条
编辑->选择编辑方法,然后再编译就会只有几条错误,吧那几条错误的函数都删了就行了
谢谢博主分享,是不是只需要把CCLR.dll文件脱壳,然后用ILspy反编译导出项目文件,然后再修改GetError,GetState等函数的返回值,再编译项目文件就可以了呢?
对,脱壳方式和主文件一样,修改之后编译,可能会有些错误,直接把那些错误的函数删掉就可以通过编译了
将CCLR.DLL导入DNSPY后编译出现错误代码CS1525
似乎没法使用![img]() ht....tps://img.....chr.com/i/GiE528 谢谢博主指点了
和楼上问题一样,按照您的步骤在dnspy里无法修改函数,点编辑方法在新窗口改完点编辑的时候总是报错,编译器错误 CS1519等一堆,请问这里应该怎么操作,亦或是我的操作哪里不对?求教
有图嘛_(:з)∠)_。。有图咱帮你看看
怎么发图。。。或者说怎么联系上大佬
// CCLR.CppWrapper // Token: 0x06000080 RID: 128 RVA: 0x0001AF84 File Offset: 0x0001A384 public int GetExpiredDate(int param) { return .CppUtils.GetExpiredDate(this.pc, param); }請問這裡怎樣把相关函数修改为对应的值
用dnspy,直接把dll拖进去,然后修改整个程序集而不是只修改函数,直接把return改成99就行,或者其他任意数字都行,这个问题不大的,主要是上面那三个函数
绿色游戏啊
自己动手,丰衣足食,这才是学计算机的乐趣.jpg