xmake使用记录
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt
,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
其官网为:https://xmake.io 。
xmake 基础
创建项目
xmake
可以使用 create
选项创建一个 xmake
项目,例如创建一个名为 helloxmake
的项目。
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt
,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
其官网为:https://xmake.io 。
xmake
可以使用 create
选项创建一个 xmake
项目,例如创建一个名为 helloxmake
的项目。
.android
.gradle
.AndroidStudio
文件夹位置.android
文件夹的修改首先,需要添加一个系统的环境变量 ANDROID_SDK_HOME
模拟器环境变量
默认情况下,模拟器会将配置文件存储在 $HOME/.android/
下,将 AVD 数据存储在 $HOME/.android/avd/
下。您可以通过设置以下环境变量来替换默认设置。
ANDROID_EMULATOR_HOME | 设置特定于用户的模拟器配置目录的路径。默认位置是 $ANDROID_SDK_HOME/.android/ 。 |
---|---|
ANDROID_AVD_HOME | 设置包含所有 AVD 特定文件的目录的路径,这些文件大多由非常大的磁盘映像组成。默认位置是 $ANDROID_EMULATOR_HOME/avd/ 。如果默认位置的磁盘空间不足,您可能需要指定新位置。 |
编译环境:VS2019 + QT5.15.2
参考: https://github.com/x64dbg/x64dbg/wiki/Compiling-the-whole-project
下载源码
1 | git clone --recurse-submodules -b development https://github.com/x64dbg/x64dbg.git |
配置好 VS2019 + QT5.15.2 的环境。
/proc/[pid]/auxv
/proc/[pid]/cmdline
/proc/[pid]/comm
/proc/[pid]/cwd
/proc/[pid]/environ
/proc/[pid]/exe
/proc/[pid]/fd
/proc/[pid]/latency
/proc/[pid]/limits
/proc/[pid]/maps
/proc/[pid]/root
/proc/[pid]/stack
/proc/[pid]/statm
/proc/[pid]/status
/proc/[pid]/syscall
/proc/[pid]/wchan
/proc/[pid]/auxv
包含传递给进程的ELF
解释器信息,格式是每一项都是一个unsigned long
长度的ID
加上一个unsigned long
长度的值。最后一项以连续的两个0x00
开头。举例如下:
1 | # hexdump -x /proc/2948/auxv |
如果手机系统是 android 10 以上,那么需要 IDA 的版本大于 7.3,并且需要设置一下
IDA_LIBC_PATH
的环境变量。
1 | $ export IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so # 32 位 |
参考:https://bbs.pediy.com/thread-258103.htm
本文使用以下调试环境测试均未发现问题:
关于 WhatsAppWrom 的相关报告可以参考:
https://blogs.360.cn/post/Alert_new_Android_malware_spreads_through_WhatsApp.html
样本md5: 121AB9F7C0F439274478099D9E550473。
使用 JEB 打开该样本,可以发现混淆比较严重,代码实现在 com.jan.flixonlines.NotificationService.onNotificationPosted
方法中实现,如下图所示: