好友
阅读权限40
听众
最后登录1970-1-1
|
本帖最后由 冥界3大法王 于 2022-12-18 12:06 编辑
纯手工打造纯绿色免安装、便携万能五笔、语音手写、英语、vip皮肤可用vip拆字根可用、多用途热键切换赛亚蒌德漫版:
版权原因仅提供思路,不提供成品)
最近几天万能五笔,动不动竟关闭CentBrowser、QQ。。。不能再忍受了,把虚拟机中制作好的成品弄出来使用吧。
要制作 这样的版本,你得知道原来的软件的工作方式,各文件是如何调用的?
正常情况下,你可以到官方下载回来,是一个exe包,用7zip解开。或者使用Revo Installer Pro之类的工具安装它。建议使用国产的那款,因为有导出注册表键值的功能
要解决的几个问题:
1.让配置文件(包括本身输入法配置和皮肤文件)位于万能五笔主程序目录下
2.先来搞定WnSkinInst.exe这个核心输入法的皮肤文件
新建一个c:\wnwb文件夹
运行几次 WnSkinInst、WnSkinbox我们得到了最小的文件列表:
C:\wnwb\DuiLib32.dll
C:\wnwb\WnSkinbox.exe(其实这个的在线皮肤浏览器可以不要)
C:\wnwb\WnSkinInst.exe
它默认调用的vip皮肤方式形如下面这样的:
C:\wnwb\WnSkinInst.exe -install C:\wnwb\skins\蓝色VIP.swnpf
%userprofile%\appdata\LocalLow
接下来去移动配置、并尝试能否让其生成皮肤解包的配置?
我们来到x32dbg中打开WnSkinInst.exe
搜索字符串,定位到 \AppData\LocalLow 我们发现这个是Unicode的字符串
它在WanNengWBInfo.ini中是下面这样的:
[AppInfo]
CfgRootPath=C:\Users\Administrator\AppData\LocalLow\WanNengWBIME\
CfgUserPath=C:\Users\Administrator\AppData\LocalLow\WanNengWBIME.users\
所以综上所述:
USERPROFILE \AppData\LocalLow
如图所示:
看到x32dbg中的调用了吗?
显然被读取后 USERPROFILE 这个是 需要加%%引起来的,因为它是全局系统环境变量
所以改法上就出现分水岭了:
a. 按原来的格式改,那你就得拆成两次:还会碰到那个 全局系统环境变量
b.只改一次,其他多余的代码NOP掉,这样才符合我们绿色软件的需要
为了方便 ,我们把
USERPROFILE \AppData\LocalLow
改成
wnwb10.2.4.20809MyCofigFolder
这样就能移动文件夹过去了。
=======================================================
接下来,我们修改wnwb.exe主程序,用x32dbg打开它:
先搜索下WanNengWBInfo.ini;我们发现有四处调用
运行wnwb.exe
1)wnwb.exe
[Asm] 纯文本查看 复制代码 00D23354 | 0F1005 240CE200 | movups xmm0,xmmword ptr ds:[E20C24] | 00E20C24:L"WanNengWB"
00C50100 | 51 | push ecx |
00C50101 | 56 | push esi |
00C50102 | 8BF1 | mov esi,ecx |
00C50104 | 57 | push edi |
00C50105 | 8D86 C0010000 | lea eax,dword ptr ds:[esi+1C0] |
00C5010B | 50 | push eax |
00C5010C | FF15 7813E000 | call dword ptr ds:[<&QueryPerformanceFrequen |
00C318BD | E8 3E661600 | call <wnwb.sub_D97F00> |
00C318C2 | 83C4 48 | add esp,48 |
00C318C5 | 8D85 DCF7FFFF | lea eax,dword ptr ss:[ebp-824] |
00C318CB | 6A 00 | push 0 |
00C318CD | 6A 2B | push 2B |
00C318CF | 50 | push eax |
00C318D0 | 6A 00 | push 0 |
00C318D2 | FF15 F413DE00 | call dword ptr ds:[<&SHGetSpecialFolderPathW
eax=003EF00C L"C:\\Program Files (x86)\\Common Files\\WanNengWB\\WanNengWB.ini"
2)
现在我们可以正常使用绿色版的了吗?
C:\Program Files (x86)\Common Files\WanNengWBInput\WanNengWB.ini
C:\Program Files (x86)\Common Files\WanNengWB\WanNengWB.ini
接下来,我们要调用能调用的全部工具,即wntools.exe(那个抖动的美女广告由此产生)它是万能五笔输入法外接程序接口程序主要负责安装类似扩展这种。
内置流氓广告。。。
其实说穿了就是需要它输出的*.ini配置文件(C:\wnwb\wnwb10.2.4.20809MyCofigFolder\WanNengWBIME\Config\Config.ini)
内容如下:
[Setting]
IsUseWbMode=1
IsUsePyMode=0
IsUseYYMode=1
IsUseBhMode=0
IsUseYYToChMode=0
IsEmptyCodeQueryGBKWord=1
CodeFloatPegging=1
IsUseWbPegging=1
IsUsePyPegging=1
IsUseEnPegging=0
IsUseZGPegging=1
IsShowOutputWordSpeed=0
IsShiftInputEnInitialLetterCapital=1
IsIntelligentDeleteMakeWord=1
IsTransferEnOutputExistComp=1
IsPurePyRemindWbCode=1
IsMixWbFourCodeOnlyOutput=1
IsMixWbFourCodeAutoOutput=1
IsMixWbFourCodeEmptyCancel=1
IsMixWbFourCodeStopOutput=1
IsMixWbCodeGraduallyRemind=1
IsPureWbCodeGraduallyRemind=1
IsPureWbSingleInputMode=0
IsPureWbEmptyCodeCancelInput=1
IsPureWbFourCodeStopOutput=1
IsPureWbFourCodeAutoOutput=1
IsPureWbFourCodeOnlyOutput=1
WbSingleWordInput=0
IsWBOnlySameCodeShowPhrase=0
IsPureWbErrorCodeAlarm=1
IsSpaceToWord=0
IsLetterSelectWord=0
IsPureWbForuCodeRepeatAlarm=0
IsSlashToCovertPauseMarkV2=1
IsOppositeSlashToCovertPauseMarkV2=1
IsCandShowYYTranslate=1
IsNoUseShiftCtrlSwitchCE=0
IsUseWBCustomPhrase=1
IsUseWBUserPhrase=1
IsUsePYCustomPhrase=1
IsUsePYUserPhrase=1
IsUseDYUserPhrase=1
IsUseUrlUserPhrase=1
IsUseFirstLetterJianPin=1
IsUseDynamicMakePinYinWord=1
IsUseDynamicAddUserPinYinWord=1
IsUsePinYinErrorRecovery=1
IsErrorRecoveryGnToNg=1
IsErrorRecoveryMgToNg=1
IsErrorRecoveryIouToIu=1
IsErrorRecoveryUeiToUi=1
IsErrorRecoveryUenToUn=1
IsUseKJOemMinusPlus=1
IsUseKJSquareBrackets=1
IsUseKJOemCommaPeriod=1
IsKJUseTabShiftTab=1
IsUseKJOemMinusPlusPhraseChooseWord=0
IsUseKJSquareBracketsPhraseChooseWord=0
IsUseKJOemCommaPeriodPhraseChooseWord=0
IsPeggingAssociateAutoHideWnd=1
IsUseWbZRepeatInput=1
IsUseSmallKeyboardBJInput=0
IsBiaoDianAutoMatch=0
IsBJToQjSpace=0
IsUsePyFuzzy=0
IsWebMailAutoReplenish=1
IsKeypadInputEn=1
IsCapslockCompAnOutput=0
IsSemicolonInputMode=0
IsUserDefinePhrase=1
IsNumAfterOutputEnPeriod=1
NumLaterOutputEnCommas=0
NumBetweenOutputEnColon=1
IsWebInputMode=1
IsDifferentWndShowCompCand=0
IsHiddenStatus=0
IsHiddenStatusToTray=0
IsFullScreenHiddenStatus=1
IsUseSkin=1
IsReSetFontStyle=0
IsReSetFontColor=0
IsCnStatusUseEnPunctuation=0
ShowFixPosIcon=1
IsWBSameCandIDAteBrifeCodeMode=0
IsNoCursorFollow=0
IsNoCursorFollowOfWaiGua=1
SyncUserMB=1
SyncUserMBPhrase=1
SyncUserMBMake=1
SyncUserCfg=1
QueryChineseWordMode=0
MixWbInputPosRevision=0
PureWbInputPosRevision=0
PurePyInputPosRevision=0
WbSameCodeCandidateWordSortMode=0
WbSameCandidateBriefCodeOperateMode=0
EnterKeyUseFor=0
CandFontSize=16
GaoFPAdjust=1
StatusWndTransparency=0
CandWndTransparency=0
CodePeggingPhraseAssociateMode=0
PeggingAssociateAutoHideSecond=5
UseCEToCutOverHotKeyV2=1
UseCtrlNumOpenSoftKeyboard=0
AutoMakeWordSetting=1
CompCandWndShowMode=1
CandWndAlignAsCompWnd=1
ApplicationUpdate=2
AutoMakeWordSettingV1=0
ShowCandWordNum=6
IsUsePositionPhrase=1
IsUseDelUserPhrase=1
UseBhPeggingMode=0
IsUseLUSystemPhrase=1
IsUseCellDict=1
IsUseAutoUpdateCellDict=1
AllWndTransparency=0
IsUseWBToTempPY=1
IsUseDiyWbPhrase=0
UseSearchCand=0
UseSearchCandInDesktop=0
UseSearchCandInSearch=1
UseSearchCandInChat=0
UseSearchCandInWriting=0
UseSearchCandInWeb=0
UseSearchCandInShop=0
SearcchEngineType=0
IsCandRows=0
TextImage=1
WBCodeType=0
Choose23CandWord=0
WordPostionKey=0
WordDeleteKey=0
SymbolLibWndLeftPos=1320
SymbolLibWndTopPos=527
CharFaceWndLeftPos=-1
CharFaceWndTopPos=-1
CharDrawWndLeftPos=-1
CharDrawWndTopPos=-1
UseHengShortCutKey=H
UseShuShortCutKey=I
UsePieShortCutKey=P
UseZheShortCutKey=V
UseLaShortCutKey=N
UseFillUpShortCutKey=O
UseSkin=尊贵会员(尊享版)
EnFontName=Arial
CnFontName=宋体
CompColor=#cccccc
ChooseCandColor=#cccccc
OtherCandColor=#cccccc
MergeWndLeftPos=322
MergeWndTopPos=466
SkinName=尊贵会员(尊享版)
StatusLeftPosOfScreen=1510
StatusTopPosOfScreen=764
StatusWndWidth=325
StatusWndHeight=32
HandWndLeft=1373
HandWndTop=382
MakeStatusWndShow=0
StatusBtnColor=4627431
StatusCnBtn=1
StatusBQBtn=1
StatusBiaoDianBtn=1
StatusKeyBtn=1
StatusUserBtn=1
StatusJFBtn=1
StatusCutBtn=1
StatusMenuBtn=1
StatusHandBtn=1 //手写
StatusSkinBoxBtn=1
StatusVoiceBtn=1
StatusCalculatorBtn=1 //计算器
StatusSearchBtn=1 //搜索
StatusCloudDiskBtn=0
StatusClipboardBtn=0
InstallSkin=1
接下来把电脑上好用的讯飞语音输入法、手写输入法、计算器、截图工具用同名文件覆盖过去
接下来,用AHK编写热键控制的脚本程序:
[Asm] 纯文本查看 复制代码
;比如你要启动万能五笔主程序,你可以这么写按下Ctrl+5启动万能五笔
^5::
Run,c:\wnwb\wnwb.exe
return
^Space::#Space ;用Ctrl+Space替换win10输入法默认的Win+Space
其他的大家照着修改就OK了,能用定义的热键实在太多了,当然还有热字符串,也是可以的哟~~
F1 & E:: ;F1+E打开EmEditor.exe
Process, Exist, EmEditor.exe
If ErrorLevel>0
Sleep , 100
Else
Run , D:\EmEditor\EmEditor.exe
return
F1:: ;F1开或关讯飞语音输入法
Process, Exist, iFlyVoice.exe
If ErrorLevel>0
Process,close, iFlyVoice.exe
Else
Run,D:\图文处理\讯飞语音\最新一代讯飞语音输入法\iFlyVoice.exe
return
F12::Suspend ;挂起按键
;_____下边是Markdown热键__________________________________
^y:: ;引用外部图片链接
Send , {!}[图片说明](%Clipboard%)
return
;=========================
^b:: ;加粗
Send , ^x
Send , **^v**
return
;=========================
^i:: ;加斜
Send , ^x
Send , *^v*
return
;=========================
^q:: ;多行引用
Send , ^x
Sleep, 200
Loop, 3
{
Send, ``
}
Send, {Enter}
Sleep, 200
Send , ^v{Enter}
Loop, 3
{
Send, ``
}
Send , {Enter}
return
;=========================
:*:1b:: ;一级标题
Send,{#}{Space}
return
;=========================
:*:2b:: ;二级标题
Send,{#}{#}{Space}
return
;=========================
:*:3b:: ;三级标题
Send,{#}{#}{#}{Space}
return
;=========================
:*:4b:: ;四级标题
Send,{#}{#}{#}{#}{Space}
return
;=========================
:*:5b:: ;五级标题
Send,{#}{#}{#}{#}{#}{Space}
return
=========================
^l:: ;文字链接
InputBox , 变量名1,请输入链接的文字:,如:52pojie
InputBox , 变量名2,请输入网页链接:,如:[url=https://www.52pojie.cn]https://www.52pojie.cn[/url]
Send , [%变量名1%](%变量名2%)
return
;----------按下Alt+H,把剪贴板中简书的【Paste_Image.png】替换为【配图说明】-------------------------------------
!h::
StringReplace, OutputVar, clipboard, Paste_Image.png , 配图说明, All
clipboard := OutputVar
Sleep , 1500
Send , ^v
return
;---------------------------------------------------------------------------------------------------------------------
^#h:: ;Ctrl+Win+H 加入新的hosts行
FileGetAttrib, Attributes, C:\Windows\System32\Drivers\etc\hosts
IfInString, Attributes, R
FileSetAttrib, -R, C:\Windows\System32\Drivers\etc\hosts, 1 ;去掉文件只读属性
Gui Font, s12 Bold c0xFF00FF, 微软雅黑
Gui Add, Edit, v内容 x16 y24 w445 h283, 请粘入要加入的hosts新行
Gui Font, s30 Bold , 微软雅黑
Gui Add, Button, g写入 x32 y336 w396 h104, 写入hosts文件
Gui Show, w483 h480, hosts一键添加小工具(AHK制造)
return
写入:
Gui,Submit ,NoHide
FileAppend , .`n%内容%, C:\Windows\System32\Drivers\etc\hosts, UTF-8
return
更多热键列表
最后最后,我们再编一个:当更新了新电脑后,自动化替换路径的脚本,以后就一劳永逸,直接享受一键搬新家的待遇了。
以后自动化修改【万能导出的绿色文件1.reg】和【WanNengWBInfo.ini】
都整好了,效果还不错吧?
|
免费评分
-
查看全部评分
|