Lu Blog

Segment fault!

Zune3.30固件解包&字体替换

挂载Zune硬盘尝试读取文件:
EBoot.bin
nk.bin
recovery.bin
发现Zune是WinCE内核系统,首先下载Nkbintools,该工具可以读取并修改WinCE系统的nk.bin文件
将nk.bin复制到Nkbintools目录下:
QQ截图20180212170050.png

使用viewbin读取nk.bin文件:

viewbin nk.bin

QQ截图20180212170401.png
记下Image Start和length的值,然后使用cvrtbin将nk.bin转换为nk.nb0:

cvrtbin.exe -a 88200000 -w 32 -l 00D82D8Cl -r nk.bin

QQ截图20180212171152.png
建立一个文件夹名为nk_dump,然后使用dumprom将nk.nb0中的文件提取到nk_dump文件夹:

dumprom.exe -d nk_dump -v -5 nk.nb0

QQ截图20180212172055.png
进入nk_dump可以看到zune的字体文件:
QQ截图20180212172311.png
发现用binmod不能替换原来字体,因为带中文的字体体积太大了,无法替换.
然后发现注册表内可以设置字体位置,思考:可以不可以直接加载外部字体?
注册表位置:default.fdf,使用reg2fdf.pl和fdf2reg.pl可以转换

阅读更多

Obfuscator LLVM 编译

克隆代码

git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/

如果在这里遇到错误,请使用下面命令

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF ../obfuscator/

详情:https://github.com/obfuscator-llvm/obfuscator/issues/71
然后开始编译

make -j7

以下内容正在测试 请勿随意运行

./build/bin/clang++ ./helloworld.cpp  -mllvm -sub -mllvm -bcf -mllvm -fla  -o ./hel
../build/bin/clang -mllvm -fla --target=arm-linux-gnueabihf --sysroot=../gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf ./helloworld.cpp -o b

https://stackoverflow.com/questions/15330110/llvm-build-options-for-arm-raspberrypi
git clone https://github.com/raspberrypi/tools.git
https://www.raspberrypi.com.tw/tag/gcc-linaro-arm-linux-gnueabihf-raspbian/
https://llvm.org/docs/HowToCrossCompileLLVM.html

阅读更多