破解 Advanced Renamer

破解 Advanced Renamer

简介

Advanced Renamer用于一次重命名多个文件和文件夹。对于个人使用,Advanced Renamer是一款免费程序。收费版和免费版提供的是一样的功能。破解仅用于学习于交流。对于商业使用推荐购买商业许可证。

破解方式

通过修改激活服务器地址

使用x64dbg找到url的地址

image-20231011163844617

计算出这段内存在文件中的偏移地址为728144

image-20231011164223313

通过将这段地址修改为本地地址来模拟服务器。

CBM BASIC V2
68 00 74 00 74 00 70 00 3A 00 2F 00 2F 00 31 00 32 00 37 00 2E 00 30 00 2E 00 30 00 2E 00 31 00 3A 00 38 00 30 00 38 00 30 00 00 00 30 00 00

image-20231011165617405

注意我们的本地地址比域名要短,需要手动填充两个字节的0字符。

打开程序以后,尝试随意输入一个激活码来进行激活,我们可以看到一个URL请求。

/license_validate.php?software_id=10&ver=3880100&license_key=<KEY>

目前我们不知道应该返回一个什么格式的json数据让app认为激活成功。所以需要想办法获取验证格式。

查看加载的链接库知道网络由winhttp请求。查询官方手册可知网络请求获取的函数,并打断点。

image-20231011171954539

重新点击注册按钮,成功命中断点。

通过调用堆栈找到对应的处理函数。

image-20231011172247995

翻转ZF标志位可知地址B28CE7处是网络错误处理函数。

image-20231012101342883

运行到4C5DAC时,弹出了错误弹窗。由此推断格式判断在这里附近。

image-20231012103356895

通过网络请求时的调用堆栈,可以看得出来应用启动了一个线程处理验证请求。

得到返回的格式后,直接本地模拟激活服务器。

Python
from fastapi import FastAPI
app = FastAPI()
@app.get("/license_validate.php")
async def root():
    return {"name": "name","email": "mail@example.com","licensetype": "commercial"}

此时点击激活,便会提示激活成功。

image-20231012113119311

image-20231012113124132

至此,激活破解完成。

通过修改跳转指令

通过上面的破解方式可以知道,注册成功后程序会创建一个名为lic.ini的文件。该文件位于AppData目录。通过该文件可以找到关键跳的位置。

找到系统函数CreateFile并打断点,放行其他文件,直到第一个函数参数为

image-20231012114240027

通过观察调用堆栈,可知地址 C0C32F处为关键跳位置。

image-20231012115253714

通过修改指令JZ为NZ可以跳过关键跳。不过这样如果激活了就会提示未激活,所以在这里选择填充6个NOP。

image-20231012115421006

通过x64dbg计算出文件偏移为80B72F

将这六个字节修改为 0x09(NOP)

image-20231012115645613

image-20231012115828232

保存后打开程序,可以看到破解完成。

最后

本次使用的软件版本为 3.88

二进制修改程序使用的是HxD Hex Editor

反汇编工具使用的是 x64dbg

qrcode

创建时间:2023-10-12 04:10:09

最后修改:2023-10-12 04:19:33