-
Notifications
You must be signed in to change notification settings - Fork 443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ArmBreaker is not working #750
Comments
You have to add armbreaker to your profile. It doesn't work in mactype.ini as an override option. |
Oh, usually I put application specific things in the MacType.ini but not in the style related ini file. |
As it is an "experimental" option I prefer to keep the experiment in a small scale. 😄 that's why this option can't be globally effective. |
I supposed that the following in MacType.ini would be applied to Vivaldi.exe only. [[email protected]]
ArmBreaker=1 |
Oh, I see. |
All options in the experimental section are not stable or may somewhat intrude the system or maybe some sort of hacks that are not suitable for all situations. I personally consider them to be "use with care". |
Yes, I understood. I was adding the above setting snippet into the MacType.ini file manually after installation, not that setting was by default there. If the setting can be added after installation there by the user, the user can switch ini files without copying those settings around ini files. It is a small case of convenience. |
I just put the following setting into the end of my profile ini file (DeepGrayNoHinting.zip), then restarted the service. [[email protected]]
ArmBreaker=1 It was not working either. |
I tried with your profile and it doesn't work. After that, you should be able to see all vivaldi.exe processes are marked as running in macwiz |
It for sure works. Restart your computer and use service mode. |
Unfortunately it just did not work, after restarting my computer. I am using the service mode. |
Just by replacing the armbreaker=1 to 2, it works perfectly with vivaldi on my system. Since it's very hard to figure out why it doesn't work on yours, I suppose there are software conflict with mactype or maybe your mactype installation is not complete and not all files are up to date. |
Both 1 and 2 have been tried. Neither of them worked. Had you removed the policy in your registry, and started Vivaldi without the The following is the list of files in my MacType folder.
|
I never used Vivaldi before so there is nothing related in my registry. |
Made not difference in CentBrowser with or without "--disable-features=RendererCodeIntegrity". What's its exact visual effect? |
Centbrowser has no integrity check, so no armbreaker is needed. |
MacType64-with-trace.zip When you launch vivaldi, it should give you something like "MS Sign policy mark has been removed." |
Thank you for looking into this. Vivaldi startup argument: Here's the log: At the end of DeepGrayNoHinting.ini: [[email protected]]
ArmBreaker=2 |
This means your profile is buggy, it doesn't detect that you set this flag. |
What is this setting supposed to be applied to vivaldi.exe? |
The log wrote:
But from the above screenshot, the PID 9048 was disabled. |
This is what it should look like
once the armbreaker is activated, you should see logs with |
Could you post your ini file and let me test it on my computer? |
I made a more detailed one. It should tell you what the armbreaker value really is. |
Armbreaker is set to 0 Is the value case-sensitive? |
No, it's case-insensitive. I can confirm it. |
I reviewed the code related to settings reading, and looks like the option |
Could it because of the other settings in MacType.ini? [General]
AlternativeFile=ini\DeepGrayNoHinting.ini
[MacType]
RedrawDelay=5000
AutoEnable=1
HideDenied=1
AutoUnload=1
AutoRun=0
LoadType=1
Use64Agent=1
HideACD=1
Language=2
[UnloadDll]
; List of .exes that don't support MacType, or have no GUI
igfxCUIService.exe
igfxEM.exe
igfxHK.exe
lass.exe
SearchIndexer.exe
OfficeClickToRun.exe
SearchProtocolHost.exe
SearchFilterHost.exe
stacsv64.exe
QHSafeTray.exe
QHWatchdog.exe
QHActiveDefense.exe
SynTPHelper.exe
SynTPEnh.exe
NVDisplay.Container.exe
node.exe
CCXProcess.exe
AdobeIPCBroker.exe
audiodg.exe
fontforge.exe
VirtualBox.exe
VBoxSVC.exe
vmnat.exe
vmnetdhcp.exe
vmware-authd.exe
vmware-vmx.exe
vmware-usbarbitrator64.exe
MsMpEng.exe
pia-service.exe
RuntimeBroker.exe
services.exe
spoolsv.exe
taskhostw.exe |
No, this parser reads specifically the values it wants. //profile parser
void ParseConfig() {
WCHAR szFileName[MAX_PATH] = { 0 };
int nSize = GetModuleFileName(g_inst, szFileName, MAX_PATH);
if (nSize) {
ChangeFileName(szFileName, nSize, TEXT("MacType.ini"));
CParseIni ini;
ini.LoadFromFile(szFileName);
if (ini.IsPartExists(L"UnloadDll"))
LoadIniSection(ini, L"UnloadDll", g_UnloadList);
if (ini.IsPartExists(L"ExcludeModule"))
LoadIniSection(ini, L"ExcludeModule", g_ExcludeList);
if (ini.IsPartExists(L"IncludeModule"))
LoadIniSection(ini, L"IncludeModule", g_IncludeList);
g_HookChildProc = ini[L"General"][L"HookChildProcesses"].ToInt(0);
g_nArmBreaker = ini[L"Experimental"][L"ArmBreaker"].ToInt(0);
g_bUseInclude = ini[L"General"][L"UseInclude"].ToInt(0);
LPCWSTR lpAlter = (LPCWSTR)ini[L"General"][L"AlternativeFile"];
if (lpAlter) {
TCHAR szAlter[MAX_PATH] = { 0 };
wcscpy_s(szAlter, lpAlter);
CParseIni iniAlter;
if (PathIsRelative(lpAlter)) {
TCHAR szDir[MAX_PATH];
wcsncpy(szDir, szFileName, MAX_PATH);
PathRemoveFileSpec(szDir);
PathCombine(szAlter, szDir, szAlter);
}
iniAlter.LoadFromFile(szAlter);
g_HookChildProc = iniAlter[L"General"][L"HookChildProcesses"].ToInt(0);
g_nArmBreaker = iniAlter[L"Experimental"][L"ArmBreaker"].ToInt(0);
g_bUseInclude = iniAlter[L"General"][L"UseInclude"].ToInt(0);
if (iniAlter.IsPartExists(L"UnloadDll"))
LoadIniSection(iniAlter, L"UnloadDll", g_UnloadList);
if (iniAlter.IsPartExists(L"ExcludeModule"))
LoadIniSection(iniAlter, L"ExcludeModule", g_ExcludeList);
if (iniAlter.IsPartExists(L"IncludeModule"))
LoadIniSection(iniAlter, L"IncludeModule", g_IncludeList);
}
}
} |
Alright, now it tells you what it reads from your profile and from the global one. |
[MTBootstrap] Read armbreaker from mactype.ini: 0 |
Hmm, please upload your mactype.ini and your profile as is. |
Here are they. |
Why the profile ended with .txt? |
Please use this: |
Okay, I finally realized that the @ grammar doesn't work for armbreaker. It needs to be added to the bootstrap as well. My bad. For now, just use it with a regular |
[Experimental]
ArmBreaker=2 With the above in the profile, it works on Vivaldi. |
So, may I call it case closed? |
Will the above setting be applied to all applications on my computer? |
Unfortunately, yes. The bootstrap part doesn't have any per-program config design in it. It needs to be implemented in the next release. |
Since ArmBreaker = 1 does not work, and it has to be applied to all applications, |
ArmBreaker=1 does work, it's just not powerful enough to make Chrome (and alike) work. Ok, I realized that I said in the wiki that Chrome needs 1... |
Yep, that's it. |
It's not any more~ |
Alright, let's close this now. |
Maybe "Please enable this option per executable so it does not affect system security too severely" in the Wiki has to be revised as well, since it might mislead other users. |
I removed the
--disable-features=RendererCodeIntegrity
from the shortcut of vivaldi.exe and added the following part into the MacType.ini between the[MacType]
and[UnloadDll]
sections.I closed the Vivaldi then restarted the MacType service, then the Vivaldi.
From the Chinese characters on the top-right side of the interface, I felt that MacType was not in effect. The correct effect with
--disable-features=RendererCodeIntegrity
in the shortcut when launching vivaldi was like the following:Changing the option to global did not help either.
Originally posted by @wmjordan in #720 (comment)
The text was updated successfully, but these errors were encountered: