Aynakeya's Blog

Kill My Emotion

Introduction

在尝试逆向一个动态链接库的时候,有时你可能希望单独运行某个函数,以探究它的具体作用。

如果这个二进制文件的编译架构与你的机器架构相同,并且你拥有其所有依赖库,那么操作相对简单:直接使用dlopen加载动态库,然后通过 offset 获取函数地址,执行即可。

然而,如果遇到不同架构的二进制文件,比如 aarch64 架构,应如何方便地进行调试和模拟运行呢?

一种常见的方法是在相应架构上启动gdbserver或使用frida等类似工具进行跟踪。但这种方法过于笨重。是否存在一种更轻量级的方法来模拟运行这个 ELF 文件呢?

unicorn模拟运行, 外加elf简单介绍

Read more »

Introduction

Programmer: Huh. I wonder where are my objects?

C++: I don't know. Objects have their own lifecycles.

adapt from: "Your characters also have their own lives." -by anonymous genshin impact fans
original: 《角色也有自己的生活》

c++ object, contructor, deconstructor, variable scope and lifecycles.

Read more »

tl;dr

I found a privilegee escalation vulnerability in one of my course's assignment.

I've reported the vulnerability to our instructor, and he fixed it. yaayy.

This article will be about how I found this vulnerability and how I utilized it to get a root shell.

Read more »

不知道咋说,感叹一下吧。

前端时间自己有个需求,去 github 上翻了翻正好有类似的开源项目存在。但是因为缺少一个解密算法,导致那个项目不可用。

我想,逆向这块我熟啊,那就研究研究看看能不能找到解密算法吧。

找到解密算法之后,我顺势提了 pull requests ,仓库主人也 merge 并发布了新版。

今天想到这件事又回去看了眼那个项目,发现作者居然做了收费版本。 (笑

当然之前的开源版本还是能用的。

怎么说呢,我确实没想过还能以服务支持的形式赚钱,感觉自己要学的还挺多的。

前言

大家好啊,我又回来写博客了。由于大四的选了几门超级难的课,导致没多少时间写博客了。(以上50%为真)

现在是2023年11月30日凌晨1点半,我来写点博客。

总之由于某些原因,我研究了一下微信视频号下载视频的方式。我在github上发现一个挺好的解决方法(WeChatVideoDownloader),原理是利用代理获取视频地址。但是最近出了点问题,微信对视频号做了一点更新,对视频进行了一点小小的加密,导致下载下来的视频无法直接打开。

什么,加密,这能忍?

Read more »

引言

设计一个高效且完善的业务系统,通常会需要分层。目前主流的分层都大多包含三层delivery, service, repository。当然,我们有时会在这些基础层次之间进行扩展,如在service和repository之间加入一个manager层,正如阿里的架构那样。

层架构下每个层的职责变得清晰,利于实现业务逻辑已经开展迭代。

但是,在设计业务逻辑的时侯,我遇到了一个问题,也就是缓存。究竟是放在service 层更好还是 repository 层更好捏?

Read more »
0%