xv2010 发表于 2024-8-6 16:39

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

xv2010 发表于 2024-8-9 13:34

爱飞的猫 发表于 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

xv2010 发表于 2024-8-7 09:47

008348 发表于 2024-8-6 19:45
AKS1,AKS2,AKS3区段,是sentinel LDK的狗壳,有狗的话,脱壳或hook可以搞定。无狗的话,直接删除

有虚拟狗的,主程序也带这个壳,主程序可以跑起来,主程序不需要脱壳,
主要是product.dll影响到汉化文件了,关键校验位置我也找到了,但是因为有壳,只要改动就无法运行了,
求大神赐教脱壳思路
这个sentinel LDK的狗壳网上能找到的参考几乎是没有,只找到一个abc.exe的crack me
是带这个狗壳的.但是没有脱壳思路,最后也没人搞定.

爱飞的猫 发表于 2024-8-6 18:59

loaddll 加载报错,你把 dll 放到桌面,它可能缺依赖文件。
试试放到软件目录下调试运行。

mopoo 发表于 2024-8-6 19:14

玩狗专业户呀

008348 发表于 2024-8-6 19:45

AKS1,AKS2,AKS3区段,是sentinel LDK的狗壳,有狗的话,脱壳或hook可以搞定。无狗的话,直接删除

xv2010 发表于 2024-8-7 09:30

爱飞的猫 发表于 2024-8-6 18:59
loaddll 加载报错,你把 dll 放到桌面,它可能缺依赖文件。
试试放到软件目录下调试运行。

放到目录下依旧会报错,而且多了两个报错

xv2010 发表于 2024-8-7 09:34

mopoo 发表于 2024-8-6 19:14
玩狗专业户呀

是啊,逆向都与狗有关:lol

666888tzq 发表于 2024-8-7 12:39

楼主是咋搞定主程序的狗壳的?:lol

xv2010 发表于 2024-8-7 13:58

666888tzq 发表于 2024-8-7 12:39
楼主是咋搞定主程序的狗壳的?

没有搞定主程序狗壳.脱狗壳是个力气活,上面的大神也说了无狗的化直接删除不用搞了.
这个是模拟加密狗,已经从正版加密狗中dump出了数据,所以不需要脱狗壳.
之所以脱product.dll壳是因为里面有文件校验.

爱飞的猫 发表于 2024-8-8 06:35

xv2010 发表于 2024-8-7 09:30
放到目录下依旧会报错,而且多了两个报错

错误信息是 DLL 无法加载…

如果只是为了过文件校验,可以带壳调试主程序,看看它怎么读取原始文件进行校验的。
然后给他读取原文件的 CALL 给重定向到原始未修改的文件。
页: [1] 2
查看完整版本: SafeNet Sentinel LDK壳伪装yoda's Protector v1.02 (.dll,.yoda's Protector v1.02