吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3088|回复: 12
收起左侧

[其他原创] powershell对xchange PDF下载、安装、生成注册码,一把梭

[复制链接]
hoochanlon 发表于 2023-2-4 20:25
本帖最后由 hoochanlon 于 2023-2-4 20:27 编辑

编写脚本前的想法

自我需求分析

我们基本上对PDF软件使用需求还挺高的,找网页下载、激活一套下来都还挺麻烦,安装包普遍都很大,所以目光就看中了xchange PDF,顺便做个自动化脚本省心省事。关于xchange PDFv8、v9的信息我也找了不少资料,现在觉得一些破解弄替换dll啥的,从长期向折腾破解来说,确实比网上找各种序列号来激活要省一些心力。

我个人对软件使用体验上,激活后功能能正常使用就行,不求最新,稳当就好;看官网不打算维护v8了,又看了一些国内外站点直接发license被ban教训。所以我就想了加密再解密的法子。算是防君子不防小人吧😂。测试了下,发现该license能离线激活,本打算加一条防火墙规则,后来一想算了,可能大家某些功能还需要联网的。写hosts又太麻烦点,所以还是畅所欲言,在发帖的下一楼回一个吧,毕竟操作写一点说明进去,全写一块文章太长了。

看了下有关xchange PDF基本都是放在“软件区”,但我这主要是靠脚本工作的,放在软件区又不太合适...福利分享呢,这又算不上吧...那还是放这里吧。

简单选型

我目的及想法很简单:下载、安装、懒得去粘贴注册码,直接ctrl+c到软件激活。这些事就让机器做吧,自己去搞这搞那,我是觉得麻烦...

一开始还想弄个python来自动化,点击鼠标操作去实现,稍一琢磨不太对劲,一来软件还要有接口给你调的、二来确定坐标什么的,编写及调试,个人是觉得工作量太大了,分享给他人用也未必讨喜。比方说人家正在忙活别的,你突然弹出个窗口自动点击,搞得一惊一乍的,这影响确实不好...

像脚本,网上单一功能的调试、玩具代码啥的都有很多,这就极大方便了我做参考、调试,还能根据我的想法集成到一块,做成一个实用型的工具,感觉有点像变魔术...在编写脚本的过程中,我发现批处理感觉少了点功能,Powershell命令和批处理也不太兼容,两者命令转来转去,很不方便,索性直接powershell。

正题

以管理员权限运行powershell,一条指令起飞。(利用Git仓存放代码,编写下载执行脚本指令,存到备忘录、社交聊天收藏功能里面去,用的时候拿出来,复制粘贴。)

curl https://ghproxy.com/https://raw.githubusercontent.com/hoochanlon/ihs-simple/main/xchange_v8_active.ps1 -Outfile xchange_v8_active.ps1 | powershell -c xchange_v8_active.ps1

附效果图两份:

因为我是GB2312编码的,在raw.githubusercontent查看会成乱码,直接在 https://github.com/hoochanlon/ihs-simple/blob/main/xchange_v8_active.ps1 看就好了,方便讨论直接附源码:

$setsume = "
`n
 ==ROFL:ROFL:ROFL:ROFL== #-----------------------------------简单说明----------------------
         _^___
 L    __/   [] \      1. v8在2022.7.31维护到期,但可永久激活,不能升级 。
LOL===__        \     2. v9不再支持国内激活,OCR略有提升,详见:www.tracker-software.com/sales-are-suspended
 L      \________]    3. v8版本官网下载地址:https://downloads.pdf-xchange.com/PDFXVE8.zip
         I   I        
        --------/       #-------------------------------------------------------------------
`n
"

echo $setsume
echo “正在从官网下载文件:xchange PDF Editor(Version 8)”
curl  https://downloads.pdf-xchange.com/PDFXVE8.zip -OutFile ${Env:\HOMEPATH}\downloads\PDFXVE8.zip
echo "自动化解压与安装软件,并生成软件注册码。"
Expand-Archive ${Env:\HOMEPATH}/downloads/PDFXVE8.zip -DestinationPath ${Env:\HOMEPATH}\downloads\  -Force
$xchangepdf_okey_v8=[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String("UABFAFAAOAAwAC0AcgBjADMAeQBNAGIAUgBZADgAagBtAHIAWAA1AHIAYgBwAEYAbwBmADMAegBYAFEALwAwADMASgBNAEoAWAArADkAMQB2AE8ANABtAEYAKwByAHMAZgBRADEAMQBCADMAbQBHAE0ARQBiAEYAVQA1AHcAaABwAHIAMQBBAHcAYwAKAFUAdQB0AHMARwBwAG0AYwB3ADUAaQBsADUATQBlAGsAKwBZAE8AZABpAG8AWABzADkAeQA1AHcASgBXAEMAcABRAGUARQByAFQAcABpAEoAegBzAHAARABmAEwAawBXADYAYQBlAFQAVwBlAEoAUwBCAFIAOABQAFUAdgBxADYAegBuAHcAcQB0ADkAVwBsADkATABlADMAaABuAGsAbQAKAFcAYwAzAEUATQBSAEYAZgBUAHQAZABLAEkAMQBZAHoAWgBzAHIAVAAyAEQAUABYADAARwAyAHkAagB0AHcAVwBoADAAVQA4AFYAYgBtAE0ASQBWAEsAWQBtAGQASgBqADAAVgA3AEcAVgBnAFIATwBNAG8ARQA5AHcAVABMADUAVAB2AHMAQQBOAEYAaQBwAGcAOQBwAG8ATgBlAG8AcQAKAEsAOQA2AHYASgBiAHYATgB4AGsANgBvAEIAQQBmADMAVQB4AHYAbgB0AEUAdQB3AFUATgA4ADkAMABRAGMAQgBRAHgAeABnADcAbwB6AHQAeABCAFoAQwA5AEMAdQBUAGIAVABWAFMAUwA2AGQAaABoAFMAUAA0AHAAQgB0AG0ALwAxAEEARABPAGgAMgBnAE0AMAA1ADgAbQBmADgAQwAKAEQAYQAvAE8AWABkAHIAegA1AHoAbwBGAGgAZgBsAE4AVwBjAEwAbQB0AEEANQBJAEwARQBuADYAYwBzAGQAdgBuAEcAdQBHAEgAWQAxAGMAZAByAG0AMAByAEYALwBDAE0AWABJAEsAbgBFAGkAbQBIAGUAWQBwADYAagBEAG4AegBUADkATQAxAFQANABYADQASgBiAHYAUgB3AD0A"))
echo $xchangepdf_okey_v8 > ${Env:\HOMEPATH}\downloads\xchangepdf_v8.lic
Start-Process ${Env:\HOMEPATH}'\downloads\PDFXVE8.exe' /S -NoNewWindow -Wait -PassThru
Set-Clipboard -Value $xchangepdf_okey_v8
echo “license已写入粘贴板,打开软件复制进去即可,后续也可在软件解压目录中查看。”

# 补充:这一个是脚本的自我删除来实现无残留的。
remove-item $MyInvocation.MyCommand.Path -force 

#------------------------------------------------------------------------------------------------------

# 下载方式
# * https://blog.csdn.net/EadderYin/article/details/120573622 
# * https://learn.microsoft.com/zh-cn/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest
# 解压
# * https://blog.csdn.net/m0_60558800/article/details/123759719
# 静默安装
# * https://www.likecs.com/ask-6192544.html
# 静默卸载
# * https://qastack.cn/programming/113542/how-can-i-uninstall-an-application-using-powershell
# * https://www.pstips.net/powershell-uninstall-software.html
# 加载网页文本乱码问题
# * http://www.bathome.net/redirect.php?tid=58406&goto=lastpost

#------debug-----
# 卸载
# 根据名称:(Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "PDF-XChange Editor" }).uninstall()
# 根据注册ID:(Get-WmiObject -Class Win32_Product | Where-Object {$_.IdentifyingNumber -eq "{E05F4C70-890B-429C-B24D-36AB434F4991}" }).uninstall()
#-----------------

#------------------------------------------------------------------------------------------------------






图2

图2

图1

图1

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
wushaominkk + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
debug_cat + 1 + 1 用心讨论,共获提升!
小龙飞 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| hoochanlon 发表于 2023-2-5 00:26
本帖最后由 hoochanlon 于 2023-2-6 09:30 编辑

这算是分享下个人有时候用到的小技巧吧。

防火墙(图快,方便为主)

图形化手动添加防火墙禁止某个程序上网比较繁琐,不过现在win10/win11自带搜索输入“高级安全”,弹出高级安全防火墙就好了。😂

图形化反倒是这个最简单:https://github.com/henrypp/simplewall ,不知道有人做了汉化没有。

终端倒是挺简单的,反正这条命令是把程序所有的上网端口协议都ban了。

netsh advfirewall firewall add rule name="不联网某程序" dir=out program="C:/文件夹/程序.exe" action=block

删除就将add换成del/delete。

便利写入hosts 说明(写脚本才用)

参考灵感源: csdn-windwos使用CMD命令添加hosts的方法

详情见:xcopy /?,大意将文件全部复制到一个新目录(xcopy特性)存放,再排除重复操作的报错。

@xcopy C:\Windows\system32\drivers\etc\hosts C:\Windows\system32\drivers\etc\hosts.bak\ /d /c /i /y 

利用如上逻辑进行还原,即原备份文件覆盖。

@xcopy C:\Windows\System32\drivers\etc\hosts.bak\hosts C:\Windows\System32\drivers\etc\hosts /y

写入

@echo ip 网址 >>C:\Windows\System32\drivers\etc\hosts

图形化,这个,我个人比较常用:https://switchhosts.vercel.app

免费评分

参与人数 1热心值 +1 收起 理由
AON + 1 热心回复!

查看全部评分

 楼主| hoochanlon 发表于 2023-2-5 19:06
莫问刀 发表于 2023-2-5 18:12
哈哈,程序员就是什么都想机器来做,自己做掌柜。

谢谢支持;我是业余的,平时如果遇到步骤较多事,我就会看些脚本,然后自己上手试试。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
debug_cat + 1 + 1 动手能力很强啊

查看全部评分

lcylidong 发表于 2023-2-5 00:01
 楼主| hoochanlon 发表于 2023-2-5 00:35
lcylidong 发表于 2023-2-5 00:01
不错,分享学习了,感谢提供。

谢谢支持哈。

我一起补上小说明吧,就是我这下载处理没做异步,如果还有个脚本也在调用curl(微软起的别名)会报错,见:

https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.3
chayunyuxiang 发表于 2023-2-5 08:59
谢谢你的分享,我虽然看不太懂,谢谢你的辛勤付出
 楼主| hoochanlon 发表于 2023-2-5 09:13
chayunyuxiang 发表于 2023-2-5 08:59
谢谢你的分享,我虽然看不太懂,谢谢你的辛勤付出

差不多就是echo输出的中文意思,一些变量名划词翻译也能基本上了解个大概意思,结合起来就是整体的操作逻辑,或者说目的吧:

  • curl是下载的、expand- archive是解压的,-force是强制执行(如果有同名文件,不用-force会报错)
  • okey的一串长字符是经过加密编码的,所以需要解码才能用。
  • /S是静默安装(自动安装),set- clipboard,设置内容到粘贴板。

老实说,我自己写脚本也是不求甚解,不求所谓的精通。对我来说,基本上知道大概逻辑,拿过来能为我所用就行了。

orz-yoyo 发表于 2023-2-5 10:13
六六六 大佬厉害,投币
 楼主| hoochanlon 发表于 2023-2-5 10:58
orz-yoyo 发表于 2023-2-5 10:13
六六六 大佬厉害,投币

谢谢支持。我发现我还漏题了关于cur一些说明l。

* curl下载文件没指定路径的话,一般是保存在当前目录。
* powershell的命令指向的程序一般在system32

通常来说,启动管理员powershell,直接复制粘贴就好。若是进入到其他目录的话,一键起飞的指令就需要额外指定一下curl “outfile”选项的下载位置。
debug_cat 发表于 2023-2-5 18:12
哈哈,程序员就是什么都想机器来做,自己做掌柜。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表