Skip to content

Commit 87cc25e

Browse files
committed
fix typo and english, thanks https://dylan-liew.github.io/
1 parent 298c763 commit 87cc25e

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

_posts/general/2025-07-11-breaking-disassembly-through-symbol-resolution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Let's take a look at what actually happens when an ELF program tries to call `pu
8787
![call_puts](call_puts.png)
8888
_call puts@PLT which dereferences and jumps into GOT entry_
8989

90-
As you can see, when we call `puts`, it actually calls `puts@PLT` which attempts to dereference and jump into its own GOT entry. If the symbol has already been resolved before, the GOT entry of `puts` would contain the actually its function libc address.
90+
As you can see, when we call `puts`, it actually calls `puts@PLT` which attempts to dereference and jump into its own GOT entry. If the symbol has already been resolved before, the GOT entry of `puts` would contain its libc address.
9191

9292
![puts got is resolved](got_resolved.png)
9393
_puts@GOT after puts has been resolved_
@@ -430,7 +430,7 @@ Ultimately, this would make every single API function appear incorrectly and mig
430430
- Decompiler might refuse to decompile due to incorrect call types _(if the fake function requires many more arguments that the original function)_
431431
- Disassembler might stop disassembly early if it encounters a `noreturn` function _(i.e. exit, _exit, abort)_.
432432

433-
You can find the obfuscation scripts and test files [here](https://github.com/caprinux/rel-fuscate/obfusactor).
433+
You can find the obfuscation scripts and test files [here](https://github.com/caprinux/rel-fuscate/tree/main/obfuscator).
434434

435435
## Deobfuscation is easier o_o
436436

@@ -456,4 +456,4 @@ Exploring new ways to breaking disassembly/decompilation and deter reverse engin
456456

457457
I hope you enjoyed this post! If it interests you, you can check out some of the other CTF challenges that I've written in the past [here](https://github.com/caprinux/challenge-creation) _(including some other cursed obfuscated challenges)_.
458458

459-
Thanks to [goatmilkkk](https://goat.elmo.sg) for proofreading!
459+
Thanks to [goatmilkkk](https://goat.elmo.sg) for proofreading!
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: Querying the Kernel for Exploitable Heap Structures
3+
description: Using CodeQL to query the Kernel codebase
4+
date: 2025-02-15 00:00:00 +0800
5+
categories: [Resources]
6+
tags: [kernel]
7+
---
8+
9+
# Foreword
10+
11+
One of the biggest difficulties that I've faced as a beginner trying to get into Kernel Exploitation would be not knowing what exploitable heap structure I can use for any given heap-based vulnerability.
12+
13+
In fact, this is most certainly not a novel research topic. [ptr Yudai](https://x.com/ptryudai), who is highly respected in the exploit community, has also tackled this problem successfully using the Ghidra scripting engine.
14+
15+
- https://ptr-yudai.hatenablog.com/entry/2020/03/16/165628
16+
- [Deep Kernel Treasure Hunt (CodeBlue, 2023) - ptrYudai](https://archive.codeblue.jp/2023/result/pdf/cb23-deep-kernel-treasure-hunt-finding-exploitable-structures-in-the-linux-kernel-by-yudai-fujiwara.pdf)
17+
- https://blog.csdn.net/qq_45323960/article/details/130912716
18+
19+
## Objectives
20+
21+
- Find the structs of all objects allocated in the kernel
22+
- Trace
23+
24+
# CodeQL
25+
26+
27+
28+
# References

0 commit comments

Comments
 (0)