求助分析软件自校验
本帖最后由 朱朱你堕落了 于 2023-9-23 20:29 编辑遇到个神奇的软件,求助大佬分析。
1
软件是安装包,就按默认的下一步,下一步安装,不做任何安装路径修改,那么默认安装在:C:\Program Files (x86)\BestNameProV21
好,这时,先不打开软件。把这个BestNameProV21文件夹复制一份,放到C盘要目录或,或者其他目录下。
迷之操作的时刻来了。
先来到C:\Program Files (x86)\BestNameProV21这个默认安装目录下,运行BestNamePro软件,点第一个“我要起名”,
OK,软件右侧正常显示出来。
https://im.gurl.eu.org/file/30a32181fb3cde059c43e.png
但是如果打开C盘下目录下的,运行BestNamePro软件,点第一个“我要起名”,软件就卡死了,动不了了,软件右侧
也不正常显示出来。
https://im.gurl.eu.org/file/6e96680800410dc42ef13.png
到底怎么回事?连路径都做检验,这不可能吧,这么神奇吗?
2
还是默认安装路径下,把软件去掉随机基址,并爆破。爆破修改如下:
00407C30 B8 01000000 mov eax,0x1
00407C35 C3 retn
00407C36 90 nop
00407C37 90 nop
同样出现,点“我要起名”后卡死的情况,应该就是有自校验了。
https://im.gurl.eu.org/file/ee27da58cc0bfa6665af1.png
注:以上测试在win7 x64虚拟机测试
求助问题:
软件是如何自校验的,自校验位置在哪里?难道把软件的md5值啥的放到main.dat这个SQLite数据库里做对比?
当然只是猜想,不知道SQLite数据库密码,能找出这个密码吗?
软件:https://www.123pan.com/s/YL29-L06Oh.html
是同时打开,默认的行,另一个打开卡死?
还是默认路径那个关了,单独打开移动位置的卡死? 要求这两个相等。
解药
对了,大家都知道我的破解 SOP。
第一步是观察,
第二步是猜,
第三步验证第二步。
所以不要问我怎么找到这答案的。 本帖最后由 vipcrack 于 2023-9-23 22:02 编辑
我要起名检测
002B2EF5 E8 36FBFFFF call 002B2A30 ; 这个CALL进去xor eax,eax ret回来
002B2EFA 8B86 DC030000 mov eax, dword ptr
002B2F00 85C0 test eax, eax
002B2F02 7C 10 jl short 002B2F14
002B2F04 6A 02 push 0x2
002B2F06 6A 02 push 0x2
002B2F08 50 push eax
002B2F09 8D8E 88030000 lea ecx, dword ptr
002B2F0F E8 DC620700 call <jmp.&mfc90u.#6353>
002B2F14 8B86 E8050000 mov eax, dword ptr
002B2F1A 85C0 test eax, eax
002B2F1C 0F8E A0000000 jle 002B2FC2
002B2F22 83F8 01 cmp eax, 0x1
002B2F25 75 07 jnz short 002B2F2E
002B2F27 68 944C4400 push 00444C94 ; 下一步(唐诗起名)
其他的检测,修改这里
00CE6302 E8 69F8FFFF call 00CE5B70
00CE6307 8BCE mov ecx, esi
00CE6309 E8 D2EBFFFF call 00CE4EE0 ; 这个进去RET
00CE630E 8BCE mov ecx, esi
00CE6310 E8 9BE2FFFF call 00CE45B0
00CE6315 8D4C24 1C lea ecx, dword ptr
00CE6319 FF15 50DAE700 call dword ptr [<&mfc90u.#600>] ; mfc90u.#601
00CE631F 8D4C24 14 lea ecx, dword ptr
00CE6323 FF15 50DAE700 call dword ptr [<&mfc90u.#600>] ; mfc90u.#601
00CE6329 8D4C24 18 lea ecx, dword ptr
00CE632D FF15 50DAE700 call dword ptr [<&mfc90u.#600>] ; mfc90u.#601
00CE6333 8B8C24 C8000000 mov ecx, dword ptr
00CE633A 64:890D 00000000 mov dword ptr fs:, ecx
这样修改以后菜单不卡,功能没了,使用具体内容,还是有卡死迹象……,用大白劫持算了
无闻无问 发表于 2023-9-23 21:00
是同时打开,默认的行,另一个打开卡死?
还是默认路径那个关了,单独打开移动位置的卡死?
演示视频:
https://www.123pan.com/s/YL29-q06Oh.html 感觉还是大白劫持方便。 我感觉校验在sub_4081B0这函数里,死守CreateFileW,在这个函数里读取了自身并进行了计算,慢慢分析应该能找到关键……伤脑筋,不玩了 程序在关键处调用VariantTimeToSystemTime转换某个时间,应该是楼上大佬说的文件属性时间
补丁:文件偏移0x33730按如下修改
33730 8B 44 24 04 -> C3 90 90 90
附暗桩循环睡眠堵塞汇编处
woflant 发表于 2023-9-24 21:01
程序在关键处调用VariantTimeToSystemTime转换某个时间,应该是楼上大佬说的文件属性时间
补丁:文件偏 ...
老兄,你怎么找到的,刚开始的思路是什么?
页:
[1]
2