php windows com组件,编写php com组件,php调用.net dll,php源码保护

开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet

(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows

945be27867848a5c230e3d20b63d71d5.png

(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,勾选使程序集COM可见,并保存

7eb97efa3a98035bdba0f9b46e326b02.png

(3).创建强命名签名文件:使用vs2017的开发人员命令提示符,执行以下命令,将签名文件生成到D盘根目录(建议以管理员身份运行):sn -k D:\ThinkShop.snk

960e3bee886efe2f3baf5c8755d3dd08.png

d319ff41f7a648a39f4c345fa753df1f.png

(4).使用签名文件:点击 项目->项目属性,再点签名->勾选为程序签名->选择在D盘创建的签名文件

7b9600df9d58fba3f9f3dde6347ccc5c.png

(5).编写代码:编写玩组件方法,编译生成dll文件namespace ThinkShop

{

public class App

{

//校验客户软件是否正版

private bool isAuthorize()

{

string ip = "127.0.0.1";

if (ip != "127.0.0.1")

{

return false;

}

else

{

return true;

}

}

//获取网站标题设置

public string GetWebsiteTitle()

{

bool isAuthorize = this.isAuthorize();

if (isAuthorize)

{

return "This is website title!";

}

else

{

return "Please support authentic edition!";

}

}

}

}

(6.)dll类库转com组件:将dll转为com组件,使用vs2017的开发人员命令提示符以管理员方式运行,执行以下命令(要在dll目录下,)regasm ThinkShop.dll

f847d1ba45c0ce3c13ed5da3f911acf6.png

(7).将程序集添加到全局程序集缓存中:可以直接在第6步骤直接执行,加到这里方便阅读。执行以下命令gacutil /I ThinkShop.dll

51211a2194fa54829818937c7d34af53.png

(8).php调用com组件:(记得开启php.ini中的extension=php_com_dotnet.dll)<?php

$thinkShop=new Com("ThinkShop.App");

$title = $thinkShop->GetWebsiteTitle();

var_dump($title);

?>

php源码保护:

可以将核心操作用com组件实现,然后加密dll,注册到程序集,再删除dll文件。

vs2019种需要标准的接口实现来写com,参考我的gitee项目代码,很快入手,上面的是基于vs2017的代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值