Waht is LoLe?
LoLe is a Python3 library for...
Reading/Writing data in address.
Value in square brackets [] denote address depeding on LoLe plugin.
Typical LoLe plugin (Kmem) can be used for reading/writeing data in physical address.
Plugin
LoLe.Kmem # Plugin for reading/writeing data by physical address in system.
For example...
In Linux X86_64 platform, to read data in physical address 0xB0000000
>>> from LoLe.Kmem import Kmem8, Kmem16, Kmem32, Kmem64
-----------------------------------
LoLe Evaluation version: 00.01.000
Author MaxWu (EfiPy.Core@gmail.com)
===================================
>>> Kmem = Kmem32 (0x10000000000000000)
>>> Kmem[0xB0000000]
Kmem32[0xb0000000:0xb0000003].bit[0:31]: 0x29C08086
>>> Kmem[0xB0000000][0:15]
Kmem32[0xb0000000:0xb0000003].bit[0:15]: 0x8086
>>>
-----------------------------------
LoLe Evaluation version: 00.01.000
Author MaxWu (EfiPy.Core@gmail.com)
===================================
>>> Kmem = Kmem32 (0x10000000000000000)
>>> Kmem[0xB0000000]
Kmem32[0xb0000000:0xb0000003].bit[0:31]: 0x29C08086
>>> Kmem[0xB0000000][0:15]
Kmem32[0xb0000000:0xb0000003].bit[0:15]: 0x8086
>>>
Download
LoLe library can be downloaded from https://github.com/EfiPy/LoLe
I found your LoLe project while looking for a good library for the kernel module manipulation, (fortunately I found kmodule :D)
ReplyDeleteLoLe looks cool to me! And I'm curious about what LoLe does in its internals, which is probably achieved in `LoLe/Driver/*.o.*` and `LinuxKmDrv.so.*`.
Especially, I want to know about the way LoLe reads data from the kernel via physical memory address and the way to avoid KASLR.
I would be glad if you would provide me some insights (or related documents/books) about these topics.
I look forward to your response. Thank you!