纯手工打造纯绿色免安便携万能五笔语音手写英语皮肤可用vip超级版一键多功能启动赛亚
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
纯手工打造纯绿色免安装、便携万能五笔、语音手写、英语、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.exereturn^Space::#Space ;用Ctrl+Space替换win10输入法默认的Win+Space其他的大家照着修改就OK了,能用定义的热键实在太多了,当然还有热字符串,也是可以的哟~~F1 & E:: ;F1+E打开EmEditor.exeProcess, Exist, EmEditor.exeIf ErrorLevel>0 Sleep , 100Else Run , D:\EmEditor\EmEditor.exereturnF1:: ;F1开或关讯飞语音输入法 Process, Exist, iFlyVoice.exe If ErrorLevel>0 Process,close, iFlyVoice.exe Else Run,D:\图文处理\讯飞语音\最新一代讯飞语音输入法\iFlyVoice.exereturnF12::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 , ^vreturn;---------------------------------------------------------------------------------------------------------------------^#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-8return
更多热键列表
最后最后,我们再编一个:当更新了新电脑后,自动化替换路径的脚本,以后就一劳永逸,直接享受一键搬新家的待遇了。
以后自动化修改【万能导出的绿色文件1.reg】和【WanNengWBInfo.ini】
都整好了,效果还不错吧?
下一篇:一个小白向的简单逆向