Bzi-Han's blog

首页

关于

归档

Bzi-Han's blog

loading..

[编程] Android14+中使用AndroidSurfaceImgui无法被scrcpy/录屏软件录制到的原因分析

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 AndroidSurfaceImguiAndroidSurfaceImgui 是一个在 Android 上的纯Native方案实现使用 Surface(同 SurfaceView) 来绘制 Dear ImGui 的库,目前支持Android5 ~ Android16。 后续为了方便称为 AImGui。 最终效果 起因在 AImGui 中,用来创建 Surface 的核心部件是 ANativeWindowCreator.h,其原理是调用libgui.so的 API SurfaceComposerClient::CreateSurface来实现的。 在实际应用的时候,发现从 Android14 开始,使用 ANativeWindowCreator.h ..

更多
loading..

[编程] C++编译时随机数生成以及应用于字符串混淆

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 原理一般来说随机数种子使用std::random_device就好,它是基于硬件熵(如果支持)的随机数种子生成器,效果是比较不错的。 它的底层原理是调用 x86 指令集扩展指令RDRAND,如果硬件不支持,则回退到使用/dev/random或者/dev/urandom。 感兴趣的话可以自行阅读 Intel 白皮书或简单参考:https://www.uops.info/html-instr/RDSEED_R64.html 在 C++ 中我们可以通过 intrinsic 的方式直接调用这条指令,例如: #include <immintrin.h> int main() { unsigned long long seed ..

更多
loading..

[编程] 装逼技能之Hook记事本(Notepad)实现自定义文档"水印"或背景

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 Visual Studio Code Spy++ 效果 子类化窗口绘制背景对于背景的绘制,我们可以通过子类化窗口然后拦截WM_ERASEBKGND消息来实现,也就是说在窗口背景需要被重绘的时候,我们拦截这个消息,然后绘制自己的背景。 具体的描述可以看:WM_ERASEBKGND。 具体实现如下: 子类化窗口void HackRoutine(HMODULE selfModuleHandle) { HWND notepadWindowHandle = nullptr; // 先遍历自身获取主窗口句柄 ::EnumWindows( [](HWND windowHandle, LPARAM lPa..

更多
loading..

[笔记] 关于微信公众平台申请的一些坑

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 这些坑仅代表个人趟过的经验,如有不符以你为准。 封面 申请服务号如果营业执照是刚办下来的话千万不要急着去申请服,否则大概率会显示企业法定代表人身份证号码不一致。 这种情况下申请单纯在浪费法人验证次数(如果选的是这个),法人验证次数只有3次,用完就没了,就只能走对公账户认证或者微信认证。 最保险是等15天后(从发照当天开始算)再进行申请。 申请微信支付(商户号)在申请微信支付接口的时候最好走网页操作,可选项更多。 走小程序申请的话有很多东西选不了,导致还得提交更多无关资料。 快速注册并认证小程序(复用资质)在使用这个功能进行申请的时候,如果没有特别需求的话一定把微信认证资质选项给勾上,否则创建出来的小程序是没有微信认证的,需要再走一遍认证流程。 并且..

更多
loading..

[笔记] JDK/JRE导入CA证书抓包Https流量并替换

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 需求背景使用UnrealEngine4.18.3版本打包Android APP的时候报错: FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project ''. > Could not resolve all dependencies for configuration ':classpath'. > Could not find com.android.tools.build:gradle:2.2.2. Searched in the fol..

更多
loading..

[逆向] UE游戏Pak文件的解包和打包与AES Key的寻找(Dump)

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 Unreal Engine 准备工作首先需要在Epic Games Launcher中安装对应游戏版本的Unreal Engine。 一般来说,只要 安装的引擎版本 >= 游戏使用的引擎版本 都可以,个人推荐安装高版本的引擎,因为高版本的引擎会兼容低版本的Pak文件。但是如果解包时遇到问题,可以尝试安装对应游戏版本的引擎。 安装好引擎后,引擎目录\Engine\Binaries\Win64\UnrealPak.exe就是我们要用来解包和打包Pak文件的程序。 我们也可以把它和依赖一同复制出来独立使用,只需要把UnrealPak.exe和UnrealPak.modules里记录的依赖文件复制到同一目录下即可。 前置Pak文件是..

更多
loading..

[逆向] 使用Android Studio逆向调试APP(APK decode smali)

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 Android Studio smalidea Magisk 准备工作安装插件我们先下载smalidea插件并在Android Studio中安装,不然的话没法对smali下断点。 点击Plugins -> 小齿轮 -> Install plugin from disk...或者File -> Settings -> Plugins -> 小齿轮 -> Install plugin from disk...选择我们刚才下载的插件,例如我是smalidea-0.06.zip 这里直接Accept就行了 获取目标APP的Activity名称安装好了之后我们启动要调试APP,再通过执行 adb shell ..

更多
loading..

[编程] Visual Studio Code(VSCode)中配置C/C++调试和Clang-Format

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 Visual Studio Code 废话咱们书接上回,来配置C/C++的调试和Clang-Format。 配置调试我们先在插件商店中搜索并安装C/C++插件。 由于我们装了clangd,所以插件装完之后应该是会冲突的,比如 直接选择Disable IntelliSense就行了,我们要使用的是clangd,然后Reload。 好了之后我们在左边栏选择Run and Debug,然后选择create a launch.json file 然后我们点击右下角的Add Configuration...,如果你没有这个按钮的话就关掉launch.json文件,然后重新打开。 然后根据自己的需求选择调试器和调试方式(启动&..

更多
loading..

[编程] Visual Studio Code(VSCode)在Windows中配置CMake+clangd

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 Visual Studio Code CMake Ninja 插件安装我们先在Extensions中搜索并安装以下插件: CMake Tools CMake Language Support clangd CMake安装我们打开CMake的下载页面,然后选择Windows版本,下载并安装。 我这里选的是Windows x64 Installer,你也可以用压缩包的,都一样。 是否添加到环境变量取决于你,我个人推荐是添加的。 Ninja安装我们打开Ninja的下载页面,然后选择Windows版本(ninja-win.zip),下载并解压到。 个人推荐解压到cmake.exe同一目录,这样可以减少多余的步骤。 然后我们把ninja.exe所..

更多
loading..

[游戏] 英雄联盟(LOL)上古自定义皮肤移植到现版本的过程

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 工具 妖梦亚索.zip cslol-manager lol_maya bnk-extract GUI ww2ogg ffmpeg Audiokinetic Launcher 需求背景前两天翻网盘的时候看到了个叫”妖梦亚索.zip”的文件,依稀记得是以前某皮肤站上下载的自定义皮肤,还挺喜欢来着。 于是下载了下来打开看了一下,发现是上古的格式,东西都是裸的,而现在的数据都是wad封装起来的,所以已经不适用了。 然后我就萌生了移植到wad格式的想法,再体验一下妖梦亚索! 移植过程解包原始文件我们先从游戏目录下复制出Yasuo.wad.client和Yasuo.zh_CN.wad.client两个文件,因为我们要改的是中文的,所以到时候是直接改第二个,第..

更多
123