こちらではうまくいきました。
相手側プロセスでLoadLibraryAは実行されているのでしょうか?
こちらではWindbg を使用して以下のように実行されていることを確認できました。
引数の値はマスクしています。
とりあえずインジェクト先のプロセスにデバッガをアタッチして確認してみてください。
0:005> x KERNEL32!LoadLi*
~省略~
0:005> x KERNELBASE!LoadLi*
~省略~
//とりえあえず両方ともブレークポイントを仕掛けておく
0:005> bp KERNELBASE!LoadLibraryA
0:005> bp KERNEL32!LoadLibraryAStub
0:005> g
----------------
ここで
injector32.exe -e DF.exe
----------------
//ブレークした
Breakpoint 1 hit
eax=88ef99bc ebx=025e0000 ecx=75025980 edx=75025980 esi=75025980 edi=75025980
eip=75025980 esp=04beff84 ebp=04beff94 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
KERNEL32!LoadLibraryAStub:
75025980 8bff mov edi,edi
//引数を確認
0:005> kv
# ChildEBP RetAddr Args to Child
00 04beff80 75028654 025e0000 75028630 88ef99bc KERNEL32!LoadLibraryAStub (FPO: [Non-Fpo])
01 04beff94 77e24a47 025e0000 974d2a9c 00000000 KERNEL32!BaseThreadInitThunk+0x24 (FPO: [Non-Fpo])
02 04beffdc 77e24a17 ffffffff 77e49ed8 00000000 ntdll!__RtlUserThreadStart+0x2f (FPO: [SEH])
03 04beffec 00000000 75025980 025e0000 00000000 ntdll!_RtlUserThreadStart+0x1b (FPO: [Non-Fpo])
//引数を表示。想定したものがセットされている
0:005> da 025e0000
025e0000 "C:\Users\XXXXXXXXXXXXXXXXXXXXXX"
025e0020 "XXXXXXXXXXXXXXXXX\SimpleDLLInje"
025e0040 "ction-master\build\Debug\payload"
025e0060 "32.dll"
もう少し簡単な方法を記載しておきます。
okrtさんの記載している仮説も調べられると思います。
Process Monitor というツールがあってこれを使用するとスレッド開始やDLLのロードの結果を調べられます。
Filterから
Process Name is PictBear.exe
をIncludeとして設定します。
キャプチャを開始して、
injector32.exe -e PictBear.exe
とします。
そうすると以下のようにDLLのロードが実施され成功しているのかが分かります。
なお、私の環境ではPictBearでも成功しました。