0%

最终效果

使用frida实现功能破解,未完全绕过完整性检测,猜测解密so文件时有校验

app分析

文件结构

游戏引擎为il2cpplibil2cpp.so代码段加密,global-metadata.datfilelist被加密。

阅读全文 »

最终效果

成功实现RocketMouse直装破解版

app分析

文件结构

首先查看apk文件结构,发现是mono引擎的unity3d游戏,且Assembly-CSharp.dll已加密。
并且存在assets/filelist文件,测试发现是apk中各个文件的crc32校验值。

阅读全文 »

更新

安卓12 固定Wifi热点IP (Xposed)

安卓10、11 固定Wifi热点IP (Xposed)

项目地址

SoftApHelper

概述

手机系统升级到安卓9之后,开热点的主机IP地址是随机的。其他设备设置代理很不方便,于是考虑固定热点IP。

Hook点

安卓9

com.android.server.connectivity.tethering.TetherInterfaceStateMachinegetRandomWifiIPv4Address函数。

TetherInterfaceStateMachine.java#259

1
private String getRandomWifiIPv4Address()
阅读全文 »

概述

操作系统实验使用的是清华大学的uCore,而实验指导书使用的是命令行调试。由于内核是由C语言编写的,于是尝试使用VSCode调试内核代码。(调试boot还是得make debug

环境

Ubuntu 18.04,已根据指导书配置环境,并安装了VSCode

配置步骤

安装拓展

安装C/C++拓展
PS:建议安装语言包,搜索Chinese即可找到

阅读全文 »

概述

由于默认的python版本为2.7,执行命令时需要改为python3,比较麻烦。所以将python3设置为默认版本。(执行apt-get install python3-pip安装python3)

配置

原理:使用update-alternatives进行配置

查看python位置

1
ls /usr/bin/python*

一般是/usr/bin/python2/usr/bin/python3

查询当前配置

1
update-alternatives --list python

没有配置过的话会返回update-alternatives: error: no alternatives for python

配置默认版本

通过设置优先级来实现默认使用python3

1
2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

测试

查询默认版本号

1
python --version

注意

有些脚本需要手动修改python版本(如yum),将/usr/bin/python改为/usr/bin/python2

参考

更改Ubuntu默认python版本的两种方法

概述

结构体声明中加上__attribute__((packed)),可以防止编译器对结构进行字节对齐优化。
使用__attribute__((aligned(8)))(8为对齐字节数),可以强制编译器按指定字节对齐。

结构体定义

使用 packed

1
2
3
4
5
6
struct AlignTest
{
char a; //1
short b; //2
int c; //4
} __attribute__((packed));

使用sizeof获取结构体的大小,返回7

不使用 packed

1
2
3
4
5
6
struct AlignTest
{
char a; //1
short b; //2
int c; //4
};

根据结构体中最长的类型(int),进行对齐,获取到的结构体大小为8

指定对齐大小

1
2
3
4
5
6
7
struct AlignTest
{
char a; //1
short b; //2
int c; //4
int d; //4
} __attribute__((aligned(8)));

不使用指定对齐字节时,结构体大小为3*4=12,指定后变为16

参考

为什么要用 “ attribute ((packed)) ” 定义结构体
attribute 用法

主题安装

安装模块

win+x, PowerShell(管理员)

1
2
Install-Module posh-git -Force -SkipPublisherCheck
Install-Module oh-my-posh -Force -SkipPublisherCheck

允许执行脚本

win+x, PowerShell(管理员)

1
set-ExecutionPolicy RemoteSigned

编辑配置文件

1
2
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

写入以下内容

1
2
3
4
chcp 65001
Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme Paradox

注意:旧版本oh-my-posh设置主题命令为Set-Theme Paradox
全部主题见:JanDeDobbeleer/oh-my-posh/Themes

字体安装及切换

下载字体

字体可以在这下载:powerline/fonts

安装字体

安装for Powerline结尾的字体,以DejaVu Sans Mono for Powerline.ttf为例
右键字体文件,为所有用户安装

应用字体

重新打开PowerShell,右键标题栏,在属性-字体中修改字体
PS:如果没有已安装的字体,先执行chcp 65001再试

测试

重新打开PowerShell,观察默认字体是否发生变化

安装PSReadLine(可选)

1
Install-Module -Name PSReadLine -Force -SkipPublisherCheck

notepad $PROFILE,添加:

1
Set-PSReadlineOption -EditMode Emacs

双击Tab会出现智能提示:

参考:PSReadLine让PowerShell控制台高亮起来

配置cmd默认活动代码页编号(可选)

注意:配置后将导致无法执行bat脚本
win+r,regedit
定位到计算机\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
修改CodePage字段为65001(10进制)
之后启动cmd即可切换字体

参考

Powershell 主题美化学习过程
超酷的 PowerShell 美化指南
Windows Terminal + oh-my-posh模块美化官方教程集锦以及常见问题(问题收集中)