SafeNet Sentinel LDK壳伪装yoda's Protector v1.02 (.dll,.yoda's Protector v1.02
最近在汉化某软件,dll资源文件在修改字符串时,主程序趴窝.经过分析主程序启动时调用了产品校验dll进行字符串校验,发现改动即报错.于是对该文件进行分析跟踪.首先查壳peid0.95显示壳为yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehkar (h) *,图如下
peid查壳有可能遇到伪装壳,所以我又用了DIE3.08查壳,图如下
查壳显示为保护器: SafeNet Sentinel LDK(-)[-],看来这个是遇到了伪装壳,因为该系列软件的之前版本都是圣天诺的加密狗,所以判定应该是这个壳,而非yoda's Protector v1.02
由于第一次遇到这个壳,所以网上查询相关资料,但是关于这个脱壳的资料几乎没有,所以尝试OD脱壳
od载入dll(环境win10x64)
直接显示无法加载dll,跑飞了,又上网查找资料,还是一无所获.
在此求助各位大神,这种情况怎么样才能正常载入分析脱壳!
文件放在蓝凑云了
https://ww0.lanzoul.com/ialv926psw5e
密码:exy9 爱飞的猫 发表于 2024-8-8 06:35
错误信息是 DLL 无法加载…
如果只是为了过文件校验,可以带壳调试主程序,看看它怎么读取原始文件进 ...
039B659A 50 PUSH EAX
039B659B FF15 1818A003 CALL DWORD PTR DS: ; Wessys.?GetPath@WilcomKnownFolders@@YA?AVWideString@@W4WilcomKnownFolderId@@W4WKF_Origin@@@Z
039B65A1 C645 FC 01 MOV BYTE PTR SS:,1
039B65A5 FF76 40 PUSH DWORD PTR DS:
039B65A8 FF30 PUSH DWORD PTR DS:
039B65AA 8D45 F0 LEA EAX,DWORD PTR SS:
039B65AD 68 80FDB403 PUSH product.03B4FD80 ; UNICODE "%s\%s"
039B65B2 50 PUSH EAX
039B65B3 E8 C833FAFF CALL product.03959980
039B65B8 83C4 1C ADD ESP,1C
039B65BB C645 FC 00 MOV BYTE PTR SS:,0
039B65BF 8D4D EC LEA ECX,DWORD PTR SS:
039B65C2 E8 3999FFFF CALL product.039AFF00
039B65C7 8B45 F0 MOV EAX,DWORD PTR SS:
039B65CA BF 4467A003 MOV EDI,product.03A06744
039B65CF 85C0 TEST EAX,EAX
039B65D1 8BCF MOV ECX,EDI
039B65D3 0F45C8 CMOVNE ECX,EAX
039B65D6 51 PUSH ECX
039B65D7 E8 D4160000 CALL product.039B7CB0
039B65DC 83C4 04 ADD ESP,4
039B65DF 84C0 TEST AL,AL
039B65E1 74 4D JE SHORT product.039B6630 ; =====关键跳转======
039B65E3 8B45 F0 MOV EAX,DWORD PTR SS:
039B65E6 85C0 TEST EAX,EAX
039B65E8 6A 00 PUSH 0
039B65EA 0F45F8 CMOVNE EDI,EAX
039B65ED 6A 00 PUSH 0
039B65EF 57 PUSH EDI
039B65F0 FF15 3CF59F03 CALL DWORD PTR DS: ; KERNEL32.LoadLibraryExW
039B65F6 8946 50 MOV DWORD PTR DS:,EAX
039B65F9 85C0 TEST EAX,EAX
039B65FB 75 33 JNZ SHORT product.039B6630
039B65FD 8D4D EC LEA ECX,DWORD PTR SS:
039B6600 FF15 C025A003 CALL DWORD PTR DS: ; mfc120u.5C3AB499
039B6606 C645 FC 02 MOV BYTE PTR SS:,2
039B660A FF15 A4F69F03 CALL DWORD PTR DS: ; KERNEL32.GetLastError
039B6610 50 PUSH EAX
039B6611 8D45 EC LEA EAX,DWORD PTR SS:
039B6614 68 8CFDB403 PUSH product.03B4FD8C ; ASCII "Could not load the correct OEM resource DLL : %d"
039B6619 50 PUSH EAX
039B661A FF15 C425A003 CALL DWORD PTR DS: ; mfc120u.5C5A667D
039B6620 83C4 0C ADD ESP,0C
039B6623 C645 FC 00 MOV BYTE PTR SS:,0
039B6627 8D4D EC LEA ECX,DWORD PTR SS:
039B662A FF15 BC25A003 CALL DWORD PTR DS: ; mfc120u.5C3AB466
039B6630 837E 50 00 CMP DWORD PTR DS:,0
039B6634 0F95C3 SETNE BL
039B6637 C745 FC FFFFFFFF MOV DWORD PTR SS:,-1
039B663E 8D4D F0 LEA ECX,DWORD PTR SS:
039B6641 E8 BA98FFFF CALL product.039AFF00
039B6646 8AC3 MOV AL,BL
039B6648 8B4D F4 MOV ECX,DWORD PTR SS:
039B664B 64:890D 00000000 MOV DWORD PTR FS:,ECX
039B6652 59 POP ECX
039B6653 5F POP EDI
039B6654 5E POP ESI
039B6655 5B POP EBX
039B6656 8BE5 MOV ESP,EBP
039B6658 5D POP EBP
039B6659 C3 RETN
039B665A B0 01 MOV AL,1
008348 发表于 2024-8-6 19:45
AKS1,AKS2,AKS3区段,是sentinel LDK的狗壳,有狗的话,脱壳或hook可以搞定。无狗的话,直接删除
有虚拟狗的,主程序也带这个壳,主程序可以跑起来,主程序不需要脱壳,
主要是product.dll影响到汉化文件了,关键校验位置我也找到了,但是因为有壳,只要改动就无法运行了,
求大神赐教脱壳思路
这个sentinel LDK的狗壳网上能找到的参考几乎是没有,只找到一个abc.exe的crack me
是带这个狗壳的.但是没有脱壳思路,最后也没人搞定. loaddll 加载报错,你把 dll 放到桌面,它可能缺依赖文件。
试试放到软件目录下调试运行。 玩狗专业户呀 AKS1,AKS2,AKS3区段,是sentinel LDK的狗壳,有狗的话,脱壳或hook可以搞定。无狗的话,直接删除 爱飞的猫 发表于 2024-8-6 18:59
loaddll 加载报错,你把 dll 放到桌面,它可能缺依赖文件。
试试放到软件目录下调试运行。
放到目录下依旧会报错,而且多了两个报错
mopoo 发表于 2024-8-6 19:14
玩狗专业户呀
是啊,逆向都与狗有关:lol 楼主是咋搞定主程序的狗壳的?:lol 666888tzq 发表于 2024-8-7 12:39
楼主是咋搞定主程序的狗壳的?
没有搞定主程序狗壳.脱狗壳是个力气活,上面的大神也说了无狗的化直接删除不用搞了.
这个是模拟加密狗,已经从正版加密狗中dump出了数据,所以不需要脱狗壳.
之所以脱product.dll壳是因为里面有文件校验. xv2010 发表于 2024-8-7 09:30
放到目录下依旧会报错,而且多了两个报错
错误信息是 DLL 无法加载…
如果只是为了过文件校验,可以带壳调试主程序,看看它怎么读取原始文件进行校验的。
然后给他读取原文件的 CALL 给重定向到原始未修改的文件。
页:
[1]
2