Aklscc 发表于 2020-6-8 00:13

某图片压缩软件逆向破解尝试

缘由
学习了一段时间的逆向破解,也做了三四十个CrackMe练习,所以想尝试一些困难的逆向破解。偶然发现了一款软件,用来做图片压缩的。

免费版的有数量限制,强迫症有点受不了,所以想尝试一下自己动手。

尝试和思路
查壳分析
找到安装文件夹,需要分析的软件拖入 ExeInfoPE 软件,查看是否有壳和区段信息:

可以确定:
1. 软件无壳,语言为C++
2. 含有.tls字段,可能存在反调试干扰(这个其实不太懂

使用x64dbg进行分析
由于软件是64位的,所以使用x64dbg软件调试。

打开软件,查看特征:


尝试一:
搜索字符串,但是没有任何相关的字符串。已经使用了中文插件。英文搜索定位到的也不是需要的字符:



尝试二:
分析导入模块,函数调用,发现了 GetWindowTextW、lstrcmpiA、lstrcmpiW等函数,但是都定位不到序列号比较的位置。

尝试三:
直接输入序列号,在 Memory(内存布局)选项卡下搜索字符串,再定位到反编译窗口、数据窗口、堆栈窗口等,这次成功找到了。不过显示的是 outsd 指令,上下文也找不到相关的比较、跳转指令。


所以有些无从下手,特此求助论坛各位大神给些意见。

经过分析,我有一下猜测:
1. 是由于TLS回调影响了调试?软件有4个TL回调断点,但是不知道处理,所以是直接跳过的。
2. 是由于软件引用了本地语言包,所以找不到字符串?因为软件文件下有 locales 文件夹,里面存储了很多语言相关的 .pak 文件。

____________________________________
ps: 软件可以直接网上搜索下载,速度很快的。
第一在该区发帖,如有违规,希望提示修改,麻烦版主了!🙏

MC阿虎 发表于 2020-6-8 09:42

楼主的精神学习到了

xingsheng 发表于 2020-6-8 17:02

{:301_997:}支持一下楼主加油

酒醒黄昏 发表于 2020-6-8 20:46

这种软件跟之前首先要弄明白是本地验证还是网络验证。代码有没有加密,如果有试用可以试用限制入手。没有试用可以尝试可以利用的蛛丝马迹进行多方位的尝试。有弹窗就拦截弹窗,没弹窗就拦截内存字符。剩下就是回溯找关键了。凭经验操作把

Aklscc 发表于 2020-6-9 00:40

酒醒黄昏 发表于 2020-6-8 20:46
这种软件跟之前首先要弄明白是本地验证还是网络验证。代码有没有加密,如果有试用可以试用限制入手。没有试 ...

好的,谢谢

Aklscc 发表于 2020-6-9 00:53

Aklscc 发表于 2020-6-9 00:40
好的,谢谢

经过再次判断分析,发现软件是网络验证。验证方法很简单:
1. 断网,输入激活码, 点击激活,显示请求失败。
2. 使用Process Monitor监视软件活动,获得网络连接情况。确实存在,IP为 :47.97.46.41
3. 使用x64dbg“句柄”功能,获取网络情况,发现是一样。

开始继续分析。搜索“跨模块引用函数”情况,搜索关键字“socket",下断点。搜索到了5终,大概是:
<ws2_32.closesocket>
<ws2_32.socket>
<ws2_32.WSADuplicateSocketW>
<ws2_32.WSASocketW>
<ws2_32.ioctlsocket>

都下断点,然后运行验证。终于断下来了。不过代码量好打。网络验证破解也没太多经验。继续试试吧。感兴趣的朋友也可以尝试。

Ldfd 发表于 2020-6-22 21:26

后排支持楼主,有没有可能做到破解图片数量判断呢

cube 发表于 2020-6-24 00:13

楼主能否提供一下软件链接.

Aklscc 发表于 2020-6-26 23:55

cube 发表于 2020-6-24 00:13
楼主能否提供一下软件链接.

搜索引擎搜索“PP鸭”或者“PP duck”就可以找到了。

Aklscc 发表于 2020-6-26 23:57

Ldfd 发表于 2020-6-22 21:26
后排支持楼主,有没有可能做到破解图片数量判断呢

最近没太多时间再去研究了。

软件的数量限制,就是注册版和非注册版的区别。所以,还是要走逆向破解的思路。
页: [1]
查看完整版本: 某图片压缩软件逆向破解尝试