TOP > カテゴリ > JavaScript >

EXE/DLLなどのリソースをRESファイルへ変換する[iResEditor.js]

実行ファイルのリソースをRESファイルへ変換する方法です。

iResEditor.jsの入手

iResEditor
http://www.petitmonte.com/labo/iResEditor/

サンプルコード - Sample code

リソースの「Bitmap、Menu、Dialog、String Table、Accelerator、RCData、Message Table、Version Info、HTML、Manifest、Ribbon、Toolbar」をRESファイルに変換します。「Icon、Cursor」は画像形式に変換されます。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="zip.min.js"></script>
<script src="iResEditor.js"></script>
<script>
 
function onDragOver(event){ 
  event.preventDefault(); 
} 
  
function onDrop(event){
  onAddFile(event);
  event.preventDefault(); 
}  
 
function onAddFile(event) {
  var files;
  var reader = new FileReader();
  var filename;
  
  if(event.target.files){
    files = event.target.files;
  }else{ 
    files = event.dataTransfer.files;   
  }    
 
  reader.onload = function (event) {
    var stream = new Uint8Array(reader.result);  
    
    try{
      
      // PEファイルの読み込み
      var ResEditor = new TResEditor(filename);
      ResEditor.LoadFromStream(stream,true,true);  
      
      if(ResEditor.PEAnalyst.IsPacked){
        alert('このファイルは圧縮されています。');
        return;
      }

      if (!ResEditor.ExtractResFile('res_xxx.zip')){
        alert('RESファイルに変換するリソースがありません。');
      }
      
    }catch(e){
      alert('Error : ' + e);
    }
  };
  
  if (files[0]){    
    filename = files[0].name;
    reader.readAsArrayBuffer(files[0]); 
    document.getElementById("inputfile").value = '';
  }
}        
</script>  
</head>
<body ondrop="onDrop(event);" ondragover="onDragOver(event);"> 
<div style="height:500px;width:500px;">
  <input type="file" id="inputfile" onchange="onAddFile(event);" >
</div>
</body>
</html> 

iResEdtor関連記事

リソースの文字列を編集する
リソースをRCファイルへ変換する
リソースをRESファイルへ変換する
リソースをバイナリファイルで抽出する
コードセクションを抽出する
データセクションを抽出する
全てのセクションを抽出する
エキスポート情報をCSVに変換する
インポート情報をテキストに変換する
隠しコードを取得する
リソースをTreeViewで表示する





関連記事



公開日:2016年07月21日
記事NO:02079