2022-01-26 21:14:26
最近在研究了.net程序,在破解软件的同时,发现这款软件与我破解的软件类似,就当温故练习了。该软件低级版本的破解教程与文件:http://www.52pojie.cn/thread-287945-1-1.html再次感谢 小小小青年 的教程。教程比较长,图也比较多,请大家认真看完。1.得到启动的dll文件PEID 查壳 什么都没有,其它果然它是什么都没有OD载入,发现这个软件会在内存中生成一个dll文件,然后程序加载它,跟踪代码,在程序的关键点断下: lord PE直接dump dll文件镜像: 将dump.dmp直接改成 Nie.Launcher.dll ,为什么改成这个名字呢,因为打开dll时,它内部是这个名字。 经查,这个dll没有加壳,是个原生态的dll文件。2.生成启动文件。研究原程序发现在调用完这个dll中的接口后,就完成了它的使命。而这个dll是.net程序,原程序猜测是C++的,dll文件在内存中拼接出来的,生成过程中还数据搬移、解密什么的,没细看。为了实现dll的修改,及方便及时运行,看修改结果。直接动手自已写启动exe了。先看看这个dll文件吧: 里面包含了一个Run方法和一个string参数。 跟踪原程序发现调用了此函数,切参数为unicode "102" .先记下吧。写一个简单的C#程序,在里面调用这个Run方法,且传入"102"这个参数,程序出现了如下情况: 什么版本要更新。 ,而它的原程序,并没有显示要更新啊。记下版本信息:v1.1.0.3。是不是传入的参数不对啊,再试改成“110”,直接如下情况: 到底什么情况啊。 研究了一下dll中的代码,发现它联网后,获得了版本信息,然后与application.version什么的比较,完全不懂嘛。偶然的机会,打开原程序到cff中时,发现: 难道,难道 是exe的版本号信息 ?(和更新提示的版本一样) 已不相信世界上有真爱了。马上动手修改启动exe文件的版本号信息: 改成1.1.0.3 得新编译,生成了启动文件: 还是挺好看的嘛。试着运行下: 好吧,终于跑起来了,要进入到.net的世界了。3. 7xk文件的解密在程序下面看到很多7xk文件,分析Nie.Launcher.dll中的程序发现,它们都是加密过的dll文件。直接解密它们吧。它的解密程序,倒是简单,直接从Nie.Launcher.dll中复制出来就可了: 建一个C#程序吧: 直接将7xk文件解密成dll: 7xk(7侠客哈),你把这些文件的解密算法如此简单,我对你的敬仰之心,少了几分。这些dll也是原生态的,没加壳。 将这些复制到原程序下,名字后缀改为7xk吧。4.破解 reflector 不得不说这是个神器打开Nie.Launcher.dll : 干掉它的更新和文件MD5校验。 此处的干掉更新,我不是完全确定,必竞我在网络方面是小白。干掉MD5是因为我们解密了它的7xk文件。再往下看: 好吧,干掉它的7xk文件解密,因为我们已经解密过了。解密过的7xk文件,我们才能好好的玩耍哈。好了,我们跳过程序的注册码弹窗,进入主程序: 研究发现,它有没有注册,和一个变量相关的: 这是你了。在这个变量所属的类中,在其构造函数中,直接对其赋值为true.不知道C#中叫不叫构造函数,才学C#不到3天。改完后程序可以运行了,但运行一会儿就弹窗说“注册码已过期”,一点程序就关闭了。搜索所有7xk文件,也没有找到类似的字串,是不是它的非.net dll中的字串呢,拿程序下面的dll与低版本比较,没有什么不同嘛。突然想到是不是网络服务器端发过来的字串哈?网络小白的无奈。研究下代码,突然看到: 反正是去掉 网络端的信息。竟然还有,exec远程执行的后门难怪360会报这是木马了,希望作者改进吧。最后都修改完了:
看到永久有效 都莫名的兴奋。结语:程序还是挺复杂的,作者用心良苦。因为此软件的功能没有验证。喜欢的同学可以用 小小小青年的版本,特别喜欢,请支持7xk正版!添加了附件。这个软件有后门,大家谨慎点,也可以研究下后门的代码,在此就不多言了。
--推荐给朋友
公众微信号:吾爱破解论坛
或搜微信号:pojie_52
--内容分享
点击右上角“...”标志,分享到朋友圈
--更多精彩内容
请点击右上角“...”标志,点击“查看公众号”,往下拉一点再点击“查看历史消息”即可!
--官方论坛
www.52pojie.cn
相关推荐
友情链接
Copyright © 2023 All Rights Reserved 版权所有 陕西小吃美食价格交流群