WP8.1越狱教程:借助SD卡应用获取系统权限

需积分: 13 3 下载量 121 浏览量 更新于2024-09-11 收藏 400KB DOC 举报
"WP8.1越狱教程:如何替换SD卡应用以获取系统权限" 本文将详述WP8.1系统的越狱教程,重点是如何通过替换SD卡上的微软官方应用来获取手机系统盘和注册表编辑权限。这一技术突破是由XDA开发者论坛的成员提供的,教程主要适用于WP8.1设备,包括Lumia系列以及其他支持WP8.1系统的手机。 首先,用户需要知道安装在MicroSD卡中的微软官方应用,特别是那些为开发者设计的应用,拥有更高的访问和编辑权限。例如,“用于开发人员的预览”应用,可以作为一个入口点。教程中提到,如果将注册表编辑器或其他高权限工具的XAP文件替换掉这些应用,就能极大地扩展用户的权限。 接下来,教程提供了具体的步骤: 1. 下载包含两个文件的压缩包,分别是用于替换的应用和部署工具。 2. 将第一个应用复制到手机的内部存储,如下载文件夹。 3. 使用Windows Phone Power Tools将第二个应用部署到手机中。 4. 确保“用于开发人员的预览”应用已安装在MicroSD卡上,如果原本在手机存储中,可以通过“存储感应”功能将其移动。 5. 安装并运行名为CustomWPSystem的应用,按照指示授予SD卡访问权限,并选择之前复制的CustomPFD_0003.xap文件,最后应用更改。 完成上述步骤后,用户会注意到“用于开发人员的预览”应用图标的变化,这表明替换成功。此时,用户可以打开应用进行注册表编辑和其他高级操作。 需要注意的是,越狱操作具有一定的风险,可能会导致系统不稳定或失去保修。因此,进行此类操作前,用户应确保了解可能的风险,并备份好个人数据。此外,由于WP8.1系统已较为陈旧,相关的安全更新和支持可能已停止,越狱后可能面临更多的安全问题。 这个教程为WP8.1用户提供了获取系统更深层控制的途径,但同时也提醒用户谨慎操作,避免潜在的风险。对于寻求个性化定制和高级功能的用户来说,这是一个值得探索的领域。

帮我把下面一段C++代码改写成python代码:#include "Trade.h" #include "WPrice.h" #include <algorithm> double normalCDF(double x) // Phi(-∞, x) aka N(x) { return std::erfc(-x / std::sqrt(2)) / 2; //erfc()是互补误差函数,该返回值表示标准正态分布下var小于x的概率,即N(x) } CTrade::CTrade(double tick) : wp_bid(0.01), wp_ask(0.01), m_tick(tick), m_TimeRound(50) { newday(NULL); } CTrade::~CTrade() { } void CTrade::OnBook(const BTRec& btRec) { wp.setGamma(0.1); wp_bid = wp.getWP(&btRec.Bids); wp_ask = wp.getWP(&btRec.Asks); if (wp_mid > 0){ //wp_mid初始化为-1,仅遇到第一条BTRec记录时条件为false double wp_now = (wp_bid + wp_ask) / 2; //updated wp_mid int volume = btRec.volume; //volume between two orderbook records double ratio = normalCDF((wp_now - wp_mid) / (2 * m_tick)); //m_tick = tick = 0.2 double buyvolume = ratio*volume, sellvolume = (1 - ratio)*volume; m_TimeRound.update(buyvolume, sellvolume, btRec.rec_time.timestamp); //volume moving average if (mv_volume < 0) { mv_volume = volume; mv_buyvolume = buyvolume; } else{ mv_volume += 0.002*(volume - mv_volume); mv_buyvolume += 0.002*(buyvolume - mv_buyvolume); } // round trip volatility if (time_ini < 0 || btRec.rec_time.timestamp - time_ini >= time_scale){ if (time_ini>0){ double dp = wp_now - wp_ini; volatility += 0.05*(dp*dp - volatility); } time_scale = m_TimeRound.getTime() * 1000; //in milliseconds time_ini = btRec.rec_time.timestamp; wp_ini = wp_now; } } wp_mid = (wp_bid + wp_ask) / 2; } void CTrade::newday(const char* p) { wp_mid = -1; m_TimeRound.newday(p); volatility = 16 * m_tick*m_tick; time_slapse = -1, time_scale = -1, wp_ini = -1, time_ini = -1; mv_buyvolume = mv_volume = -1; }

2023-05-15 上传

优化这段代码:function [Rp,As] = freqzn(num,den,wp,ws,Rp,As,ftype) switch ftype case 1 % 低通 [H, w] = freqz(num, den); H = abs(H); wp_index = find(w >= wp, 1); ws_index = find(w >= ws, 1); Rp = -20*log10(H(wp_index)); As = -20*log10(max(H(ws_index:end))); case 2 % 高通 [H, w] = freqz(num, den); H = abs(H); wp_index = find(w >= wp, 1); ws_index = find(w >= ws, 1); Rp = -20*log10(H(ws_index)); As = -20*log10(max(H(1:wp_index))); case 3 % 带通 [H, w] = freqz(num, den); H = abs(H); wp_index1 = find(w >= wp(1), 1); wp_index2 = find(w >= wp(2), 1); ws_index1 = find(w >= ws(1), 1); ws_index2 = find(w >= ws(2), 1); Rp = -20*log10(min(H(wp_index1:wp_index2))); As = -20*log10(max([max(H(1:ws_index1)), max(H(ws_index2:end))])); case 4 % 带阻 [H, w] = freqz(num, den); H = abs(H); wp_index1 = find(w >= wp(1), 1); wp_index2 = find(w >= wp(2), 1); ws_index1 = find(w >= ws(1), 1); ws_index2 = find(w >= ws(2), 1); Rp = -20*log10(max(H(wp_index1:wp_index2))); As = -20*log10(max([max(H(1:ws_index1)), max(H(ws_index2:end))])); otherwise error('Unsupported filter type!'); end %绘制滤波器的幅频特性 [H, w] = freqz(num, den); H = abs(H); figure; plot(w/pi, H, 'b', 'linewidth', 1.5); hold on; plot([0, wp]/pi, [1, 1], 'r--', 'linewidth', 1.5); plot([ws, 1]/pi, [0, 0], 'r--', 'linewidth', 1.5); if ftype == 3 || ftype == 4 plot([wp(1), wp(1)]/pi, [0, 1], 'r--', 'linewidth', 1.5); plot([wp(2), wp(2)]/pi, [0, 1], 'r--', 'linewidth', 1.5); end hold off; grid on; xlabel('归一化频率/\pi'); ylabel('幅值'); title('数字滤波器幅频特性'); end

2023-06-09 上传