作者laechan (揮淚斬馬雲)
看板mud_sanc
標題Re: [wizs] 關於 .o 檔的資料變更
時間Thu Jan 31 15:13:39 2019
打報告打到快睡著,這篇大致提一下做法。
首先去 read .o 檔,然後 explode
strs=read_file(files+".o");
tmps=explode(strs,"\n");
接著土法煉鋼,讀出每個變數
foreach(tmp in tmps)
{
i=0;
while(tmp[i..i]!=" ")
i++;
vars=([tmp[0..i],
}
然後去產生一個臨時的 .c 檔:
content=@LONG
inherit DAEMON;
LONG
;
content+="mixed ";
foreach(tmp in tmps)
content+=tmp+",";
content+="\n\n";
content+=@LONG
void create()
{
::create();
seteuid(getuid(this_object()));
LONG;
content+=" restore_object("+file+");\n}\n\n";
write_file("/open/tmp_load.c",content);
update_files("/open/tmp_load");
這樣 /open/tmp_load.c 就能用來 restore 目標 .o 檔,並且
將載入的變數資料也全部存在這個 tmp_load.c 物件裡頭。
當然實際上跟 running 一樣,這東西寫起來是落落長的,不過
如果能寫出來,好處很多。
LAechan
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud_sanc/M.1548918823.A.EBD.html
1F:→ laechan : 其實用 javascript 也可以寫 .o 檔的讀取工具,年後 01/31 15:14
2F:→ laechan : 我找時間寫 01/31 15:15
3F:→ typers : 沒有值的屬性不會出現在 .o 檔 01/31 16:41
4F:→ typers : 直接decode為mapping, 編輯後再encode會比較通用 01/31 16:48
6F:→ typers : 可以修改來處理 .o 格式 01/31 16:53
7F:→ laechan : 呃沒要增刪改,讀取而已,堪用即可 01/31 17:53