問題タブ [deobfuscation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaシフトと&値をどのように解読しますか?
たとえば、(Java難読化から)非常にオーバーフローしたシフト値でこれを取得したとしましょう
試してから、私はこれを理解しました..
8 = 0xff 00
16 = 0x ff 00 00
24 = 0x ff 00 00 00
このように難読化を解除しています。
これは簡単に修正できます..しかし、これらのシフトは本当に苦労してい[+ -]
ます。[- +]
0x8f553768 & 31
私は等の適切な答えを与えるのような値に AND を使用する手法を見つけました
。次に、符号なしバイトに相当するものに8
変換します..0xff00
0xff
私の質問は、ビットマスクを適切な値に下げる方法です..この例を言ってください
私がたどり着いたのは..
0xfc00
を適切な値に下げるにはどうすればよいですか?
私はguess
このように見えるべきでした
AND
しかし、値を下げる式は何ですか?
php - php -f file.php?
とにかく、私はPHPコードの難読化を解除することについて、PHPについて誰かと話していました。彼は、「evalをechoに変更してから、php-ffile.phpを実行する」と言いました。
evalを(コード内で)echoに変更することの意味は理解していますが、php -f file.phpとはどういう意味ですか?
javascript - この JavaScript を識別しますか?
次のクレイジーな JavaScript を含むプロジェクトを継承しました。これは、元のコードをミニファイヤ/難読化ツールで実行した結果であり、実際にはこのように書かれていないと思います。
元のコードはJCarousel Lite JQuery プラグインだったようです。このプラグインのバージョンを特定する方法はありますか? コードを難読化するために何が使用されたかがわかっていれば、難読化ツールを使用してすべてのバージョンを実行し、どのバージョンが一致するかを確認できると思います (難読化プロセスに疑似ランダム性はないと仮定しています)。
javascript - 難読化された JavaScript ソース コードを理解する
私は Android プログラミングの初心者ですが、Google は私をこの便利な Web サイトに何度もリダイレクトしてきました。ここに私の問題があります:
java.io を使用して、HTTP POST リクエストをそのまま模倣することができました。
そして、これは魔法のように機能していました!ただし、Web サイトが更新され、以前と同じソース コードの位置が次のようになりました。
私はJavascriptの経験がまったくありません。誰かが私を正しい軌道に戻すことさえできますか? どこから始めればいいのかわからず、以前は POST メソッドを真似ていましたが、今ではソース コードを理解できなくなりました。どんな助けでも大歓迎です:)
perl - この難読化されたbash/perlコードは何をしますか?
ブログのコメントでこのコードを見つけました。
これを端末に貼り付けるのはおそらく悪い考えだと思いますが、誰かがこれを解いて、それが何を意味するのか教えてもらえますか?有効なコードかどうかさえわかりません:)
c - 難読化コードの生成方法
たとえば、次のコードを考えてみましょう。
このコード ブロックは、C プログラミングでどのように生成されましたか? そのコードの難読化を解除するにはどうすればよいですか?
perl - 「漂白された」ファイルからのこのperl行は何をしますか?
「ブリーチ」されたいくつかの perl ファイルがあります (それが ACME::Bleach からのものか、または同様のものからのものかはわかりません)。perl にあまり詳しくないので、ファイルを開始するワンライナーが次の空白をデコードするために何をするかを理解したいと思います。
ファイルの残りの部分は空白文字であり、ファイルはそれ自体で実行可能です (ファイルは /bin ディレクトリに配置されます)。
[解決策]、@JBに感謝します。
このpack
部分が最も複雑なようで、何が起こっているのか気付くまでにしばらく時間がかかりました。Pack は、8 文字ごとに LSBのみを取得し、それをバイナリのビッグ エンディアン文字として展開します。したがって、タブは「0」になり、スペースは「1」になります。
javascript - 関数に渡された変数を隠す
機能があり、目で見て変更・修正しにくくしたい。
例:
ここで、変数が何を意味するかを知っていれば、変更を加えるのは簡単です。
わかりにくくする簡単な方法はありますか (例: 難読化)?
明らかに、スクリプトに渡されたこれらの変数を使用できるようにする必要があります。
これに関するアドバイスは大歓迎です。
更新:これは、スクリプトで実行できる関数である必要があります(作成したフォームを介して生成されています)
これがより理にかなっていることを願っています。
nhibernate - NHibernate を使用して、難読化されたフィールドに裏打ちされた関係を持つエンティティをマッピングする
そして、NHibernate に関するさらに別の質問があります。これにはおそらく望ましい答えはありませんが、それでも試してみましょう。
私は現在、NHibernate を使用してドメイン モデルをデータベースにマッピングすることに全力を注いでいます。このドメイン モデルは、非常に難読化されたフレームワークから派生しています。(私は以前に難読化されたコードで多くの作業をしたことがあるわけではありませんが、ほとんどの場所で、このコードは Reflector でも Resharper でも翻訳できません。)
難読化された裏打ちされたフィールドを持つセッターのないプロパティによって表される必要な多対1の関係を持つエンティティに直面するまで、すべてが多かれ少なかれうまくいきました。
- この難読化されたフィールドを何らかの形で参照することは可能ですか? 非常に特別な
IPropertyAccessor
? - そうでない場合、完全に構築されたエンティティをロードするにはどうすればよいですか? 関連オブジェクトを注入する唯一のオプションは、それを受け入れるコンストラクターを使用することです。しかし、読み込まれるエンティティのインスタンス化の時点では、キー以外のデータはありませ
IInstantiator
ん。IInterceptor
私のニーズに合った他の拡張ポイントはありますか?
python - 難読化されたJavaScriptを解析して操作します
非常に難読化されたJavaScriptを使用して通常のHTML要素を非表示にするHTML4.0Webサイトを操作しようとしています。私がやりたいのは、フォームに記入して返された結果を読むことですが、これは予想よりも難しいことが証明されています。
Firebugを使用してページを読むと、難読化が解除されたソースコードが表示され、これを使用して目的の処理を実行できます。Firebugの出力には、元のソースに隠されていた-tagsなどのWebサイトの通常の要素がすべて表示されていました。
アプリケーションの残りの部分をPythonで記述し、mechanizeを使用して他のWebサービスと対話しているので、可能であれば、既存のPythonモジュールを使用してこれを実行したいと思います。問題は、機械化が理解できる方法でソースコードを読み取る方法だけでなく、Webサーバーが解釈できる応答を生成する方法でもあります。HTMLコードが難読化されていても、通常の機械化コントロールを使用できますか?
私のプロジェクトの初めに、私は機械化する代わりにpywebkitgtkを使用しましたが、Pythonで実際にうまく実装されていなかったため、それを捨てました。ほとんどの機能がありません。HTMLを読み取ったWebkitブラウザーを起動し、それをmechanizeで使用するには、おそらくそれが賢明な方法でしょうか?
どんな助けでも大歓迎です、私は本当にここで拘束されています。ありがとう!
編集:mechanizeからフェッチしたHTMLをダンプし、pywebkitgtkで開き、load_html_stringを使用して、そのようにhtmlを評価してみました。残念ながら、私が解析しようとしているドキュメントはより多くのリソースを動的にロードするため、そのスクリプトはリソースがロードされるのを待つのをやめます。mechanizeのCookieJar関数を使用して最初にログインできるようにするため、Webkitを使用してドキュメント自体をロードできないことに注意してください。
また、WebkitからHTMLをダンプしようとしましたが、Webサイトを完全に正常に表示しながら、何らかの理由で難読化されたjavascriptのみをダンプしました。WebkitがFirebugのように難読化解除されたJavaScriptをダンプできれば、それを操作して、クリーンなコードに従ってリクエストを作成できます。