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

■ このスレッドは過去ログ倉庫に格納されています
2021/06/19(土) 17:16:50.94ID:KpP01EPy
5ちゃんねるの総力を挙げて、人力でアセンブリや機械語を逆コンパイルするスレッドです。コード解析の達人やヒマ人の皆様、ご協力下さい。

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

依頼は一度に1関数までとします。あまりにも長いコードは人力では逆コンパイルできません。常識の範囲でご利用ください。
2021/06/19(土) 17:35:44.71ID: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
2021/06/19(土) 19:13:37.49ID:Obm1tdWY
関連スレ

機械語なら俺に質問しろ!その2
https://mevius.5ch.net/test/read.cgi/tech/1356735624/
2021/06/19(土) 19:14:20.22ID:Obm1tdWY
逆アセンブラ、解析 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1498686597/
2021/06/19(土) 19:14:49.34ID:Obm1tdWY
アセンブラ 13
https://mevius.5ch.net/test/read.cgi/tech/1314512680/
2021/06/19(土) 20:23:58.66ID:Obm1tdWY
>>2
#include <windows.h>
int hello(void)
{
return MessageBoxA(NULL, "hello", NULL, MB_ICONINFORMATION);
}
2021/06/19(土) 20:42:09.84ID:KpP01EPy
>>6
すげー、正解www

どうやったらアセンブリ読めるんだ? 教えてくれよ
2021/06/19(土) 21:51:43.98ID: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
この辺から読み始めるといいよ。
2021/06/19(土) 23:37:15.06ID:/D3aIkOV
スレ立てたの素人かよ
2021/06/20(日) 14:20:56.65ID: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引数の関数です。
よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況