Re: [wizs] 關於 .o 檔的資料變更

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間6年前 (2019/01/31 15:13), 編輯推噓0(007)
留言7則, 2人參與, 6年前最新討論串2/2 (看更多)
打報告打到快睡著,這篇大致提一下做法。 首先去 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://www.ptt.cc/bbs/mud_sanc/M.1548918823.A.EBD.html

01/31 15:14, 6年前 , 1F
其實用 javascript 也可以寫 .o 檔的讀取工具,年後
01/31 15:14, 1F

01/31 15:15, 6年前 , 2F
我找時間寫
01/31 15:15, 2F

01/31 16:41, 6年前 , 3F
沒有值的屬性不會出現在 .o 檔
01/31 16:41, 3F

01/31 16:48, 6年前 , 4F
直接decode為mapping, 編輯後再encode會比較通用
01/31 16:48, 4F

01/31 16:51, 6年前 , 5F
01/31 16:51, 5F

01/31 16:53, 6年前 , 6F
可以修改來處理 .o 格式
01/31 16:53, 6F

01/31 17:53, 6年前 , 7F
呃沒要增刪改,讀取而已,堪用即可
01/31 17:53, 7F
文章代碼(AID): #1SKg0dwz (mud_sanc)
文章代碼(AID): #1SKg0dwz (mud_sanc)