做了一堆re才返回来写wp的懒狗 怕自己忘了
也给萌新们介绍介绍 虽然我学re才一个多月啊摔(′д` )
必备工具:
ida 逆向必备 不多说
jadx 安卓反编译 直接看逻辑 很好用
Androidkiller 安卓逆向 也可 但是没有反编译
PEiD:查壳 分析文件的
kali:一个系统 装虚拟机里面吧 里面好多工具也很好用
包括但不限于以上工具
前置知识:
C语言基础 常见库函数你得懂吧
百度bing Google github等网站的搜索学习能力
各种常见算法 如异或 base系列 基本的排序啥的算法
汇编 RE必备 很难学 但是也得啃 可以看书 也可以看小甲鱼的视频
Python语言 不说学深的 但得能写脚本 调库 各种常见库的使用
推荐书籍:
《加密与解密》:看书看不懂就百度吧 前置知识自己补
easyre
ida64打开F5即得
flag{this_Is_a_EaSyRe}
reverse1
查找字符串
发现疑似flag值
提交发现flag不对
跟进找到函数
发现是遍历str2将o转换为0
所以flag{hell0_w0rld}
reverse2
F5
int __cdecl main(int argc, const char **argv, const char **envp)
{
int result; // eax
int stat_loc; // [rsp+4h] [rbp-3Ch] BYREF
int i; // [rsp+8h] [rbp-38h]
__pid_t pid; // [rsp+Ch] [rbp-34h]
char s2[24]; // [rsp+10h] [rbp-30h] BYREF
unsigned __int64 v8; // [rsp+28h] [rbp-18h]
v8 = __readfsqword(0x28u);
pid = fork();
if ( pid )
{
waitpid(pid, &stat_loc, 0);
}
else
{
for ( i = 0; i <= strlen(&flag); ++i )