ShareKing 发表于 2022-2-18 18:30

IDA实战GoodSync逆向分析

GoodSync是一个文件夹同步工具,支持本地、FTP、SAMBA、少数网盘的同步,玩NAS的应该对这种软件不陌生。

直接搜索License关键字,慢慢观察可疑的地方,可看到一串Have license already字样,既然他都能判断是否注册了,那说明验证函数就在附近


双击跟到代码段,可以看到上面有两个验证函数,第一个需要处理返回值始终为1,第二个需要处理返回值始终为0才可以正常使用软件功能。

第一个函数就两行代码,很简单的判断,让他返回1就行了,才疏学浅,加上N年没碰逆向了,不知道怎么改1个字节的mov,所以直接用mov eax,1了,会占用5个字节(原本是4个),好在有足够的CC可以改为C3 RETN


第二段函数是到期时间验证,需要返回值为0,软件才能正常使用
本想暴力的return 0,后来采取了比较温柔的办法,这里原本是mov ecx,1,已改为0,其实未注册的软件根本就不会经过这里,直接回返回0,保险起见还是改一下


自此软件已经突破3个任务和太多文件不能同步的限制了,我看到有一个老版本的帖子说他的逆向方式如果超过100个文件还是会提示注册,我这个爆破的方法貌似没有问题,试了2000个文件同步正常。

若发现部分功能不能使用,可以对这里的几个函数下断点,看看有没有别处在调用,ps.外网访问功能就别想了,那个多半是服务端验证的,逆向也别占用人家服务器资源,自己想办法内网穿透吧。

如果强迫症想在“关于”里显示激活信息,需要处理这里:
处理之后右下角会弹窗提示已注册?
这里其实我特别想把代码改成 mov ,1 以防别的函数还有验证,但是IDA的修改代码我实在不会用,无论怎么写,语法似乎都不能通过,作罢,望指教


时间我也没仔细处理了,毕竟功能正常就行了

cbWl 发表于 2022-2-18 18:30

谢谢分享

wqG09452 发表于 2022-2-18 18:30

感谢楼主

pVgX3 发表于 2022-2-18 18:31

感谢楼主

lckgqYZoNb 发表于 2022-2-18 18:39

感谢楼主

iyjrcJOU089 发表于 2022-2-18 18:41

甘拜下风,谢谢分享

uYE05 发表于 2022-2-18 18:43

谢谢分享

GRdlFyoXp 发表于 2022-2-18 18:44

感谢楼主

EJxhTi512 发表于 2022-2-18 19:07

谢谢分享

wtOEh5 发表于 2022-2-18 19:14

感谢楼主
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: IDA实战GoodSync逆向分析