2ch勢い総合ランキング

「PC等」カテゴリ > 「プログラム」板

アセンブリや機械語を解析して楽しむスレ (82)

【pc】

アセンブリや機械語を解析して楽しむスレ (82)


1 デフォルトの名無しさん
2021/06/19(土) 17:16:50.94 ID:KpP01EPy

5ちゃんねるの総力を挙げて、人力でアセンブリや機械語を逆コンパイルするスレッドです。コード解析の達人やヒマ人の皆様、ご協力下さい。

===依頼テンプレここから===
【依頼の目的と内容説明】ここに目的と説明を書く
【プロセッサの種類】x86/x64/ARM/JVM など
【OSの種類】Windows/Linux/Mac/Android/iOS など
【言語】C/C++/Java/C# など
【報酬金額と送金方法】報酬なし/銀行振込/WebMoney など
【アセンブリまたは機械語】以下にアセンブリまたは機械語を記載
===依頼テンプレここまで===

依頼は一度に1関数までとします。あまりにも長いコードは人力では逆コンパイルできません。常識の範囲でご利用ください。

アセンブリや機械語を解析して楽しむスレ

アセンブリや機械語を解析して楽しむスレ (82)


2 デフォルトの名無しさん
2021/06/19(土) 17:35:44.71 ID:KpP01EPy

【依頼の目的と内容説明】知恵試し
【プロセッサの種類】x86
【OSの種類】Windows
【言語】C/C++
【報酬金額と送金方法】報酬なし
【アセンブリまたは機械語】
LC0:
__.ascii "hello\0"
__.text
__.p2align 4
__.globl _hello
__.def _hello; .scl 2; .type 32; .endef
_hello:
LFB126:
__.cfi_startproc
__subl $28, %esp
__.cfi_def_cfa_offset 32
__movl $64, 12(%esp)
__movl $0, 8(%esp)
__movl $LC0, 4(%esp)
__movl $0, (%esp)
__call *__imp__MessageBoxA@16
__.cfi_def_cfa_offset 16
__subl $16, %esp
__.cfi_def_cfa_offset 32
__addl $28, %esp
__.cfi_def_cfa_offset 4
__ret
__.cfi_endproc

3 デフォルトの名無しさん
2021/06/19(土) 19:13:37.49 ID:Obm1tdWY

関連スレ

機械語なら俺に質問しろ!その2
https://mevius.5ch.net/test/read.cgi/tech/1356735624/

4 デフォルトの名無しさん
2021/06/19(土) 19:14:20.22 ID:Obm1tdWY

逆アセンブラ、解析 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1498686597/

5 デフォルトの名無しさん
2021/06/19(土) 19:14:49.34 ID:Obm1tdWY

アセンブラ 13
https://mevius.5ch.net/test/read.cgi/tech/1314512680/

6 デフォルトの名無しさん
2021/06/19(土) 20:23:58.66 ID:Obm1tdWY

2
#include
int hello(void)
{
return MessageBoxA(NULL, "hello", NULL, MB_ICONINFORMATION);
}

7 デフォルトの名無しさん
2021/06/19(土) 20:42:09.84 ID:KpP01EPy

6
すげー、正解www

どうやったらアセンブリ読めるんだ? 教えてくれよ

8 デフォルトの名無しさん
2021/06/19(土) 21:51:43.98 ID:Obm1tdWY

7
アセンブラや解析の本を読んでみなよ

初心者なら
https://ja.m.wikibooks.org/wiki/X86%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9/GAS%E3%81%A7%E3%81%AE%E6%96%87%E6%B3%95
この辺から読み始めるといいよ。

9 デフォルトの名無しさん
2021/06/19(土) 23:37:15.06 ID:/D3aIkOV

スレ立てたの素人かよ

10 デフォルトの名無しさん
2021/06/20(日) 14:20:56.65 ID:dQPhad/Q

【依頼の目的と内容説明】 shell32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc Func7C903F7F@16 Label_7C903F7F
Label_7C8FAE6A:
7C8FAE6A: cmp dword [ebp+0x10], 0x0 # jump_from : 7C903F91
7C8FAE6E: push dword [ebp+0x14]
7C8FAE71: jz Label_7C8FAE84
7C8FAE73: push dword [ebp+0xc]
7C8FAE76: push dword [ebp+0x8]
7C8FAE79: call shlwapi.dll!6
7C8FAE7F: jmp Label_7C903F99
Label_7C8FAE84:
7C8FAE84: push dword [ebp+0x8] # jump_from : 7C8FAE71
7C8FAE87: call shlwapi.dll!4
7C8FAE8D: jmp Label_7C903F99
Label_7C903F7F:
7C903F7F: mov edi, edi
7C903F81: push ebp
7C903F82: mov ebp, esp
7C903F84: push dword [ebp+0x8]
7C903F87: call shlwapi.dll!PathFindExtensionW
7C903F8D: cmp word [eax], 0x0
7C903F91: jz Label_7C8FAE6A
7C903F97: xor eax, eax
Label_7C903F99:
7C903F99: pop ebp # jump_from : 7C8FAE7F 7C8FAE8D
7C903F9A: ret 0x10
end proc
shlwapi.dll!6は3引数の関数で、shlwapi.dll!4は2引数の関数で、PathFindExtensionWは1引数の関数です。
よろしくお願いいたします。

11 デフォルトの名無しさん
2021/06/20(日) 18:43:24.30 ID:dQPhad/Q

10
最初の項目を1番目とする。正の向きを下向きまたは右向きとする。
問題の関数はFunc7C903F7F関数である。Func7C903F7Fは仮の名前で7C903F7Fが関数の仮想アドレスを表す。
Func7C903F7Fの入り口は、7C903F7Fである。出口は7C903F9A: ret 0x10とあるので、
Func7C903F7F関数は__stdcallであり 16バイトの引数リストを持つ。
おそらく32ビット(4バイト)の引数が4個ある。任意の関数「f」のi番目の実引数を「f.#i」と表すことにする。
最初に入口の7C903F7Fに入る。
7C903F7F: mov edi, edi
これは何もしない。
7C903F81: push ebp
7C903F82: mov ebp, esp
これはスタックフレームを確立する。すると
ESP=EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
となる。よって[ebp+0x8]はFunc7C903F7F.#1である。さらに
7C903F84: push dword [ebp+0x8]
7C903F87: call shlwapi.dll!PathFindExtensionW
ここで、Func7C903F7F.#1をプッシュしてPathFindExtensionWを呼び出す。
PathFindExtensionWの呼び出し規約は__stdcallであるから、C言語風に書くと
eax = PathFindExtensionW(Func7C903F7F.#1);
となる。呼び出した後は、プッシュしたFunc7C903F7F.#1はスタックから解放される。
7C903F8D: cmp word [eax], 0x0
7C903F91: jz Label_7C8FAE6A
これはif (*(WORD *)eax == 0) goto Label_7C8FAE6A;と解釈される。このeaxはPathFindExtensionWの戻り値である。
*(WORD *)eaxの値によって次の(a.1)か(a.2)に分岐する。
(a.1) *(WORD *)eaxが非ゼロの場合。
7C903F97: xor eax, eax
ここでeaxはクリアされてスタックフレームが破棄されてFunc7C903F7F関数はゼロを返す。
(a.2) *(WORD *)eaxがゼロの場合。Label_7C8FAE6Aに飛ぶ。
7C8FAE6A: cmp dword [ebp+0x10], 0x0 # jump_from : 7C903F91
...(続く)...

12 デフォルトの名無しさん
2021/06/20(日) 18:44:37.17 ID:dQPhad/Q

...(続き)...
ここでスタックは
ESP=EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
であったから、[ebp+0x10]は、Func7C903F7F.#3である。
Func7C903F7F.#3とゼロを比較して結果をZeroFlagに格納する。
7C8FAE6E: push dword [ebp+0x14]
ここで[ebp+0x14]は、Func7C903F7F.#4であった。Func7C903F7F.#4をプッシュすると、
ESP=[Func7C903F7F.#4, (old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
となる。次に進む。
7C8FAE71: jz Label_7C8FAE84
これは
if (ZeroFlag) goto Label_7C8FAE84;
となる。すなわちZeroFlagによって次の(b.1)か(b.2)に分岐する。
(b.1) ZeroFlagが偽の場合。
7C8FAE73: push dword [ebp+0xc]
ここで[ebp+0xc]は、Func7C903F7F.#2であった。Func7C903F7F.#2がプッシュされて
ESP=[Func7C903F7F.#2, Func7C903F7F.#4, (old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
となる。さらに
7C8FAE76: push dword [ebp+0x8]
ここで[ebp+0x8]は、Func7C903F7F.#1であった。Func7C903F7F.#1がプッシュされて
ESP=[Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#4, (old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
となる。
7C8FAE79: call shlwapi.dll!6
これはC風に書くとeax = shlwapi.dll!6(Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#4);となる。さらに
7C8FAE7F: jmp Label_7C903F99
でLabel_7C903F99に飛び、スタックフレームが破棄されて、Func7C903F7Fは戻り値eaxを返す。
(b.2) ZeroFlagが真の場合。Label_7C8FAE84に飛ぶ。
...(続く)...

13 デフォルトの名無しさん
2021/06/20(日) 18:46:06.04 ID:dQPhad/Q

...(続き)...
7C8FAE84: push dword [ebp+0x8]
ここで[ebp+0x8]は、Func7C903F7F.#1であった。Func7C903F7F.#1がプッシュされて、
ESP=[Func7C903F7F.#1, Func7C903F7F.#4, (old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
EBP=[(old EBP), (復帰アドレス), Func7C903F7F.#1, Func7C903F7F.#2, Func7C903F7F.#3, Func7C903F7F.#4]
となる。さらに
7C8FAE87: call shlwapi.dll!4
これはC風に書くとeax = shlwapi.dll!4(Func7C903F7F.#1, Func7C903F7F.#4);となる。
7C8FAE8D: jmp Label_7C903F99
これでLabel_7C903F99に飛び、スタックフレームが破棄されてFunc7C903F7Fは戻り値eaxを返す。

以上をまとめると

unknown Func7C903F7F(unknown p1, unknown p2, unknown p3, unknown p4)
{
if (*(WORD *)PathFindExtensionW(p1) != 0)
return 0;
if (!p3)
return shlwapi.dll!4(p1, p4);
else
return shlwapi.dll!6(p1, p2, p4);
}

p1はPathFindExtensionWの引数なので、型はLPCWSTRである。p3は使われ方からBOOL型であると推測される。
ReactOSのソースdll/win32/shlwapi/shlwapi.specを見ると、
shlwapi.dll!4は、PathFileExistsDefExtWであり、shlwapi.dll!6は、PathFindOnPathExWである。
...(続く)...

14 デフォルトの名無しさん
2021/06/20(日) 18:47:21.92 ID:dQPhad/Q

...(続き)...
各関数のプロトタイプを確認し、整理すると

BOOL Func7C903F7F(LPCWSTR path, LPCWSTR *dirs, BOOL flag, DWORD dwWhich)
{
if (*PathFindExtensionW(path) != 0)
return FALSE;
if (!flag)
return PathFileExistsDefExtW(path, dwWhich);
else
return PathFindOnPathExW(path, dirs, dwWhich);
}

となり、これで逆コンパイルが完了する。     □

15 デフォルトの名無しさん
2021/06/20(日) 19:11:08.28 ID:dQPhad/Q

【依頼の目的と内容説明】shell32.dllの解析 【プロセッサの種類】x86 【OSの種類】Win Server 2003 【言語】C/C++ 【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc Func7C8FF2D3@4 Label_7C8FF2D3
Label_7C8FF2D3:
7C8FF2D3: mov edi, edi
7C8FF2D5: push ebp
7C8FF2D6: mov ebp, esp
7C8FF2D8: push esi
7C8FF2D9: mov esi, [ebp+0x8]
7C8FF2DC: push esi
7C8FF2DD: call shlwapi.dll!PathIsUNCW@4
7C8FF2E2: test eax, eax
7C8FF2E4: jz Label_7C8FF3FC
Label_7C8FF2EA:
7C8FF2EA: xor eax, eax # jump_from : 7C8FF40C
7C8FF2EC: inc eax
Label_7C8FF2ED:
7C8FF2ED: pop esi # jump_from : 7C8FF414
7C8FF2EE: pop ebp
7C8FF2EF: ret 0x4
Label_7C8FF3FC:
7C8FF3FC: push esi # jump_from : 7C8FF2E4
7C8FF3FD: call shlwapi.dll!PathGetDriveNumberW@4
7C8FF402: cmp eax, 0xffffffff
7C8FF405: jz Label_7C8FF412
7C8FF407: cmp word [esi+0x4], 0x5c
7C8FF40C: jz Label_7C8FF2EA
Label_7C8FF412:
7C8FF412: xor eax, eax # jump_from : 7C8FF405
7C8FF414: jmp Label_7C8FF2ED
end proc
よろしくお願いいたします。

16 デフォルトの名無しさん
2021/06/20(日) 20:40:13.59 ID:dQPhad/Q

15
関数Func7C8FF2D3の入口7C8FF2D3より入る。
「7C8FF2D3: mov edi, edi」は何もしない。
7C8FF2D5: push ebp
7C8FF2D6: mov ebp, esp
スタックフレームを確立する。
7C8FF2D8: push esi
esiの値をスタックに保存する。
ESP=[(old ESI), (old EBP), (復帰アドレス), Func7C8FF2D3.#1],
EBP=[(old EBP), (復帰アドレス), Func7C8FF2D3.#1].
ここで、[ebp+0x8]は、Func7C8FF2D3.#1である。
7C8FF2D9: mov esi, [ebp+0x8]
esiにFunc7C8FF2D3.#1を代入する。
7C8FF2DC: push esi
7C8FF2DD: call shlwapi.dll!PathIsUNCW@4
esi=Func7C8FF2D3.#1をプッシュしてPathIsUNCWを呼ぶ。
C風に書くとeax = PathIsUNCW(Func7C8FF2D3.#1);
プッシュしたFunc7C8FF2D3.#1は呼び出し完了後、解放される。
7C8FF2E2: test eax, eax
7C8FF2E4: jz Label_7C8FF3FC
これはif (!eax) goto Label_7C8FF3FC;と解釈される。よって(c.1)と(c.2)に分岐する。
(c.1) eaxが非ゼロの場合。
7C8FF2EA: xor eax, eax
7C8FF2EC: inc eax
これはeaxに1を代入することに等しい。さらに
7C8FF2ED: pop esi
7C8FF2EE: pop ebp
7C8FF2EF: ret 0x4
ESIを復元し、スタックフレームを解放してeax=1を返す。
...(続く)...

17 デフォルトの名無しさん
2021/06/20(日) 20:41:31.44 ID:dQPhad/Q

...(続き)...
(c.2) eax非ゼロの場合。Label_7C8FF3FCに飛ぶ。
7C8FF3FC: push esi
7C8FF3FD: call shlwapi.dll!PathGetDriveNumberW@4
esi=Func7C8FF2D3.#1をプッシュしてPathGetDriveNumberWを呼ぶ。
これはeax = PathGetDriveNumberW(Func7C8FF2D3.#1);と解釈される。
7C8FF402: cmp eax, 0xffffffff
7C8FF405: jz Label_7C8FF412
eax、つまりPathGetDriveNumberWの戻り値が-1であればLabel_7C8FF412に飛ぶ。
これはif (eax == -1) goto Label_7C8FF412; と解釈される。
7C8FF407: cmp word [esi+0x4], 0x5c
7C8FF40C: jz Label_7C8FF2EA
これはif (((const WORD *)ESI)[2] == 0x5c) goto Label_7C8FF2EA;と解釈される。
7C8FF412: xor eax, eax
7C8FF414: jmp Label_7C8FF2ED
これはeaxをゼロクリアしてLabel_7C8FF2EDに飛ぶ。
...(続く)...

18 デフォルトの名無しさん
2021/06/20(日) 20:42:30.48 ID:dQPhad/Q

...(続き)... まとめると
unknown Func7C8FF2D3(unknown p1)
{
eax = PathIsUNCW(p1);
if (eax)
{
Label_7C8FF2EA:
eax = 1;
Label_7C8FF2ED:
return eax;
}
eax = PathGetDriveNumberW(p1);
if (eax == -1)
goto Label_7C8FF412;
if (((const WORD *)p1)[2] == 0x5C)
goto Label_7C8FF2EA;
Label_7C8FF412:
eax = 0;
goto Label_7C8FF2ED;
}

整理すると
BOOL Func7C8FF2D3(LPCWSTR path)
{
if (PathIsUNCW(path))
return TRUE;
if (PathGetDriveNumberW(path) == -1)
return FALSE;
return (path[2] == L'\\');
}
となる。逆コンパイル完了。 □

19 デフォルトの名無しさん
2021/06/20(日) 22:50:23.97 ID:b3Yj6C5d

18
もっと簡略化できるよ。
BOOL Func7C8FF2D3(LPCWSTR path)
{
return PathIsUNCW(path) || (PathGetDriveNumberW(path) != -1 && path[2] == L'\\');
}

20 デフォルトの名無しさん
2021/06/21(月) 07:48:39.30 ID:6C6uvD3w

【依頼の目的と内容説明】 shell32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc Func7C9A5238@4 Label_7C9A5238
Label_7C9A5238:
7C9A5238: mov edi, edi
7C9A523A: push ebp
7C9A523B: mov ebp, esp
7C9A523D: sub esp, 0x20c
7C9A5243: mov eax, [0x7cae9764]
7C9A5248: push edi
7C9A5249: mov edi, [ebp+0x8]
7C9A524C: test edi, edi
7C9A524E: mov [ebp-0x4], eax
7C9A5251: jnz Label_7C9A5257
7C9A5253: xor eax, eax
7C9A5255: jmp Label_7C9A528D
Label_7C9A5257:
7C9A5257: push esi # jump_from : 7C9A5251
7C9A5258: lea eax, [ebp-0x20c]
7C9A525E: push eax
7C9A525F: mov esi, 0x104
7C9A5264: push esi
7C9A5265: call kernel32.dll!GetCurrentDirectoryW
7C9A526B: test eax, eax
7C9A526D: jz Label_7C9A528A
7C9A526F: cmp eax, esi
7C9A5271: ja Label_7C9A528A
7C9A5273: push edi
...(続く)...

21 デフォルトの名無しさん
2021/06/21(月) 07:58:16.17 ID:6C6uvD3w

...(続き)...
7C9A5274: lea eax, [ebp-0x20c]
7C9A527A: push eax
7C9A527B: push edi
7C9A527C: call shlwapi.dll!PathCombineW
7C9A5282: neg eax
7C9A5284: sbb eax, eax
7C9A5286: neg eax
7C9A5288: jmp Label_7C9A528C
Label_7C9A528A:
7C9A528A: xor eax, eax # jump_from : 7C9A526D 7C9A5271
Label_7C9A528C:
7C9A528C: pop esi # jump_from : 7C9A5288
Label_7C9A528D:
7C9A528D: mov ecx, [ebp-0x4] # jump_from : 7C9A5255
7C9A5290: pop edi
7C9A5291: call Func7C92EC80
7C9A5296: leave
7C9A5297: ret 0x4
end proc

よろしくお願いいたします。

22 デフォルトの名無しさん
2021/06/21(月) 09:21:15.08 ID:6C6uvD3w

20-21

INT Func7C9A5238(LPWSTR p1)
{
WCHAR path1[MAX_PATH];
DWORD cch, v1 = *(DWORD*)0x7cae9764;
BOOL ret = FALSE;
if (p1 == NULL)
goto Quit;
cch = GetCurrentDirectoryW(MAX_PATH, path1);
if (!cch || cch > MAX_PATH)
goto Quit;
if (PathCombineW(p1, path1, p1) != NULL)
ret = TRUE;
Quit:
ecx = v1;
Func7C92EC80(...); // 引数はわからない。ecxの値をチェックしているようだ。
return ret;
}



23 デフォルトの名無しさん
2021/06/21(月) 09:34:40.87 ID:6C6uvD3w

【依頼の目的と内容説明】 shell32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc Func7C92C7B9@12 Label_7C92C7B9
Label_7C9138BF:
7C9138BF: dec edx # jump_from : 7C92C7E9
7C9138C0: dec edx
7C9138C1: mov eax, 0x8007007a
7C9138C6: jmp Label_7C92C7EF
Label_7C92C7B9:
7C92C7B9: mov edi, edi
7C92C7BB: push ebp
7C92C7BC: mov ebp, esp
7C92C7BE: xor eax, eax
7C92C7C0: cmp [ebp+0xc], eax
7C92C7C3: jz Label_7C98E437
7C92C7C9: mov edx, [ebp+0x8]
7C92C7CC: push esi
7C92C7CD: mov esi, [ebp+0x10]
Label_7C92C7D0:
7C92C7D0: mov cx, [esi] # jump_from : 7C92C7E2
7C92C7D3: test cx, cx
7C92C7D6: jz Label_7C92C7E4
7C92C7D8: mov [edx], cx
7C92C7DB: inc edx
7C92C7DC: inc edx
7C92C7DD: inc esi
7C92C7DE: inc esi
...(続く)...

24 デフォルトの名無しさん
2021/06/21(月) 09:35:10.89 ID:6C6uvD3w

...(続き)...
7C92C7DF: dec dword [ebp+0xc]
7C92C7E2: jnz Label_7C92C7D0
Label_7C92C7E4:
7C92C7E4: cmp dword [ebp+0xc], 0x0 # jump_from : 7C92C7D6
7C92C7E8: pop esi
7C92C7E9: jz Label_7C9138BF
Label_7C92C7EF:
7C92C7EF: and word [edx], 0x0 # jump_from : 7C9138C6
Label_7C92C7F3:
7C92C7F3: pop ebp # jump_from : 7C98E43C
7C92C7F4: ret 0xc
Label_7C98E437:
7C98E437: mov eax, 0x80070057 # jump_from : 7C92C7C3
7C98E43C: jmp Label_7C92C7F3
end proc

よろしくお願いいたします。

25 デフォルトの名無しさん
2021/06/21(月) 11:07:32.85 ID:6C6uvD3w

23-24
入口は7C92C7B9から。出口は
7C92C7F3: pop ebp # jump_from : 7C98E43C
7C92C7F4: ret 0xc
である。0xc == 12だから関数Func7C92C7B9の引数はおそらく3個。
「7C92C7B9: mov edi, edi」は何もしない。
7C92C7BB: push ebp
7C92C7BC: mov ebp, esp
スタックフレームを確立。その直後、
ESP=EBP=[(old EBP), (復帰アドレス), Func7C92C7B9.#1, Func7C92C7B9.#2, Func7C92C7B9.#3]
となっている。
7C92C7BE: xor eax, eax
eaxをゼロクリア。
7C92C7C0: cmp [ebp+0xc], eax
7C92C7C3: jz Label_7C98E437
Func7C92C7B9.#2とeax(==0)を比較し、等しければLabel_7C98E437に飛ぶ。
すなわち if (Func7C92C7B9.#2 == 0) goto Label_7C98E437;
7C92C7C9: mov edx, [ebp+0x8]
Func7C92C7B9.#1をedxに代入する。
7C92C7CC: push esi
esiをスタックに保存する。
EBP=[(old EBP), (復帰アドレス), Func7C92C7B9.#1, Func7C92C7B9.#2, Func7C92C7B9.#3]
ESP=[(old ESI), (old EBP), (復帰アドレス), Func7C92C7B9.#1, Func7C92C7B9.#2, Func7C92C7B9.#3]
7C92C7CD: mov esi, [ebp+0x10]
Func7C92C7B9.#3をESIに代入する。
Label_7C92C7D0:
7C92C7D0: mov cx, [esi]
これはcx = *(WORD*)esi; と解釈される。
7C92C7D3: test cx, cx
7C92C7D6: jz Label_7C92C7E4
...(続く)...

26 デフォルトの名無しさん
2021/06/21(月) 11:09:09.06 ID:6C6uvD3w

...(続き)...
cxがゼロならばLabel_7C92C7E4に飛ぶ。
すなわちif (*(WORD*)esi == 0) goto Label_7C92C7E4;
7C92C7D8: mov [edx], cx
これは*(WORD*)edx = *(WORD*)esi; と解釈される。
7C92C7DB: inc edx
7C92C7DC: inc edx
7C92C7DD: inc esi
7C92C7DE: inc esi
edxとesiをそれぞれ2だけ増やす。
7C92C7DF: dec dword [ebp+0xc]
ここで[ebp+0xc]は、Func7C92C7B9.#2であった。
Func7C92C7B9.#2を1だけ減らし、減してた結果がゼロならZeroFlagをTRUEにする。
7C92C7E2: jnz Label_7C92C7D0
ZeroFlagがFALSEならばLabel_7C92C7D0に飛ぶ。
Label_7C92C7E4:
7C92C7E4: cmp dword [ebp+0xc], 0x0 # jump_from : 7C92C7D6
Func7C92C7B9.#2とゼロを比較する。
7C92C7E8: pop esi
esiを元に戻す。
EBP=[(old EBP), (復帰アドレス), Func7C92C7B9.#1, Func7C92C7B9.#2, Func7C92C7B9.#3]
ESP=[(old EBP), (復帰アドレス), Func7C92C7B9.#1, Func7C92C7B9.#2, Func7C92C7B9.#3]
7C92C7E9: jz Label_7C9138BF
Func7C92C7B9.#2とゼロが等しければ、Label_7C9138BFに飛ぶ。
Label_7C92C7EF:
7C92C7EF: and word [edx], 0x0 # jump_from : 7C9138C6
*(WORD*)edxをゼロにする。
Label_7C92C7F3:
7C92C7F3: pop ebp # jump_from : 7C98E43C
7C92C7F4: ret 0xc
...(続く)...

27 デフォルトの名無しさん
2021/06/21(月) 11:11:17.74 ID:6C6uvD3w

...(続き)...
関数Func7C92C7B9から戻る。戻り値はeaxまたはなし。
Label_7C98E437:
7C98E437: mov eax, 0x80070057 # jump_from : 7C92C7C3
7C98E43C: jmp Label_7C92C7F3
0x80070057はおそらくE_INVALIDARG。
eax にE_INVALIDARGを代入してLabel_7C92C7F3へ飛ぶ。
Label_7C9138BFについて:
7C9138BF: dec edx # jump_from : 7C92C7E9
7C9138C0: dec edx
7C9138C1: mov eax, 0x8007007a
7C9138C6: jmp Label_7C92C7EF
edxを2だけ減らし、eaxにE_NOT_SUFFICIENT_BUFFERを代入してLabel_7C92C7EFに飛ぶ。
...(続く)...

28 デフォルトの名無しさん
2021/06/21(月) 11:13:11.16 ID:6C6uvD3w

...(続き)...
整理すると

HRESULT Func7C92C7B9(LPWSTR pszDest, DWORD cchDest, LPCWSTR pszSrc)
{
  LPWSTR dest = pszDest;
  LPCWSTR src = pszSrc;
  if (cchDest == 0) return E_INVALIDARG;
  do
  {
    if (*src == 0) break;
    *dest++ = *src++;
  } while (--cchDest != 0);
  if (cchDest == 0)
  {
    --dest;
    *dest = 0;
    return E_NOT_SUFFICIENT_BUFFER;
  }
  *dest = 0;
  return S_OK;
}

これで逆コンパイルは完了。
この関数はおそらくのStringCchCopyWだと思われる。  □

29 デフォルトの名無しさん
2021/06/21(月) 11:44:38.13 ID:6C6uvD3w

【依頼の目的と内容説明】 shell32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
長いのでこちらに貼ります:
https://justpaste.it/6e2t2

Func7C92C7B9は前述のStringCchCopyW関数です。
Func7C92EC80の引数は不明ですが、戻り値がvoidでecxをチェックすることが分かっています。
shlwapi.dll!448は、VOID WINAPI FixSlashesAndColonW(LPWSTR lpwstr)です。
shlwapi.dll!456は、BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD class)です。
長いですが、解析お願いします。

30 デフォルトの名無しさん
2021/06/21(月) 19:19:37.61 ID:6C6uvD3w

29
補足します。
[0x7c8d20f4]は、shlwapi.dll!PathGetDriveNumberWです。
[0x7c8d2070]は、shlwapi.dll!StrChrWです。

31 デフォルトの名無しさん
2021/06/22(火) 23:46:23.94 ID:r0+t7d7W

29-30
すみません。ちょっと難しすぎてデコードできない。
今回は見送っておくよ。

32 デフォルトの名無しさん
2021/06/23(水) 08:58:52.22 ID:VZC5/Bjf

【依頼の目的と内容説明】 shell32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
https://justpaste.it/9pwe4
解読お願いします。

33 デフォルトの名無しさん
2021/06/23(水) 14:11:48.77 ID:VZC5/Bjf

32

https://wtools.io/paste-code/b58W

Func7C903F7Fは拡張子に関する探索を行う関数とみられる。
Func7C8FF2D3は絶対パスかチェックする関数とみられる。
Func7C9A5238は絶対パスを構築する関数とみられる。

34 デフォルトの名無しさん
2021/06/24(木) 14:47:00.14 ID:70oiT5zZ

小学生が大人に九九暗唱してみせれば微笑ましいが
大人が大人に九九暗唱してみせるなら不気味で滑稽である

35 デフォルトの名無しさん
2021/06/24(木) 16:39:48.53 ID:KFTtHP2O

複雑怪奇なアセンブリだけど、どうやって逆アセしてるんですか?

36 デフォルトの名無しさん
2021/06/24(木) 16:41:35.70 ID:GPZ7ub3d

35
逆汗にはCodeReverse2というソフトを使用した。
ビルドさえ出来れば無料で使用できる。

katahiromz/CodeReverse2
https://github.com/katahiromz/CodeReverse2

37 デフォルトの名無しさん
2021/06/24(木) 17:12:02.26 ID:KFTtHP2O

普通にgit cloneしたけど、ビルド出来ないよ

38 デフォルトの名無しさん
2021/06/24(木) 17:15:49.84 ID:GPZ7ub3d

37

CodeReverse2は、udis86というサブモジュールを含んでいるので
単純なgit cloneだけでは取得できない。詳しくはこちらのページ:

https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB

の「サブモジュールを含むプロジェクトのクローン」を参照されたい。

39 デフォルトの名無しさん
2021/06/24(木) 17:20:01.56 ID:KFTtHP2O

わかった。git cloneに--recursiveを付ければダウンロードできるんだ。ありがとう

git clone --recursive https://github.com/katahiromz/CodeReverse2

40 デフォルトの名無しさん
2021/06/24(木) 18:02:34.25 ID:KFTtHP2O

早くしないとx86 PC死んじゃうよ(何を)。

41 デフォルトの名無しさん
2021/06/24(木) 19:04:47.18 ID:VS1e3y9e

katayamaさんは秀才

42 デフォルトの名無しさん
2021/06/24(木) 19:30:04.89 ID:GPZ7ub3d

世の中には様々な逆コンパがあるが、コンピュータの歴史上、一般のPC上で
無料で正確なコードを出力するものは存在しない。ある程度性能のある逆コンパは、
車一台買えるような値段になる。

しかも、従来の逆コンパは、本当の逆変換になっていない未熟なものである
(つまり、逆コンパしたコードはほとんどコンパイルできない)。

情報技術者のほとんどが人間の考えを機械の言葉にすることを考えてきたが、
逆に機械語をプログラミングの言葉に直そうと考えて究極の答えにたどり着いた人は
ほとんど居ない。

私は、人間にもコンピュータにも分かる、トレース(追跡)可能な逆コンパ用の言葉が
必要だと考えている。

まず、一般的にアセンブリは次のように「```asm」と「```」という二つの行で囲って表すこととする。

```asm
push eax
pop ebx
```

これはGitHubなどで使われているMarkDownと同じ記述方法であるので
受け入れ可能であろう。「`」はバッククォートという記号であり、日本語109キー
ボードではShift+@で入力できる。

43 デフォルトの名無しさん
2021/06/24(木) 19:32:52.43 ID:m+XEGxhu

バッククォートくらい知っとるわアホが

44 デフォルトの名無しさん
2021/06/24(木) 19:38:00.14 ID:GPZ7ub3d

アセンブリは左側に仮想アドレスを書いてもよい。

```asm
7CAB1C58: mov ebp, esp
7CAB1C5A: mov ecx, [ebp+0x8]
```

この場合「mov ebp, esp」は仮想アドレス0x7CAB1C58にあり、
「mov ecx, [ebp+0x8]」は仮想アドレス0x7CAB1C5Aにある。
「:」はコロンという記号である。

また、ジャンプ先のラベルを表す一行をアセンブリに記載してもよい。
例えば、次の「Label_7CAB1C55:」はラベル行を表す。

```asm
Label_7CAB1C55:
7CAB1C55: mov edi, edi
7CAB1C57: push ebp
```

45 デフォルトの名無しさん
2021/06/24(木) 20:46:18.12 ID:GPZ7ub3d

私が考えているのは、2つのプログラムに対する演算や関係を記述するメタ言語である。
次のような記号を考えよう。

```x
PX
```
[===]
```y
PY
```
上記は「言語Xのプログラム「PX」は言語Yのプログラム「PY」と同値である」と読む。
[===]は、プログラムの同値関係を表す記号である。

```x
PX
```
[==]
```y
PY
```
上記は「言語Xのプログラム「PX」は言語Yのプログラム「PY」と(ほとんど)同じ意味である」と読む。

```x
PX
```
[=>]
```y
PY
```
上記は「言語Xのプログラム「PX」から言語Yのプログラム「PY」が導出される」と読む。
[=>]は、プログラムの導出を表す記号である。

46 デフォルトの名無しさん
2021/06/24(木) 21:03:40.76 ID:GPZ7ub3d

実際にコードが記述されているプログラムを実引数として変換を行う方法を考えよう。

MarkDown形式の三連バッククォートで囲って実際に記載されているコードを「実コード」と呼び、
実コードに対する代名詞を「仮コード」と呼ぶことにする。

実コードを抽象化すると仮コードの名前になる。
例えば、45
```x
PX
```
をPX0という代名詞で表し、
```y
PY
```
をPY0という代名詞で表すとき、「PX0[===]PY0」、「PX0[==]PY0」、「PX0[=>]PY0」などと記述できる。

47 デフォルトの名無しさん
2021/06/24(木) 21:15:17.55 ID:GPZ7ub3d

Pを変数とするメタ関数Fを「[F][(]P[)]」と表すことにする。
また、Fを仮コードpに施したものを「[F][(]p[)]」と表すことにする。
MarkDownの三連バッククォート記法に従うなら、「[F][(]p[)]」の仮コード「p」を
実コードに置き換えてもいい。
メタ関数の引数が2つや3つの場合も「[F][(]a[,]b[,]c[)]」などと記述する。

メタ関数名やメタ記号を角かっこ [ ] で囲っているのは、実際のプログラムで
使用している記号との混同を避けるためである。

48 デフォルトの名無しさん
2021/06/24(木) 22:06:26.29 ID:KFTtHP2O

だとすれば、形式言語で書くと
```asm
push eax
pop ebx
```
[==]
```asm
mov ebx, eax
```
とか、
```asm
xor eax, eax
```
[==]
```asm
mov eax, 0
```
とか書けますね(だからどうした

49 デフォルトの名無しさん
2021/06/24(木) 22:14:16.13 ID:KFTtHP2O

形式言語はバッククォート表記のせいで無駄に行数を喰いますね。

「push eax; pop ebx」[==]「mov ebx, eax」
これじゃいけないんすか?

50 デフォルトの名無しさん
2021/06/24(木) 22:36:01.24 ID:GPZ7ub3d

49
ちゃんと言語名を明記すべき。行区切りは全角の「/」にしよう。

asm「push eax/pop ebx」[==] asm「mov ebx, eax」

これならバッククォート表記と整合性が図れる。
でも全角文字は英語圏では使いづらいので日本語圏に限定するしかない。

51 デフォルトの名無しさん
2021/06/24(木) 22:51:38.01 ID:GPZ7ub3d

要するに、アセンブリとC/C++言語の中間言語「cr2言語(仮)」を考えているんだろ。

アセンブリは広大な言語空間だから、素人の人間が手作業でちまちまやっていたら
何カ月経っても制覇できない。

インターネットで公開データが気軽にダウンロードできる時代だから、
データ指向でCPUの全命令を一気に網羅することを考えないといけない。
生データがなければウェブからスクレイピングするとか。。。

x86/x64 CPU の仕様は
「Intel 64 and IA-32 Architectures Software Developer’s Manual」に
全部書かれていて、PDFファイルとしてダウンロードできる(一次情報)。

52 デフォルトの名無しさん
2021/06/24(木) 23:03:34.25 ID:GPZ7ub3d

ほらよ:
https://github.com/netwide-assembler/nasm/blob/master/x86/insns.dat

全部で6256行あるぜ。これを手作業で変換処理を書くつもりか???

正気かよ

53 デフォルトの名無しさん
2021/06/24(木) 23:16:42.66 ID:KFTtHP2O

52
ありがとう
早速解読してみるね。なんか英語で書かれてて難しそう。。。

54 デフォルトの名無しさん
2021/06/25(金) 00:46:15.53 ID:xLwe8284

解読していくと。。。
使い方を知りたいならinsns.plを読みなさいと。
拡張子.plはPerlだよな。
うわ、こんな所でPerlが出てくるのか。

55 デフォルトの名無しさん
2021/06/25(金) 01:46:22.63 ID:xLwe8284

https://www.felixcloutier.com/x86/cmpxchg8b:cmpxchg16b

こんなサイトをスクレイピングすれば~?

56 デフォルトの名無しさん
2021/06/25(金) 12:06:59.81 ID:W5hhXd/9

【依頼の目的と内容説明】 user32.dll/imm32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc user32.dll!CliImmSetHotKey@16 Label_773C7479
Label_773C7479:
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+0x10]
xor eax, eax
test edi, edi
setz al
test eax, eax
jz Label_773C74A6
push eax
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func773C7273@20
mov esi, eax
test esi, esi
jnz Label_773C74D4
jmp Label_773C74E5
Label_773C74A6:
push 0x2 # jump_from : 773C748C
push dword [ebp+0x14]
(...続く...)

57 デフォルトの名無しさん
2021/06/25(金) 12:07:44.35 ID:W5hhXd/9

...(続き)...
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func77384A58@20
mov esi, eax
test esi, esi
jz Label_773C74E5
push 0x0
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func773C7273@20
mov esi, eax
test esi, esi
jnz Label_773C74E5
Label_773C74D4:
push 0x1 # jump_from : 773C74A2
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func77384A44@20
Label_773C74E5:
pop edi # jump_from : 773C74A4 773C74BB 773C74D2
mov eax, esi
pop esi
pop ebp
ret 0x10
end proc
よろしくお願いします。

58 デフォルトの名無しさん
2021/06/25(金) 13:00:01.37 ID:W5hhXd/9

56-57
asm「mov edi, edi」
[=>] txt「何もしない。」

asm「push ebp/mov ebp, esp」
[=>] txt「スタックフレームを確立する。
EBP=ESP=[(old bpb), (ret. addr.), CliImmSetHotKey.#1, CliImmSetHotKey.#2, CliImmSetHotKey.#3, CliImmSetHotKey.#4].」

asm「push esi/push edi」
[=>] txt「esiをプッシュする。ediをプッシュする。
ESP=[(old edi), (old esi), (old bpb), (ret. addr.), CliImmSetHotKey.#1, CliImmSetHotKey.#2, ...].」

asm「mov edi, [ebp+0x10]/xor eax, eax/test edi, edi/setz al/test eax, eax/jz Label_773C74A6」
[=>]
```txt
edi = CliImmSetHotKey.#3;
eax = 0;
ZeroFlag = (edi == 0);
al = (ZeroFlag == TRUE);
if (eax == 0) goto Label_773C74A6;
```
...(続く)...

59 デフォルトの名無しさん
2021/06/25(金) 13:01:12.12 ID:W5hhXd/9

...(続き)...
```asm
push eax
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func773C7273@20
```
[=>]
```txt
assert(eax == 1);
eax = Func773C7273(CliImmSetHotKey.#1, CliImmSetHotKey.#2, edi, CliImmSetHotKey.#4, eax);
```
asm「mov esi, eax/test esi, esi/jnz Label_773C74D4/jmp Label_773C74E5」
[=>] txt「esi = eax;/ZeroFlag = (esi == 0);/if (!ZeroFlag) goto Label_773C74D4;/goto Label_773C74E5;」

```asm
Label_773C74A6:
push 0x2 # jump_from : 773C748C
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func77384A58@20
```
[=>]
```txt
Label_773C74A6:
eax = Func77384A58(CliImmSetHotKey.#1, CliImmSetHotKey.#2, edi, CliImmSetHotKey.#4, 0x2);
```
...(続く)...

60 デフォルトの名無しさん
2021/06/25(金) 13:02:50.65 ID:W5hhXd/9

...(続き)...
asm「mov esi, eax/test esi, esi/jz Label_773C74E5」
[=>] txt「esi = eax;/ZeroFlag = (esi == 0);/if (ZeroFlag) goto Label_773C74E5;」
```asm
push 0x0
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func773C7273@20
```
[=>] txt「eax = Func773C7273(CliImmSetHotKey.#1, CliImmSetHotKey.#2, edi, CliImmSetHotKey.#4, 0);」

asm「mov esi, eax/test esi, esi/jnz Label_773C74E5」
[=>] txt「esi = eax;/if (esi != 0) goto Label_773C74E5;」

```asm
Label_773C74D4:
push 0x1 # jump_from : 773C74A2
push dword [ebp+0x14]
push edi
push dword [ebp+0xc]
push dword [ebp+0x8]
call Func77384A44@20
```
[=>]
```txt
Label_773C74D4:
eax = Func77384A44(CliImmSetHotKey.#1, CliImmSetHotKey.#2, edi, CliImmSetHotKey.#4, 1);
```
...(続く)...

61 デフォルトの名無しさん
2021/06/25(金) 13:03:52.02 ID:W5hhXd/9

...(続き)...
```asm
Label_773C74E5:
pop edi # jump_from : 773C74A4 773C74BB 773C74D2
mov eax, esi
pop esi
pop ebp
ret 0x10
```
[=>]
```txt
Label_773C74E5:
eax = esi;
スタックフレームを破棄する。
return eax;
```

以上を簡略化し、ImmSetHotKeyのプロトタイプが
BOOL WINAPI ImmSetHotKey(DWORD dwHotKeyID, UINT uModifiers, UINT uVKey, HKL hKL);
であることを鑑みると

...(続く)...

62 デフォルトの名無しさん
2021/06/25(金) 13:04:32.70 ID:W5hhXd/9

...(続き)...

```c
BOOL CliImmSetHotKey(DWORD dwHotKeyID, UINT uModifiers, UINT uVKey, HKL hKL)
{
__BOOL ret;
__if (uVKey != 0)
__{
____ret = Func773C7273(dwHotKeyID, uModifiers, uVKey, hKL, 1);
____if (ret != 0)
______Func77384A44(dwHotKeyID, uModifiers, uVKey, hKL, 1);
____return ret;
__}
__ret = Func77384A58(dwHotKeyID, uModifiers, uVKey, hKL, 2);
__if (ret == 0)
____return ret;
__ret = Func773C7273(dwHotKeyID, uModifiers, uVKey, hKL, 0);
__if (ret != 0)
____return ret;
__Func77384A44(dwHotKeyID, uModifiers, uVKey, hKL, 1);
__return ret;
}
```
となって逆コンパイルが完了する。 □

63 デフォルトの名無しさん
2021/06/25(金) 13:36:57.11 ID:W5hhXd/9

【依頼の目的と内容説明】 user32.dll/imm32.dllの解析
【プロセッサの種類】 x86 【OSの種類】 Win Server 2003 【言語】 C/C++
【報酬金額と送金方法】 報酬なし
【アセンブリまたは機械語】
proc Func77384A44@20 Label_77384A44
Label_77384A44:
mov eax, 0x1201
mov edx, 0x7ffe0300
call dword [edx]
ret 0x14
end proc

解読お願いします。

[0x7ffe0300]は、ntdll!KiFastSystemCallであることが分かっています。

64 デフォルトの名無しさん
2021/06/25(金) 23:03:34.71 ID:W5hhXd/9

63
NtUserSetImeHotKey関数をシステムコール経由で呼んでいるらしい。
https://reactos.org/wiki/Techwiki:Win32k/syscalls

これ以上のことは分からない。

65 デフォルトの名無しさん
2021/06/26(土) 23:13:53.65 ID:RPMP544+

こっちでまとめてます。秘密基地です。
https://github.com/katahiromz/secret_base

66 デフォルトの名無しさん
2021/06/29(火) 20:06:52.90 ID:+6dhbc6a

```asm
neg eax
sbb eax, eax
```
[=>]
```txt
CarryFlag = (eax != 0);
eax = -(LONG)eax;
eax -= eax + CarryFlag;
```
Devide the cases about CarryFlag and we get:
```c-like
if (eax != 0)
eax = 0xFFFFFFFF;
else
eax = 0;
```
これがneg-sbbのトリック。

67 デフォルトの名無しさん
2021/07/13(火) 10:27:53.03 ID:M2x6Ny3W

riscはオナニーしながらでも読めるにゃ

68 デフォルトの名無しさん
2021/07/13(火) 11:39:35.80 ID:EvOOyjG8

はやっ

69 デフォルトの名無しさん
2021/07/14(水) 01:35:31.92 ID:lv8+vNga

66
```asm
neg eax
sbb eax, eax
```

これにさらに「inc eax」が付くとこうなる:


```asm
neg eax
sbb eax, eax
inc eax
```
[=>]
```c
if (eax != 0) eax = 0;
else eax = 1;
```

つまり、eaxの論理否定となる。

70 デフォルトの名無しさん
2021/08/03(火) 21:07:31.90 ID:Q9+5cbUY

```txt
Label_YYYY:
...
if (exp) goto Label_YYYY;
```
のような場合は
```txt
do
...
if (exp) goto Label_YYYY;
```



```txt
if (exp) goto Label_XXXX;
...
Label_XXXX:
...
```
のような並びがあるときは、
```txt
if (!(exp)) {
...
}
...
```
に書き換えることができる。

71 デフォルトの名無しさん
2021/08/03(火) 21:09:13.31 ID:Q9+5cbUY

70は書き損じだから無視して。


```txt
Label_YYYY:
...
if (exp) goto Label_YYYY;
```
は、
```txt
do
...
} while (exp);
```
に置き換えることができる。


```txt
if (exp) goto Label_XXXX;
...
Label_XXXX:
...
```
は、
```txt
if (!(exp)) {
...
}
...
```
に書き換えることができる。

72 デフォルトの名無しさん
2021/08/03(火) 21:16:45.35 ID:Q9+5cbUY

ジャンプ命令は基本的にgoto文に置き換えることができる。

ジャンプ命令の符号あり符号なしの区別は

http://www.unixwiz.net/techtips/x86-jumps.html

にまとまっている。例えば、JA命令はJump if aboveだからunsignedであり、JL命令はJump if lessだからsignedである。

```asm
cmp X, Y
ja Label_ZZZZ
```
の場合は、
```txt
if ((unsigned)X > (unsigned)Y) goto Label_ZZZZ;
```
と書き換えることができる。

「test X, Y」はXとYのビット論理積の結果によってフラグを更新する。

例えば
```asm
test eax, eax
jz Label_XXXX
```

```txt
if (eax == 0) goto Label_XXXX;
```
に置き換え可能。

73 デフォルトの名無しさん
2021/08/04(水) 15:25:34.02 ID:YCRiyQzz

if (exp)

74 デフォルトの名無しさん
2021/08/04(水) 15:26:28.93 ID:YCRiyQzz

```txt
if (exp)
{
...
goto Label_XXXX;
}
...
Label_XXXX:
```
は、
if (exp)
{
...
}
else
...
Label_XXXX:
```

75 デフォルトの名無しさん
2021/08/04(水) 15:27:12.21 ID:YCRiyQzz

```txt
if (exp) {
...
goto Label_XXXX;
}
...
Label_XXXX:
```
は、
if (exp) {
...
} else {
...
}
Label_XXXX:
```
に置き換え可能。

76 デフォルトの名無しさん
2021/08/13(金) 14:20:39.59 ID:xGO78+x4

ImmAssociateContext
ImmAssociateContextEx
ImmConfigureIMEA/W
ImmEscapeA/W
Imm32GetClientImcCache
ImmGetCompositionStringA/W
ImmGetContext
ImmInstallIMEW
ImmIsUIMessageA/W
ImmRequestMessageA/W
ImmSetCompositionStringA/W
ImmGetImeMenuItemsA/W
ImmLockIMC
ImmGenerateMessage
ImmTranslateMessage
ImmProcessKey
ImmSetActiveContext

宿題がまだこ~んなにあるぜ。本当に全部できるのかよ。

77 デフォルトの名無しさん
2021/09/24(金) 02:14:10.10 ID:i//SzVJC

まあ、これを見て実際の逆工学をやってみるもよし

https://github.com/katahiromz/DecodersTatami/blob/main/target/analysis/Func00401550.txt

セキュリティエンジニアの道ははるかに遠い

78 デフォルトの名無しさん
2021/09/25(土) 20:48:50.24 ID:H+l7h9ZE

とりあえず、x86 CPUについて復習しようね。

eax, ebx, ecx, edx。
この4つは汎用レジスタで、それぞれ32ビット整数。

esp, ebp。
この二つは特にスタックに使われるレジスタ。

eaxの中には16ビット整数のaxがある。axはeaxの下位16ビット整数。
ebxの中には16ビット整数のbxがある。bxはebxの下位16ビット整数。
ecxの中には16ビット整数のcxがある。cxはecxの下位16ビット整数。
edxの中には16ビット整数のdxがある。dxはedxの下位16ビット整数。

79 デフォルトの名無しさん
2021/09/25(土) 20:52:28.04 ID:H+l7h9ZE

axはalとahの2つに分かれている。alはaxの下位8ビットで、ahはaxの上位8ビット。
bxはblとbhの2つに分かれている。blはbxの下位8ビットで、bhはbxの上位8ビット。
cxはclとchの2つに分かれている。clはcxの下位8ビットで、chはcxの上位8ビット。
dxはdlとdhの2つに分かれている。dlはdxの下位8ビットで、dhはdxの上位8ビット。

esi, edi。
この2つのレジスタは、メモリーの転送によく使われる。
esiのなかには16ビット整数のsiがある。siはesiの下位16ビット整数。
ediのなかには16ビット整数のdiがある。diはediの下位16ビット整数。
esiのsはsourceで、ediのdはdestinationだ。

80 デフォルトの名無しさん
2021/09/25(土) 21:08:38.10 ID:+1RCibwo

eaxの中にaxレジスタがあり、axレジスタの中にal, ahレジスタがあるという見方もできる。このような構造になっているのは16ビットとの互換性のためである。

64ビットCPUのx64、別名amd64ではrax, rbx, rcx, rdxというように、頭にrが付いた64ビットレジスタが増設された。逆工学の主な戦場はまだ32ビットにあるが、今後64ビットを対応しないといけない。

81 デフォルトの名無しさん
2021/09/28(火) 20:27:04.96 ID:m9n91EHz

【問題】
```asm
push 0x30
mov edi, eax
pop ecx
```

【解読】
まず、
`push 0x30`と`mov edi, eax`は独立しているので交換可能。

```asm
mov edi, eax
push 0x30
pop ecx
```

さらに`push 0x30`と`pop ecx`が並んでいるので、これは`ecx = 0x30;`と解釈できる。

よって

```asm
push 0x30
mov edi, eax
pop ecx
```
[=>]

82 デフォルトの名無しさん
2021/09/28(火) 20:29:43.46 ID:m9n91EHz

```txt
edi = eax;
ecx = 0x30;
```
である。□

```asm
push (即値)
pop (レジスタX)
```
[=>]
```txt
(レジスタX) = (即値);
```
はpush-popトリックだから覚えておいてね。

最新200 

2ch勢い総合ランキング

【前環境大臣】小泉進次郎氏「世界はガソリン車の販売をやめていく。日本も変わらなければ次世代の雇用は失われる」 [ボラえもん★] (1001)
勢い 14772.97 10.26レス/分 ニュース > ニュース速報+
【衆院選】山本太郎氏「奨学金はチャラ、消費税廃止。何があっても心配するな、生きているだけで価値がある、そういう国を作りたい」★3 [ボラえもん★] (1001)
勢い 14754.98 10.25レス/分 ニュース > ニュース速報+
【シンガポール】8割がワクチン2回接種も 死者最多に★2 [トモハアリ★] (1001)
勢い 13315.99 9.25レス/分 ニュース > ニュース速報+
【経済】円の実質実効為替レート、1970年代前半の水準まで低下 約50年ぶりの円安に ★3 [ボラえもん★] (1001)
勢い 13183.94 9.16レス/分 ニュース > ニュース速報+
【車】猪瀬直樹氏「世界の趨勢はEV化なのに、日本はメーカーもユーザーも意識低すぎ。このままだと日本はおしまいだ」 ★2 [ボラえもん★] (1001)
勢い 11921.31 8.28レス/分 ニュース > ニュース速報+
【衆院選】山本太郎氏「奨学金はチャラ、消費税廃止。何があっても心配するな、生きているだけで価値がある、そういう国を作りたい」★2 [ボラえもん★] (1001)
勢い 11759.81 8.17レス/分 ニュース > ニュース速報+
【茨城】女性教諭、生徒から告白され交際・キスも…保護者は寛大な処分求める [少考さん★] (1001)
勢い 11567.58 8.03レス/分 ニュース > ニュース速報+
踏切付近に切断された遺体 若い女性か 福岡 [どどん★] (526)
勢い 10982.70 7.63レス/分 ニュース > ニュース速報+
【経済】円の実質実効為替レート、1970年代前半の水準まで低下 約50年ぶりの円安に ★2 [ボラえもん★] (1002)
勢い 10666.67 7.41レス/分 ニュース > ニュース速報+
【悲報】Twitter大学生さん、専業投資家になるためアコムで100万円を借りて大学を退学してしまう [ワロタwwwwwwwww★] (1001)
勢い 10619.96 7.37レス/分 ニュース > ニュース速報+
【衆院選】新潟5区 米山隆一さんが優勢 自民をリード [ネトウヨ★] (1001)
勢い 10563.48 7.34レス/分 ニュース > ニュース速報+
【社会】40代独身男性、銀行預金の低金利に絶望 「44万円貯金して利子が1円」 [ボラえもん★] (1001)
勢い 10250.44 7.12レス/分 ニュース > ニュース速報+
【速報】 バイデン大統領 「中国が台湾を攻撃したらアメリカが防衛する」 中国が反発 (NHK)★2 [お断り★] (1001)
勢い 10188.17 7.08レス/分 ニュース > ニュース速報+
【経済】円の実質実効為替レート、1970年代前半の水準まで低下 約50年ぶりの円安に [ボラえもん★] (1001)
勢い 10172.90 7.06レス/分 ニュース > ニュース速報+
【衆院選】 金子総務大臣 「与党過半数割れならば、岸田首相は退陣すべき」 [ベクトル空間★] (1001)
勢い 10128.63 7.03レス/分 ニュース > ニュース速報+
【前環境大臣】小泉進次郎氏「世界はガソリン車の販売をやめていく。日本も変わらなければ次世代の雇用は失われる」★2 [ボラえもん★] (1002)
勢い 10054.34 6.98レス/分 ニュース > ニュース速報+
【衆院選】山本太郎氏「奨学金はチャラ、消費税は廃止。何があっても心配するな、生きているだけで価値がある、そういう国を作りたい」 [ボラえもん★] (1001)
勢い 9769.47 6.78レス/分 ニュース > ニュース速報+
【速報】東京都、新たに26人の感染発表 今年最少を更新10/22 [夜のけいちゃん★] (1001)
勢い 9733.98 6.76レス/分 ニュース > ニュース速報+
【韓国】ヌリ号打ち上げ失敗 ★19 [新種のホケモン★] (1001)
勢い 9548.66 6.63レス/分 世界情勢 > 東アジアnews+
【悲報】Twitter大学生さん、専業投資家になるため100万円を借りて大学を退学してしまう→結果 [ワロタwwwwwwwww★] (1001)
勢い 9510.70 6.60レス/分 ニュース > ニュース速報+
眞子内親王殿下 30歳のお誕生日 [少考さん★] (1002)
勢い 9356.80 6.50レス/分 ニュース > ニュース速報+
【日本】パトカー車列を車3台のグループが襲撃 ★2 [haru★] (1001)
勢い 9290.01 6.45レス/分 ニュース > ニュース速報+
【新型コロナ】入院先で夫が感染し体調急変 妻「現実知って」「国からは何もしてもらっていない」 [凜★] (909)
勢い 9152.50 6.36レス/分 ニュース > ニュース速報+
【韓国】ヌリ号打ち上げ失敗 ★20 [新種のホケモン★] (1001)
勢い 9120.58 6.33レス/分 世界情勢 > 東アジアnews+
【発達障害】グレタさん「アスペルガーは病気ではなく才能。私もアスペルガーでなければこうして立ち上がることはなかった。」 [ボラえもん★] (1001)
勢い 9065.41 6.30レス/分 ニュース > ニュース速報+
【経済】円の実質実効為替レート、1970年代前半の水準まで低下 約50年ぶりの円安に ★4 [ボラえもん★] (282)
勢い 8627.76 5.99レス/分 ニュース > ニュース速報+
【衆院選】安倍晋三氏「私たちは負けるわけにはいかない。負けたらあの悪夢の様な時代に逆戻りしてしまう」 ★7 [ボラえもん★] (1001)
勢い 8545.29 5.93レス/分 ニュース > ニュース速報+
【日本】パトカー車列を車3台のグループが襲撃 [haru★] (1001)
勢い 8493.26 5.90レス/分 ニュース > ニュース速報+
【現金給付公約】NHKと裁判してる党の立花党首 「1人目の子供出産で1000万円を給付する」 [影のたけし軍団★] (495)
勢い 8371.11 5.81レス/分 ニュース > ニュース速報+
広告
【韓国】ヌリ号打ち上げ失敗 ★26 [新種のホケモン★] (115)
勢い 8191.26 5.69レス/分 世界情勢 > 東アジアnews+
【シンガポール】8割がワクチン2回接種も 死者最多に★3 [トモハアリ★] (1004)
勢い 8174.06 5.68レス/分 ニュース > ニュース速報+

勢い 8026.58 5.57レス/分 ネット関係 > 難民
【シンガポール】8割がワクチン2回接種も 死者最多に [トモハアリ★] (1001)
勢い 7959.36 5.53レス/分 ニュース > ニュース速報+
眞子内親王殿下 30歳のお誕生日 ★2 [少考さん★] (531)
勢い 7934.69 5.51レス/分 ニュース > ニュース速報+
【ワクチン】打った後に言われても…心筋炎に注意喚起 職域接種担当者「今後も慎重に見極めたい」 ★28 [haru★] (1001)
勢い 7881.21 5.47レス/分 ニュース > ニュース速報+
【衆院選】 安倍晋三元首相の「立民共産に負たら悪夢の時代に逆戻りしてしまう」発言に反発の声 台頭3 [ベクトル空間★] (210)
勢い 7753.85 5.38レス/分 ニュース > ニュース速報+

勢い 7743.81 5.38レス/分 ネット関係 > 難民
【速報】東京都、新たに26人の感染発表 今年最少を更新10/22 ★2 [夜のけいちゃん★] (1001)
勢い 7693.47 5.34レス/分 ニュース > ニュース速報+
【韓国】ヌリ号打ち上げ失敗 ★18 [新種のホケモン★] (1001)
勢い 7660.44 5.32レス/分 世界情勢 > 東アジアnews+
Jざつ7074 (1001)
勢い 7458.93 5.18レス/分 ネット関係 > 難民
【クォーター制】東京大学「女性比率30%」達成できず、 女性が少ないという偏り ジェンダーギャップ解消へ [haru★] (591)
勢い 7350.28 5.10レス/分 ニュース > ニュース速報+
【芸能】<ラサール石井>「コロナの死者は自民の人体実験」発言が物議! 安倍元首相の演説に反発 [Egg★] (1001)
勢い 7341.60 5.10レス/分 ニュース > 芸スポ速報+
【スッさん】StylishNoobID無しスレ part1851 (1001)
勢い 7027.42 4.88レス/分 ネット関係 > ネットwatch
【悲報】日本さん「円安です、半導体不足です、木材買い負け、肉買い負け、冬場は電力危機です」◀何でこんな事になったの? [701470346] (1001)
勢い 6817.59 4.73レス/分 雑談系2 > ニュー速(嫌儲)
【発達障害】グレタさん「アスペルガーは病気ではなく才能。私もアスペルガーでなければこうして立ち上がることはなかった。」 ★2 [ボラえもん★] (445)
勢い 6677.32 4.64レス/分 ニュース > ニュース速報+
安倍ぴょん「悪夢の時代に戻ってもいいんですか皆さん!」 [128776494] (1001)
勢い 6673.67 4.63レス/分 ニュース > ニュース速報
【前環境大臣】小泉進次郎氏「世界はガソリン車の販売をやめていく。日本も変わらなければ次世代の雇用は失われる」★3 [ボラえもん★] (1001)
勢い 6642.11 4.61レス/分 ニュース > ニュース速報+
【速報】 バイデン大統領 「中国が台湾を攻撃したらアメリカが防衛する」 中国が反発 (NHK) [お断り★] (1001)
勢い 6598.00 4.58レス/分 ニュース > ニュース速報+
亜美の雑談1247 (1001)
勢い 6568.92 4.56レス/分 雑談系2 > なんでもあり
【韓国】ヌリ号打ち上げ失敗 ★17 [新種のホケモン★] (1002)
勢い 6555.74 4.55レス/分 世界情勢 > 東アジアnews+
ワクチン接種7ヶ月後、中和抗体だけでなくT細胞免疫も激減ニート化、ただの風邪でも重症化の恐れ [422186189] (1002)
勢い 6440.52 4.47レス/分 雑談系2 > ニュー速(嫌儲)
【衆院選】安倍晋三氏「私たちは負けるわけにはいかない。負けたらあの悪夢の様な時代に逆戻りしてしまう」 ★9 [ボラえもん★] (1001)
勢い 6417.47 4.46レス/分 ニュース > ニュース速報+
【スッさん】StylishNoobID無しスレ part1853 (1001)
勢い 6365.92 4.42レス/分 ネット関係 > ネットwatch
【ワクチン】打った後に言われても…心筋炎に注意喚起 職域接種担当者「今後も慎重に見極めたい」 ★29 [haru★] (1001)
勢い 6320.77 4.39レス/分 ニュース > ニュース速報+
【衆院選】 安倍晋三元首相の「立民共産に負たら悪夢の時代に逆戻りしてしまう」発言に反発の声 台頭2 [ベクトル空間★] (1001)
勢い 6289.66 4.37レス/分 ニュース > ニュース速報+
☆【画像】10176 (1001)
勢い 6283.13 4.36レス/分 ネット関係 > 難民
【日本】片腕の水泳選手「両手でタッチしていない」という理由で失格 共生遠いスポーツ界 [Anonymous★] (1001)
勢い 6277.25 4.36レス/分 ニュース > 芸スポ速報+
【韓国】ヌリ号打ち上げ失敗 ★24 [新種のホケモン★] (1001)
勢い 6240.90 4.33レス/分 世界情勢 > 東アジアnews+
広告
【衆院選】 安倍晋三元首相の「立民共産に負たら悪夢の時代に逆戻りしてしまう」発言に反発の声 台頭 [ベクトル空間★] (1008)
勢い 6149.58 4.27レス/分 ニュース > ニュース速報+
【爆笑】甘利幹事長、落選へ [253246518] (1001)
勢い 6125.56 4.25レス/分 雑談系2 > ニュー速(嫌儲)
(ヽ´ん`)「付き合ってください」女「ごめんなさい‥‥‥」(ヽ´ん`)「‥‥‥‥(殺るか)」⬅これ女はどうすればいいの? [934511485] (1001)
勢い 6115.93 4.25レス/分 雑談系2 > ニュー速(嫌儲)
肴32743 (1001)
勢い 6098.54 4.24レス/分 ネット関係 > 難民
【テレビ】小室圭さんNY州弁護士会の論文コンペ優勝 K・ギルバート氏「ばっちり」 [ひかり★] (1001)
勢い 6077.75 4.22レス/分 ニュース > 芸スポ速報+
【社会】40代独身男性、銀行預金の低金利に絶望 「44万円貯金して利子が1円」 ★2 [ボラえもん★] (1001)
勢い 6062.90 4.21レス/分 ニュース > ニュース速報+
トラウデン直美「SDGsで世界を変える」と評価される。歯ブラシは竹製、スポンジはヘチマに。  [921122269] (139)
勢い 5910.24 4.10レス/分 雑談系2 > ニュー速(嫌儲)
お疲れ様ですこのスレは【転載厳禁】です (1001)
勢い 5907.14 4.10レス/分 ネット関係 > 難民
【韓国】ヌリ号打ち上げ失敗 ★21 [新種のホケモン★] (1001)
勢い 5861.10 4.07レス/分 世界情勢 > 東アジアnews+
【名無し奥も○○奥も】気楽に井戸端会議✍【みんな来い】 (1001)
勢い 5828.49 4.05レス/分 カテゴリ雑談 > 既婚女性
大遠恋 (1001)
勢い 5657.69 3.93レス/分 ネット関係 > 難民
【明石市トイレ問題】「男性は青、女性は赤」その前提を疑わない人が根本的に誤解していること★2 [七波羅探題★] (1001)
勢い 5648.30 3.92レス/分 ニュース > ニュース速報+
青 (554)
勢い 5617.37 3.90レス/分 ネット関係 > 難民
【悲報】職場の飲み会を断り続けた陰キャコミュ障新入社員さん、職場で孤立して浮いてしまう。「自業自得、頭悪いねw」 [483447288] (490)
勢い 5523.29 3.84レス/分 雑談系2 > ニュー速(嫌儲)
ハロウィーク定食5118 (1001)
勢い 5521.35 3.83レス/分 ネット関係 > 難民
【名無し奥も○○奥も】気楽に井戸端会議
勢い 5452.77 3.79レス/分 カテゴリ雑談 > 既婚女性
眞子内親王殿下 天皇皇后両陛下にご結婚のごあいさつ [少考さん★] (1001)
勢い 5446.04 3.78レス/分 ニュース > ニュース速報+
安倍「立憲共産を選べばあの悪夢のような時代に逆戻り!」→「お前より余程良い」とツッコミ殺到ww [271912485] (1002)
勢い 5421.98 3.77レス/分 ニュース > ニュース速報
【茨城】女性教諭、生徒から告白され交際・キスも…保護者は寛大な処分求める ★2 [少考さん★] (973)
勢い 5312.64 3.69レス/分 ニュース > ニュース速報+
【ワクチン】打った後に言われても…心筋炎に注意喚起 職域接種担当者「今後も慎重に見極めたい」 ★27 [haru★] (1001)
勢い 5296.41 3.68レス/分 ニュース > ニュース速報+
【名無し奥も○○奥も】気楽に井戸端会議
勢い 5220.40 3.63レス/分 カテゴリ雑談 > 既婚女性
下乳露出米5120 (962)
勢い 5178.62 3.60レス/分 ネット関係 > 難民
Jざつ7076 (1001)
勢い 5169.23 3.59レス/分 ネット関係 > 難民
【悲報】ネトウヨのタダッピ黒瀬深さん、お母さんは中国系だった
勢い 5116.01 3.55レス/分 雑談系2 > ニュー速(嫌儲)
【ワクチン】打った後に言われても…心筋炎に注意喚起 職域接種担当者「今後も慎重に見極めたい」 ★30 [haru★] (1001)
勢い 5088.93 3.53レス/分 ニュース > ニュース速報+
40歳独身無職だけど癌告知されて人生終わった みんなこうなる前に結婚なり就職しろよ [646881113] (413)
勢い 5049.27 3.51レス/分 雑談系2 > ニュー速(嫌儲)
【ボクシング】ロシアのボクサー、熊に襲われるも返り討ちで仕留める 友人はその場で死亡 [THE FURYφ★] (360)
勢い 5033.01 3.50レス/分 ニュース > 芸スポ速報+
Jざつ7078 (119)
勢い 5015.41 3.48レス/分 ネット関係 > 難民
自民党「自助!分配なし!w」 れいわ山本太郎「奨学金はチャラ、消費税廃止。何があっても心配するな、生きているだけで価値がある」 [745071849] (69)
勢い 4963.86 3.45レス/分 雑談系2 > ニュー速(嫌儲)
広告
TBSでMMTで激論 「日本は事実上借金ゼロ。まだまだ国債は発行できる」 「馬鹿なことをいうな、今のままで危ないんだぞ!」 [918320622] (1001)
勢い 4910.14 3.41レス/分 雑談系2 > ニュー速(嫌儲)
蒼井そら、遊び場で子どもを激しく叱りつける母親に違和感…「涙が出てくるくらい心配で仕方ない」 [爆笑ゴリラ★] (1001)
勢い 4883.35 3.39レス/分 ニュース > 芸スポ速報+
【悲報】 元カプコン社員「ストリートファイターやロックマンが海外で売れなかったのはアメリカのせい、春麗が研ナオコにされた」 [426633456] (66)
勢い 4824.37 3.35レス/分 雑談系2 > ニュー速(嫌儲)
【スッさん】StylishNoobID無しスレ part1852 (1001)
勢い 4811.88 3.34レス/分 ネット関係 > ネットwatch
国保料上限、3万円引き上げ 高所得者の負担増―厚労省 [蚤の市★] (1001)
勢い 4781.10 3.32レス/分 ニュース > ニュース速報+
【車】猪瀬直樹氏「世界の趨勢はEV化なのに、日本はメーカーもユーザーも意識低すぎ。このままだと日本はおしまいだ」 [ボラえもん★] (1001)
勢い 4754.22 3.30レス/分 ニュース > ニュース速報+
【悲報】貧乏人の俺、いい暖房が買えずに電気ストーブを使ってしまう。めちゃ電気代食うからますます貧乏だよ [457057547] (141)
勢い 4623.30 3.21レス/分 雑談系2 > ニュー速(嫌儲)
【名無し奥も○○奥も】気楽に井戸端会議
勢い 4591.55 3.19レス/分 カテゴリ雑談 > 既婚女性
不人気珍道中 (1001)
勢い 4583.76 3.18レス/分 ネット関係 > 難民
実質サタン1348 (1001)
勢い 4542.90 3.15レス/分 ネット関係 > 難民
【速報】 バイデン大統領 「中国が台湾を攻撃したらアメリカが防衛する」 中国が反発 (NHK)★3 [お断り★] (1001)
勢い 4525.99 3.14レス/分 ニュース > ニュース速報+
【名無し奥も○○奥も】気楽に井戸端会議
勢い 4522.16 3.14レス/分 カテゴリ雑談 > 既婚女性

勢い 4503.33 3.13レス/分 ネット関係 > 難民
【車】猪瀬直樹氏「世界の趨勢はEV化なのに、日本はメーカーもユーザーも意識低すぎ。このままだと日本はおしまいだ」 ★3 [ボラえもん★] (1001)
勢い 4502.04 3.13レス/分 ニュース > ニュース速報+
【衆院選】松井一郎代表「岸田首相では国を成長させられない。われわれに力を与えてほしい」 [ボラえもん★] (810)
勢い 4497.40 3.12レス/分 ニュース > ニュース速報+
☆【画像】10178 (201)
勢い 4472.42 3.11レス/分 ネット関係 > 難民
6108人の強運の持ち主 (1001)
勢い 4431.00 3.08レス/分 雑談系2 > なんでもあり
☆【画像】10175 (1001)
勢い 4429.52 3.08レス/分 ネット関係 > 難民
【ワクチン】打った後に言われても…心筋炎に注意喚起 職域接種担当者「今後も慎重に見極めたい」 ★31 [haru★] (857)
勢い 4404.02 3.06レス/分 ニュース > ニュース速報+
Jざつ7073 (1001)
勢い 4376.62 3.04レス/分 ネット関係 > 難民
【国連報告者】北朝鮮制裁の緩和呼び掛け=コロナで「飢餓の恐れ」[10/23] [新種のホケモン★] (232)
勢い 4258.51 2.96レス/分 世界情勢 > 東アジアnews+
【社会】ヨドバシ、ネット販売比率5割に上げ 全国で翌日配送 [凜★] (1001)
勢い 4225.08 2.93レス/分 ニュース > ニュース速報+
【新型コロナ】感染者が急減した日本、韓国メディアは「ミステリー」と注目=韓国ネット「検査数が少ない」「歪曲」[10/23] [新種のホケモン★] (92)
勢い 4216.87 2.93レス/分 世界情勢 > 東アジアnews+
最近の芸能人「はい私の悪口言ったー。誹謗中傷ですー。訴えますー」 こういう芸能人が増えている [138264121] (576)
勢い 4157.25 2.89レス/分 雑談系2 > ニュー速(嫌儲)
【名無し奥も○○奥も】気楽に井戸端会議
勢い 4022.62 2.79レス/分 カテゴリ雑談 > 既婚女性
【芸能】家賃だけで300万円超!宮迫博之 焼き肉店プロデュース頓挫で「丸焦げ危機」 [爆笑ゴリラ★] (575)
勢い 3969.95 2.76レス/分 ニュース > 芸スポ速報+
【画像】若者のすべて、この髪型になってしまうwxwxwxxwxwxwxwxwxww [922589754] (643)
勢い 3951.58 2.74レス/分 雑談系2 > ニュー速(嫌儲)
あにゃ (130)
勢い 3936.91 2.73レス/分 ネット関係 > 難民
女優、批評家が選んだ歴代No.1「名作映画ランキング」決まる [牛丼★] (1001)
勢い 3933.17 2.73レス/分 ニュース > 芸スポ速報+
広告
【悲報】日本人、コロナがガチでめちゃくちゃ収束してるのに誰もマスクを外さない アメリカやイギリスではありえない光景 一体何故…? [513565329] (1001)
勢い 3888.44 2.70レス/分 雑談系2 > ニュー速(嫌儲)
伊是名夏子「差別とキャベツは似ている」 [844481327] (101)
勢い 3767.88 2.62レス/分 ニュース > ニュース速報
肴32742 (1001)
勢い 3723.85 2.59レス/分 ネット関係 > 難民
【消費税減税】山本太郎「富裕層への増税でまかなう」 [速報★] (40)
勢い 3570.25 2.48レス/分 ニュース > ニュース速報+
女「ロリコンは直感で分かる。マジで。」ケンモジ、バレていたもよう [959542443] (74)
勢い 3511.04 2.44レス/分 雑談系2 > ニュー速(嫌儲)
【明石市トイレ問題】「男性は青、女性は赤」その前提を疑わない人が根本的に誤解していること★3 [七波羅探題★] (1001)
勢い 3479.85 2.42レス/分 ニュース > ニュース速報+

勢い 3479.81 2.42レス/分 ネット関係 > 難民
ワクチン接種7ヶ月後、中和抗体だけでなくT細胞がニート化 ただの風邪インフルで重症化の可能性★3 [422186189] (238)
勢い 3454.84 2.40レス/分 ニュース > ニュース速報
お着替えかぼちゃ丼5117 (1001)
勢い 3447.87 2.39レス/分 ネット関係 > 難民
東京でしか食べられない「タンメン」ってお前ら知ってる? [874119311] (65)
勢い 3424.39 2.38レス/分 雑談系2 > ニュー速(嫌儲)
【悲報】流産した20代夫婦 行政に相談したら警察に逮捕され実名報道 職場は首 ローン一括返済を迫られ [811571704] (296)
勢い 3267.46 2.27レス/分 ニュース > ニュース速報

勢い 3228.43 2.24レス/分 ネット関係 > 難民
【プロ麻雀リーグ】Mリーグ Part1165 (1001)
勢い 3202.96 2.22レス/分 ギャンブル > 麻雀・他
【韓国】ヌリ号打ち上げ失敗 ★23 [Ikh★] (1001)
勢い 3201.42 2.22レス/分 世界情勢 > 東アジアnews+

勢い 3173.46 2.20レス/分 ネット関係 > 難民
【前環境大臣】小泉進次郎氏「世界はガソリン車の販売をやめていく。日本も変わらなければ次世代の雇用は失われる」★4 [ボラえもん★] (926)
勢い 3116.85 2.16レス/分 ニュース > ニュース速報+
実質17228 (1001)
勢い 3112.37 2.16レス/分 ネット関係 > 難民
arsざつ 295 (1001)
勢い 3092.78 2.15レス/分 ネット関係 > 難民
【共同通信】れいわ新選組、比例で最大5議席獲得の予測! [297142216] (1001)
勢い 3083.39 2.14レス/分 雑談系2 > ニュー速(嫌儲)
【名無し奥も○○奥も】気楽に井戸端会議
勢い 3020.38 2.10レス/分 カテゴリ雑談 > 既婚女性
【厚労省】コロナワクチン接種 81人を救済認定 医療費など支給へ [少考さん★] (889)
勢い 2970.32 2.06レス/分 ニュース > ニュース速報+
■□■□チラシの裏20642枚目□■□■ (1001)
勢い 2945.82 2.05レス/分 生活 > 家庭
自民党が前回に引き続き「【国難】を乗り切るためには自公政権、とアピールしてるよ。バカかこいつら
勢い 2930.57 2.04レス/分 雑談系2 > ニュー速(嫌儲)
【衆院選】大阪10区情勢調査 辻元清美氏が優勢  [ボラえもん★] (1001)
勢い 2896.25 2.01レス/分 ニュース > ニュース速報+
お前らの時代で「一番面白かったコロコロの漫画」wwwww (43)
勢い 2862.25 1.99レス/分 雑談系2 > ニュー速VIP
このスレも【転載厳禁】ですよぉ (1001)
勢い 2847.10 1.98レス/分 ネット関係 > 難民
【世論工作】小渕優子氏の資金管理団体も…自民党が「Dappi」運営会社に759万円支出していた [上級国民★] (1001)
勢い 2801.38 1.95レス/分 ニュース > ニュース速報+
【悲報】進次郎、安倍晋三ら自民党の人気者の演説に人が集まらない。必殺技の悪夢の民主党政権を使うも反応イマイチ [115031854] (278)
勢い 2793.58 1.94レス/分 雑談系2 > ニュー速(嫌儲)
Jざつ7072 (1001)
勢い 2787.82 1.94レス/分 ネット関係 > 難民
広告
【悲惨】ワクチン接種後7ヶ月経つと中和抗体だけでなくT細胞免疫も壊滅 ただの風邪でも重症化する恐れ [828293379] (1003)
勢い 2779.61 1.93レス/分 ニュース > ニュース速報
なぜ女向けのゲームを男はやらないのか?逆は多いのに [769327952] (169)
勢い 2778.08 1.93レス/分 雑談系2 > ニュー速(嫌儲)
【バレーボール】<タリバン支配のアフガン>女子代表選手“斬首”か 米紙報道 [Egg★] (1001)
勢い 2778.05 1.93レス/分 ニュース > 芸スポ速報+
岸田内閣「支持40%、不支持38%」比例「自民37%、立憲25%」無党派の投票先「立憲25%、自民14%」 [598966228] (1001)
勢い 2776.75 1.93レス/分 雑談系2 > ニュー速(嫌儲)
【正論】山本太郎「今の20代の貯蓄ゼロ世帯は60%越えてる。それで結婚しようってなりますか?」 [531377962] (462)
勢い 2750.80 1.91レス/分 雑談系2 > ニュー速(嫌儲)
【プロ麻雀リーグ】Mリーグ Part1164 (1001)
勢い 2734.14 1.90レス/分 ギャンブル > 麻雀・他
[明日 石神井公園]都民の皆さんで直接、安倍首相にお疲れ様、ご苦労様を言いませんか? [605031433] (94)
勢い 2716.25 1.89レス/分 雑談系2 > ニュー速(嫌儲)
【速報】静岡参院補選、大接戦 自民党敗北すれば岸田政権は窮地に [115996789] (602)
勢い 2712.67 1.88レス/分 雑談系2 > ニュー速(嫌儲)
【韓国】文大統領「実務交渉続けよ」…任期内の「日韓首脳会談」は実現するか?[10/23] [新種のホケモン★] (215)
勢い 2664.37 1.85レス/分 世界情勢 > 東アジアnews+
arsざつ 296 (212)
勢い 2662.71 1.85レス/分 ネット関係 > 難民
【悲報】岩波書店「採用試験の応募条件に学者の推薦状を必要にします」読書しか取り柄のない陰キャさん集団発狂「コネ採用だ!」 [483447288] (139)
勢い 2651.71 1.84レス/分 雑談系2 > ニュー速(嫌儲)
くこは【転載厳禁】スレ (1001)
勢い 2642.26 1.83レス/分 ネット関係 > 難民
「拳銃をください」交番に包丁男 その場で逮捕 熊本市 [少考さん★] (85)
勢い 2629.43 1.83レス/分 ニュース > ニュース速報+
【スッさん】StylishNoobID無しスレ part1854 (1001)
勢い 2620.68 1.82レス/分 ネット関係 > ネットwatch
NANPLA
勢い 2602.48 1.81レス/分 ネット関係 > 難民

勢い 2574.06 1.79レス/分 ネット関係 > 難民
実質サタン1347 (1001)
勢い 2551.30 1.77レス/分 ネット関係 > 難民
タリバン、女子バレー選手代表を斬首か。現実はザンスカール帝国よりも凄惨。 [866556825] (410)
勢い 2544.46 1.77レス/分 ニュース > ニュース速報
制服着ろ (1001)
勢い 2538.57 1.76レス/分 ネット関係 > 難民
米weeeeeeeeek5119 (1001)
勢い 2529.88 1.76レス/分 ネット関係 > 難民
【悲惨】ワクチン接種後7ヶ月経つと中和抗体だけでなくT細胞免疫も壊滅 ただの風邪でも重症化?★2 [296138258] (1002)
勢い 2518.93 1.75レス/分 ニュース > ニュース速報
宇都宮の餃子、仙台の牛タン、香川のうどん...全国何処でも食えるインチキ名物の魅力 [617440196] (93)
勢い 2514.14 1.75レス/分 雑談系2 > ニュー速(嫌儲)
【野球】日本ハム 新監督に新庄氏有力 栗山監督後任、6年日本一に貢献した北海道の英雄 ★2 [ひかり★] (111)
勢い 2502.71 1.74レス/分 ニュース > 芸スポ速報+
将棋や囲碁でメシが食えるという謎システム [142738332] (479)
勢い 2496.27 1.73レス/分 雑談系2 > ニュー速(嫌儲)
【シャニマス】アイドルマスターシャイニーカラーズ2511週目【enza】 (1001)
勢い 2487.32 1.73レス/分 ゲーム > ブラウザゲーム
VIPでウマ娘 (727)
勢い 2483.80 1.72レス/分 雑談系2 > ニュー速VIP
☆【画像】10174 (1001)
勢い 2434.18 1.69レス/分 ネット関係 > 難民
【社会】ヨドバシ、ネット販売比率5割に上げ 全国で翌日配送 ★2 [凜★] (679)
勢い 2428.82 1.69レス/分 ニュース > ニュース速報+
北京市内の政府系研究機関で見つけた地図がヤバい [512899213] (311)
勢い 2415.75 1.68レス/分 ニュース > ニュース速報

カテゴリランキング





















ページのトップへ戻る