EasyLon加密机制分析

LnsOpcServer.exe

加密方式:序列号,

输入注册码后点Valid licence

限制:没有注册在主界面显示。

工具:Ollydbg, IDA4.5, PEEditorUltraEdit

分析:初步分析,发现限制都在他的一个serialShield.dll里,调用了serialShield.dll,里面有个antiDebugging函数需要注意。而且还使用了很多花指令。

系统调用SerialShield.dll是使用loadlibraryw,而不是loadlibrarya,要注意,有一个函数,GetFuncOfSerialDll

里面得到所有的seraildll里的函数,这是个突破口。可以通过这个函数得到地址。

getFuncOfSerialDll

0043C1B0 >/$  68 A 89C4500   push LnsOpcSe.00459CA8                             ; /FileName =

"SerialShield.dll"

0043C1B5  |.  FF15 54714400 call dword ptr ds:[<&KERNEL32.LoadLibraryW>]       ; /LoadLibraryW

0043C1BB  |.  85C0          test eax,eax

0043C1BD  |.  A3 34A74500   mov dword ptr ds:[ 45A734],eax

0043C 1C2  |.  0F84 53010000 je LnsOpcSe .0043C31B

0043C 1C8  |.  56            push esi

0043C 1C9  |.  8B 35 C8704400 mov esi,dword ptr ds:[<&KERNEL32.GetProcAddress>]  ;  kernel32.GetProcAddress

0043C1CF  |.  68 989C4500   push LnsOpcSe .00459C98                             ; /ProcNameOrOrdinal =

"GetHardwardID"

0043C1D4  |.  50            push eax                                           ; |hModule

0043C1D5  |.  FFD6          call esi                                           ; /GetProcAddress

0043C1D7  |.  A3 30A74500   mov dword ptr ds:[ 45A730],eax

0043C1DC  |.  A1 34A74500   mov eax,dword ptr ds:[ 45A734]

0043C1E1  |.  68 909C4500   push LnsOpcSe .00459C90                             ; /ProcNameOrOrdinal =

分析校验的地方,来到这里,从这里看出,调用了SerialSh.SSUser,然后判断返回值是否等于4,发现这个函数在启动的时候也判断了这里,所以修改返回值等于4。另外还有一个ss_trialMode函数也很重要,不过暂时还没用到。估计是判断是否是试用版本的。

0040A72E  |> /8B55 D4       mov edx,dword ptr ss:[ebp -2C]

0040A731  |.  68 6CA14500   push LnsOpcSe .0045A 16C

0040A736  |.  52            push edx

0040A737  |.  56            push esi

0040A738  |.  FF15 2CA74500 call dword ptr ds:[ 45A 72C] ; SerialSh.SSUser  非常关键的函数

0040A73E  |.  83F8 04       cmp eax,4  <-------------很关键,必须等于4

0040A741  |. /75 0B         jnz short LnsOpcSe .0040A74E

0040A743  |. |66:C705 3AA74>mov word ptr ds:[ 45A 73A],1

0040A 74C  |. |EB 13         jmp short LnsOpcSe .0040A761

0040A74E  |> /66:833D 3AA74>cmp word ptr ds:[ 45A 73A],1

0040A756  |.  75 09         jnz short LnsOpcSe .0040A761

0040A758  |.  66:C705 3AA74>mov word ptr ds:[ 45A 73A],0

0040A761  |>  E8 CA1B0300   call LnsOpcSe .0043C330  <---------freelibrary

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值