aboutsummaryrefslogtreecommitdiffstats
path: root/bruiser/lua-scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bruiser/lua-scripts/df-demo.lua25
-rw-r--r--bruiser/lua-scripts/xobj.lua4
2 files changed, 22 insertions, 7 deletions
diff --git a/bruiser/lua-scripts/df-demo.lua b/bruiser/lua-scripts/df-demo.lua
index d393988..7db2f85 100644
--- a/bruiser/lua-scripts/df-demo.lua
+++ b/bruiser/lua-scripts/df-demo.lua
@@ -28,19 +28,30 @@ end
function jmp_table_test()
io.write(colors("%{cyan}".."lua:getting text section...\n"))
local text_section = xobj.getTextSection(df_exe)
+ local rodata = xobj.getRODataSection(df_exe)
+ for k,v in pairs(rodata) do
+ if v > 32 and v < 127 then
+ io.write(string.format("%c",v))
+ else
+ io.write(" ")
+ end
+ end
+ io.write("\0\n")
io.write(colors("%{green}".."lua:got text section.\n"))
local head = jmp_s_t()
-- messes up the stack. I could fix it but not sure why i would want to keep this in
--local head2 = jmp_s_t:new()
io.write(colors("%{cyan}".."lua:calling getjmptable\n"))
- head = getjmptable(#text_section, text_section)
+ --head = getjmptable(#text_section, text_section)
- while head:inext() ~= nil do
- head:dump("entry")
- io.write("type:", head:type(), "\tlocation:", "0x"..string.format("%x", head:location()))
- print()
- head = head:inext()
- end
+ --if false then
+ --while head:inext() ~= nil do
+ --head:dump("entry")
+ --io.write("type:", head:type(), "\tlocation:", "0x"..string.format("%x", head:location()))
+ --print()
+ --head = head:inext()
+ --end
+ --end
end
--main()
diff --git a/bruiser/lua-scripts/xobj.lua b/bruiser/lua-scripts/xobj.lua
index 8453a93..1d1f748 100644
--- a/bruiser/lua-scripts/xobj.lua
+++ b/bruiser/lua-scripts/xobj.lua
@@ -133,6 +133,10 @@ function xobj.getTextSection(elf_exe)
return objload("elf_get_text_section", elf_exe, "bytes")
end
+function xobj.getRODataSection(elf_exe)
+ return objload("elf_get_rodata_section", elf_exe, "bytes")
+end
+
function xobj.CSDump(code)
ret = ""
for k,v in pairs(code) do