制作日記

こういうの作った方が、逃げにくいじゃない

長さ修飾子

man page読んでたら目に入ったんやけど
printfの長さ修飾子、あれhでshortやけど%nにも有効なんやな
msdnでは%nに有効とは書いてないけど試してみたら使えた
%nなんて普通の開発で使わんし、これは知らんかった

つーわけで、%hnで書き込みサイズを2byteに制限できるやん
コードなしでも親変更3byte分までは安全に軽量化できるやん
C99ならhhも使えたんやけどな
MSはVCをC99準拠させるつもりないから仕方ないね

見た感じ1byte書き込みは無理、2 or 4 byteのみ
00496C98  |. EB 35          |JMP SHORT winmugen.00496CCF
00496C9A |> 8D45 10 |LEA EAX,DWORD PTR SS:[EBP+10] ; Case 6E ('n') of switch 004969C5
00496C9D |. 50 |PUSH EAX
00496C9E |. E8 1B030000 |CALL winmugen.00496FBE
00496CA3 |. F645 FC 20 |TEST BYTE PTR SS:[EBP-4],20
00496CA7 |. 59 |POP ECX
00496CA8 |. 74 09 |JE SHORT winmugen.00496CB3
00496CAA |. 66:8B4D EC |MOV CX,WORD PTR SS:[EBP-14]
00496CAE |. 66:8908 |MOV WORD PTR DS:[EAX],CX
00496CB1 |. EB 05 |JMP SHORT winmugen.00496CB8
00496CB3 |> 8B4D EC |MOV ECX,DWORD PTR SS:[EBP-14]
00496CB6 |. 8908 |MOV DWORD PTR DS:[EAX],ECX
00496CB8 |> C745 D8 010000>|MOV DWORD PTR SS:[EBP-28],1
00496CBF |. E9 23020000 |JMP winmugen.00496EE7

コメントの投稿

非公開コメント

No title

drab先生どうも、一つの問題がある
mov eax, [eax+b758]
mov ebx, [eax+be8]
mov [ebx], xxxxxx
その中に、mov ebx, [eax+be8]は親捏造で実行するの可能性がある?
あるならぜひ、その方法を教えてください!

No title

あなたが何を言いたいのか、わかりません

cnsを書きたくないので、具体的な方法を教えるのはやりたくないです
また、アセンブラを書けるなら、親捏造よりアセンブラのほうが良いと思います
プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク