Default38693's picture
Create d.log
bfbbd9f
raw
history blame
2.81 kB
LoRAのメタデータを書き換えて、花札から本来のファイル名を設定できなくさせるためのpythonプログラムです。
非ユニークなss_outputs_nameを参照されるのは困る場合にお使いください。※やろうと思えば出来ますが、このコードだとvalueをNoneにはしません。
使い方としては拡張機能のsd-webui-additional-networksにあるscriptsディレクトリ直下に両ファイルを置き、WEBUI起動。
コマンドプロンプト上で対象パスと書き換え内容を聞いてくるので、回答してください。書き換え後はバックアップファイルが作成されます。
書き換えると強制的に改変前のファイル名と改竄したことを示すメタデータが付与されます。
"ss_before_falsification_output_name": "None",
"ss_output_name": "TTTTTT",
"ss_metadata_falsified": "True"
unit.pycのコードは下記の通り
o
・sdメ ・  @ s8 d dl Z d dlZd dlZd dlmZ dd・ Zdd・ ZdS )・ Nc   C s t | 。d。S )Nzutf-8)レbase64Z b85decodeレdecode)レvゥ r ・unit.pyレc s r c  C sセ t d・ td・} tt| 。・} ttd・。}t|td・・}t |d| d・・ td・}|d| d・}|td・ }td ・td
・td・|td ・|i}t|td・・}|d| |d
・ |d| d・}t d・ d S )Nz unit run.zsafetensors path: s b7OL8aCCDnZEs{{Y+rSBX>0s a%Ev;Uu|z>Wo%z<WprU=VRT^ZLoRA)レmoduleレ
model_pathznew ss_output_name: s b8}yBb#!obbYE^^ZDjs b8}y9WprU=VRT_%W?^h|X=Z6<WBs RC0A?s, b8}x}WoB=3WnX4tY;$R5X=7n@X>V>{Z*_EVb#z~DVQpms cXDZTWnXP?WMyn$ZDn*}WMOn+)r r ZupdatesZ falsified) レprintレinputレstrレpathlibレPathレ importlibレ
import_moduler レgetattr) r レmレfレnewZmetadataレoldレupdateレf2レur r r レa
s" r )r r
r Zmodules.scriptsZscriptsr r r r r r レ<module> s  
.pycコード見ると分かりますが、改竄済フラグ追加処理を消したり出来ないように人間が理解できる形式にしてません。これ見てぱっと除去できる人ならそもそもメタデータ自体簡単に変えられるはずなので、そこまでの対策はしてません。また、第三者がソースコードの正当性を容易に検証できない(要するにコード内部で何やってるか分からないので、よく分からない場合には使うこと自体おすすめしません)
import自体も動的インポートを使って何を使っているか隠蔽してます。