問題タブ [masm32]
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.
assembly - MASM32、表示文字列と整数
MASM32 (バージョン 10) を使用しています。文字列と整数を画面に出力する最も簡単な方法を教えてください。特定の行だけでなく、完全なソース コードを提供してください。
ありがとうございました。
編集:
何も出力せずにクラッシュします。他にもいくつか試しましたが、さまざまな問題がありましたが、唯一の一般的なことは、画面に文字列が表示されないことです:)
assembly - 感染したコンパイラ、または誤動作?
私は非常に奇妙なことに遭遇しました。まず、これがコンピュータ ウイルスと関係があるかどうかわからないので、ここに投稿しました。もしそうなら、助けを求める場所に私を案内してもらえますか?
だから今:
私はここである種の奇妙な問題を抱えています.ウイルス対策とマルウェアバイトのフラグコード*の両方が、ウイルスとしてmasmとmasmの例でコンパイルされています。私はグーグルで調べて、この問題が以前に発生したことを発見したので、これをあまり真剣に受け止めず、最初は誤検知であると考えました.
しかし、この投稿の下部にあるコードをコンパイルして、他のいくつかのことをテストしました。そして、ollydbgを実行して(その間、comodoアンチウイルスは無視しました)、次のように見ました:
以下のコードはおそらくそのジャンプにコンパイルできなかったので、コードにステップインしていました。そしてしばらくして、奇妙なコードが ntdll.dll ライブラリの API を介して列挙され始めたことに気付きました。何が起こっていますか?これが本当にウイルスである場合、どこに助けを求めればよいでしょうか?
しかし、私はまだ確信が持てません。
テストに使用していたテストコード...
*: インクルード \masm32\include\masm32rt.inc
アップデート:
コードはディスク上ではなくメモリ内にあるため、おそらくこれを行うある種のライブラリです。
そして、呼び出し終了プロセスを削除しましたが、まだそこにあります
assembly - コンパイラmasm32をnotepad++に接続する方法
masm32 コンパイラはどこからダウンロードできますか? ここにアップロードしましたが、プロジェクトの実装 (実行/コンパイル) 方法がわかりません。コンパイラだけをダウンロードできます。最初のプロジェクトを実行する方法、これをインスタンス化する
code>詳しく答えてください
assembly - アセンブリで31ビットが1に設定されている符号なしdwordに数値を追加して、負の値として扱われないようにするにはどうすればよいですか?
MASM32で3234567890に5を追加しようとしています。完全なサンプルコードは次のとおりです。
符号なしのdwordに何かを追加する正しい方法は何ですか?現在、負の数を取得しており、期待される結果は3234567895です。
更新: 問題は実際に使用されたMACROのどこかにありました。サンプルを最小限に編集しましたが、正しく機能しました。ここに謎はありません。:)
みんな、ありがとう!
glibc - libc でカーネルコードを呼び出す方法は? (Windows または Linux)
つまり、カーネルがその機能をユーザーランドアプリケーションに公開する方法です。
windows - Win XP での COM 実行可能ファイルのアセンブル
x86 コードを COM 実行可能ファイルにアセンブルする方法はありますか? アセンブラとしてmasm32を使用しています。アセンブル/リンクのコマンドラインで十分な情報が見つからないため、常にエラーが発生します...
ここに簡単なプログラムと私が得るエラーがあります:
何かアイデアはありますか?より良いドキュメントを持つ他のアセンブラーへの提案もいいでしょう...
コード:
組み立てに使用するコマンドとエラー:
D:>ml /AT test.s Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. 全著作権所有。
アセンブル: test.s Microsoft (R) Incremental Linker Version 5.12.8078 Copyright (C) Microsoft Corp 1992-1998. 全著作権所有。
/z2 "host.obj" /t "test.com" NUL LINK: 警告 LNK4044: 認識されないオプション "z2"; 無視されたリンク: 警告 LNK4044: 認識されないオプション "t"; 無視された test.obj : 警告 LNK4033: オブジェクト形式を OMF から COFF に変換中 test.obj : 致命的なエラー LNK1190: 無効なフィックスアップが見つかりました、タイプ 0x0001
syntax - MASM32でのこの種の宣言の構文は何ですか?
私は今、そのような宣言を理解しています:
これは3つの部分で構成されています。しかし、上記の宣言の構文は何ですか?
syntax - What's the macro doing in MASM32?
Anyone knows what this macro's doing?
assembly - MASM でコンパイルされた実行可能ファイルへのコードのパッチ適用
MASM で次のような簡単なプログラムを作成しました。
OllyDbg デバッガーでコードをチェックすると、次のようになります。
私の質問は、実際のコード (00401010) の前に、これらの 11 バイト (00401005-0040100F) にパッチを適用するコンポーネントはどれですか? なぜ?
Windows XP SP3、MASM、および OllyDbg を使用しています。
OK、ここに説明があります (気になる方へ): このコードは DEBUG モードでビルドされているため、アセンブラー/リンカー (どちらが正確かはわかりません) がこれらの余分なバイトを追加します。JMP は、一連の INT 3 命令をバイパスする必要があるため、プログラムを実行できるようにするために存在します。プログラムが RELEASE モードでビルドされた場合、そのような追加のコードは添付されません。
assembly - MASM32のQeditorのプロジェクトオプションが機能していません
私はMasm32を持っていて、Qeditorを使用しています。Porjectメニューのオプションはどれも機能しません。例として、[すべてビルド]をクリックしても何も起こりません(ウィンドウがなく、ファイルディレクトリにファイルがビルドされず、何も起こりません)。
パスにc:\ masm32 \ binがあるので、問題はありません。