OK my instinct is right, the screenshot problem disappears if I use bosav's method for patching the native binary instead of recompiling the apk. Also worth mentioning, somehow on my scope, the com.rigol.scope-2 is the right folder name instead of com.rigol.scope-1.
The 50Ohm gain problem is more stubborn than I expected, fiddled again with DrvChannel_SetScale but no success, running out of ideas now...
Tried patching more functions - but also had no luck getting it working.
tried patching _ZN7CApiRef29ApiReference_GetUIVScaleRangeERxS, _ZN12CApiVertical26ApiChannel_SetRefAutoScaleE, _ZN12CApiVertical19ApiChannel_GetScaleERx
also, checking things in a code around impedance, found checks for it to look like _ZN8CChannel12getImpedanceEv call or alternatively something like "*(int *)(param_1 + 0x128)" in decompiled code(when it is accessed directly), where - 0 = 50Ω and 1 = 1MΩ
with that, noticed one common pattern in a bunch of places:
iVar2 = _ZN8CChannel12getImpedanceEv(…);
if (iVar2 == 0) {
...
if (iVar1 == 1000) {
DevInOutAFE_SetHzOutput(param_1,0,0);
DevInOutAFE_SetHzOutput(param_1,1,1);
}
else if (iVar1 == 4000) {
DevInOutAFE_SetBuffer(param_1,1);
}
...
} else {
...
DevInOutAFE_SetBuffer(param_1,1);
...
}
not sure what that is doing (any ideas?), but DevInOutAFE_SetHzOutput looks to change something similar to what DevInOutAFE_SetBuffer changes…
and so, I tried patching that as well(especially given it looks to be specific to 50Ω), however also was not successful
so far - that is all the places, I noticed to somehow relate to 50Ω