研究某飞象棋软件的破解过程!
本帖最后由 noReturn 于 2023-12-29 22:11 编辑学习软件逆向,定一个flag,将这个某飞象棋破解了,就算是入门了。
软件地址:https://pf.stkme.com/
首先这个软件是免费的。但是在某些功能上又不能免费的。并且需要联网才可以使用,否则会闪退!以及需要管理员权限。
程序并不是安装,而是以文件形式运行。不同于我所见过的程序文件,某飞象棋文件如下:
似乎是做了一层保护,真正的运行文件在APP文件夹中。
按照破解过程惯例,在熟悉程序之后,查看是否加壳。我对App文件外的主程序和APP文件夹中主程序分别进行了检测。使用工具Exeifo PE
外部主程序分析:
内部主程序分析:
在一番查询之后,我并没有找到相关壳的特征,或许这个软件就根本没有加壳。
于是我直接进入调式状态。由于程序是x64位,所以使用了工具:x64dbg
当我进行调试时,首先进入了系统断点,然而我运行后,先进入一次异常断点,然后在运行,开始申请系统管理权限,同意后,程序启动,调试结束了。
原本我以为是没有添加断点或者其他原因,在反复试验了多次之后,依旧如此。
我这时认为是因为程序使用了反调试技术!
再进行调试App文件内部的主程序文件时,程序直接印证了我的猜想。弹出错误提示:
对于反调试的内容,我就需要重新学习去了。所以,未完待续······
更新一次:
针对他人的回复,了解到.net C#程序并非使用这些工具。更换dnspy进行反编译了解。
需要找到注册用户的部分,但问题在于我还没有找到。
需要调试的是app目录下的PengfeiChess.exe,被混淆的.net程序,先脱壳去混淆,再用DNSPY静态或者动态分析。 3yu3 发表于 2023-11-14 21:00
需要调试的是app目录下的PengfeiChess.exe,被混淆的.net程序,先脱壳去混淆,再用DNSPY静态或者动态分析。
请问有没有推荐的关于去混淆的教程? noReturn 发表于 2023-11-15 20:57
请问有没有推荐的关于去混淆的教程?
对了。我想问一下,需不需要取消阻止这个程序申请的管理员权限!因为我怀疑这个PengfeiChess是先通过系统管理员权限验证和反调试的。 骚年,这是.net程序,x64dbg调不到.net那块的代码叭 这不是.NET程序吗 iaoedsz2018 发表于 2023-12-11 19:37
骚年,这是.net程序,x64dbg调不到.net那块的代码叭
原来是这样。 我第一次知道。大哥,为什么不能x64dbg不能调.net。程序最后不都是编译成二进制? situhaonan 发表于 2023-12-13 12:35
这不是.NET程序吗
嗯嗯。上一楼告诉我了。大佬,我想问一下。程序必须申请管理员权限才能使用,是不是程序用管理员权限,通过注册表之类,进行认证和确认用户的身份。破解的时候,需不需要处理”申请管理员权限“ noReturn 发表于 2023-12-14 10:45
原来是这样。 我第一次知道。大哥,为什么不能x64dbg不能调.net。程序最后不都是编译成二进制?
运行时解析执行的,你断下来的位置基本都在.net运行时里 我现在表示我错了。在学习了反反调试了一些方法后,没有解决问题。搜了一下,发现已经有前辈进行过破解,但是其复杂程度远超过我的想象,并且破解版本还是旧版。
按照前辈的说法,这个软件百分之三十都是反破解。光是前辈展示的内容,足以将破解软件和开发软件的成本倒置。我还是决定找找开源软件,自己改改吧。
页:
[1]