某天气VIP分析
前置工具: 雷电模拟器9.0.77.0(64) + Redmi Note 8 frida15.22 jadx 分析流程 MT提取安装包后发现是未加固的APP。 抓包发现登陆参数除了对password进行了加密外,其他参数都是明文,不在分析登陆接口。 直接分析该APP的vip功能,jadx打开APP等
滴水-day41-子窗口-消息处理函数-子消息回调函数定位
子窗口 按钮窗口,创建按钮窗口时需要指定父窗口的句柄,表示该子窗口附加在父窗口上, HWND buuton = CreateWindowW( TEXT("BUTTON"), TEXT("按钮"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_DE
滴水-day40-ESP寻址-定位回调函数
ESP寻址 函数的调用总会伴随着传递参数,A函数调用B函数给B函数传递了两个INT参数,那么在CALL B函数的时候,B函数内部一定会有堆栈提升的操作给这个函数使用,通常情况下都是使用的PUSH EBP的方式进行堆栈的提升,但还有一种方式比PUSH EBP更方便快捷,就是ESP提升堆栈。 我们都知道
滴水-day39-事件-消息-消息处理函数
事件 什么是事件? 事件就是一种动作,用户点击鼠标,单击键盘等等都可称为事件,他是用户做了某种动作而触发的。 消息 当用户触发事件的时候Windows会把这个事件封装成一个消息存放到MSG消息结构体中等待发出消息 消息队列 系统消息队列 应用消息队列 系统会自动区分哪些是需要系统处理的,哪些是需要应
滴水-day38-WIN32-宽字符
宽字符 在编程中通常会遇到多语言的问题,也就是每个国家都有不同的语言,如果没有一个统一的表就无法直接表示各个国家的语言。 在WIN32中有两个码表,分别是ASCII和UNICODE。 ASCII码表通常是只表示一个字符或者一个字节,这个在使用英文语言下是使用最多的一个码表,还有一个是UNICODE码
滴水-day37-二叉树
在内存图中会有两个地址来存储左右子树,而这两个地址,相对小的那个地址通常存储的是左子树,而大地址存储的是右子树。 普通二叉树 #pragma once #include <iostream> #include <windows.h> #include <cstring> #include <str
滴水-day36-链表
C2447报错 如果定义的函数的类型是依赖于模板的话需要在函数头声明使用:typename 来声明一下。 #pragma once #include <iostream> #include <Windows.h> #define SUCCESS 1 // 执行成功
滴水-new-delete-vector
malloc malloc—>_malloc_dbg—>heap_alloc_dbg—>heap_alloc_dbg_internal—>__imp__HeapAlloc free free—>__imp__free—>_free_dbg—>free_dbg_nolock—>_free_base—>
滴水-day34-引用-友元-运算符重载
引用 引用是什么? void Test(int x, int y) { x = 1; y = 2; } int main() { int x = 2; int y = 2; Test(x, y); cout << x << " " << y << endl; return 0; }
滴水-day33-模板
使用模版实现swap(x, y)函数,功能:交换x, y的值. template<class T, class E> void swapA(T &x, E &y) { T temp = x; x = y; y = temp; } int main() { int x = 1; short