2015年05月23日

VC++2013で Windows 2000で動くバイナリが作れない理由

例の VC++2010でWindows 2000を動くようにするライブラリを組み込んだ、
VC++2013 で コンパイルしたバイナリがこちら。

vc2013

UxTheme.dll と GetModuleHandleExW が組み込まれてしまっているのですが、その原因を調べてみました。

src\crt0dat.c を開いてみたのがこちら
#if !defined (_CRT_APP) && !defined (_KERNELX)

typedef void (WINAPI * PFN_EXIT_PROCESS)(UINT uExitCode);

void __cdecl __crtCorExitProcess (
        int status
        )
{
        HMODULE hmod;
        PFN_EXIT_PROCESS pfn;

        if (GetModuleHandleExW(0, L"mscoree.dll", &hmod)) {
            pfn = (PFN_EXIT_PROCESS)GetProcAddress(hmod, "CorExitProcess");
            if (pfn != NULL) {
                pfn(status);
            }
        }

        /*
         * Either mscoree.dll isn't loaded,
         * or CorExitProcess isn't exported from mscoree.dll,
         * or CorExitProcess returned (should never happen).
         * Just call return.
         */
}
#endif  /* !defined (_CRT_APP) && !defined (_KERNELX) */
原因のコードはこれ。
VC++標準アプリであっても、必ず終了時に .Net Framework の CorExitProcess を呼ぶためのコードが
GetModuleHandleExW で静的に呼ばれるようになっている。
これが標準ライブラリをリンクした時に必ず組み込まれるのが原因。

どう見ても、GetModuleHandleW でいいようなコードである。
素の Windows 2000でどうやっても動かないようにするため小細工にしか見えないw



blackwingcat at 12:30|PermalinkComments(0)TrackBack(0) Windows2000 | Programing

2015年05月22日

PureBASICが熱い話

Windows 95, the comeback ! – PureBasic Team Blog
6年前のブログ記事ですが、 PureBasic の Team Blogを見ると、
再び Windows 95で動作するようになったぜ!
の記事が

残念ながら、最新版は Windows 95で  GetFileAttributeExW  が原因で起動しないのですが…。

PureBasic Forum • View topic - PB5.31 (32bit) on Windows 98
まだ、 Windows 98では動作してるようです。

なんかすごいですね・ω・

フォーラムに、書き込んだら、有償のユーザーならWindows 95で動く昔のバージョンをダウンロードできるよ、とのこと


PureBasic - Wikipedia



blackwingcat at 18:30|PermalinkComments(0)TrackBack(0) Windows9x/Me | Programing

TLS のLogjam の脆弱性、実はIEは既に安全らしい

Logjam: How Diffie-Hellman Fails in Practice
脆弱性チェックのサイトへ IE8や IE11で接続すると

ie

Good News! Your browser is safe against the Logjam attack.

TLSに新たな脆弱性「Logjam」、多数のサーバーや主要ブラウザーに影響 - INTERNET Watch - 脳脂肪のパクリメモ
本当か?

TLSに新たな脆弱性「Logjam」、多数のサーバーや主要ブラウザーに影響 -INTERNET Watch
主要ニュースを見ると、IEを含む、すべてのブラウザーが影響を受けるとあるのですが・・・。

Logjam Flaw Cracks All Browsers but Internet Explorer
IEを除くすべてのブラウザが Logjam でクラックされる欠陥。
これを書いている火曜日の朝(5月20日)の時点では、主要なWebブラウザの中で唯一Microsoft Internet Explorerだけがこの脆弱性に対してパッチが適用されている。
Google ChromeやMozillaのFirefoxやアップルのSafariの最新バージョンは、Windows、OS X、AndroidとiOSの上で脆弱です。
(皮肉なことに もはや開発も配布もされていない、Windows用のSafariの古いバージョンでは安全でした)

・ω・ 大手ニュースが間違ってるだけみたいですね。

ちなみに、Windows 2000やXPのIEだと接続自体不可能でした(Logjamにたいしてはつまり安全?でも、他では危険なので使っちゃだめですよ)


おまけ

Opera 12.17 on Windows 2000
opera
Opera 12 最強伝説再び…。




blackwingcat at 09:14|PermalinkComments(3)TrackBack(0) 時事NEWS | Security

2015年05月21日

VC++2013/2015 問題対応

例の PPL に関する VC++ を Windows 2000または Windows 2000互換モードで起動した場合に
アプリケーションがクラッシュする問題ですが、とんでもないことが判明しました。

ターゲットは、 PPL を利用可能になった、 VC++2010 からなので、 VC++2012 問題に含まれることがわかりました。
一般的にPPLが使われるようになったのが 最近になってからなので問題が出てきたのだと思います。

そこで、まず、Runtime の修正版の配布を行います
Win2000-PFW000001-x86-INTL.EXE

次に、パッチを当てる必要があるファイルの見分け方です。

まず、実行ファイルや DLLや AX や OCX ファイルを 『SetThreadGroupAffinity』 をキーワードに検索して下さい。
合致すれば、問題がある可能性があります

次に、デバッグ版と リリース版のライブラリでパッチの適用の方法が変わります
デバッグ版実行ファイルの場合は
"FFFF00742C83" で検索して "FFFF00742083" に書き換えればOKです。
これは、 VC++2010 プロジェクトから VC++2015プロジェクトまで全部共通です

リリース版の場合は
VC++2010
"8B 44 24 58 2B C7 0F 84 2B 03 00 00 48 74"
"8B 44 24 58 2B C7 0F 84 4E 00 00 00 48 74"

VC++2012
"8B 85 E8 FE FF FF 83 E8 00 74 36 48 74"
"8B 85 E8 FE FF FF 83 E8 00 74 1F 48 74"

VC++2013
"8B 85 E8 FE FF FF 83 E8 00 74 2C 48 74"
"8B 85 E8 FE FF FF 83 E8 00 74 1F 48 74"

VC++2015
"8B E5 5D C3 8B 85 E8 FE FF FF 83 E8 00 74 3E 83 E8 01 74"
"8B E5 5D C3 8B 85 E8 FE FF FF 83 E8 00 74 1D 83 E8 01 74"

となり、少し処理が異なります

プログラムを作る側は
lib\libcmt.lib 或いは lib\libcmtd.lib に対してパッチを適用する必要があります
VC++2015の場合は libconcrt.lib libconcrtd.lib libconcrt0.lib libconcrtd0.lib libconcrt1.lib libconcrtd1.libになります。

というわけで、 VC++2010にあることが判明したので、魔改造版 Windows 2000に対するピンポイントな嫌がらせではなく、Win2000アプリが作れないはずの VC++2010のライブラリに Win2000判定入れたエンジニアが間抜けだったというおちでした・ω・



blackwingcat at 18:30|PermalinkComments(2)TrackBack(0) Windows2000 | Programing
livedoor プロフィール
My PC
SNOWSTORM(P5E3 Premium)
OS:Win2000AdvancedSv
CPU:Xeon(4Core) 2.83G
Memory:8G
VGA:NVIDIA GTX 780Ti
HDD:SSD(32G)
    +SATA(540G+180G)
Crystal SCR:244765
SNOWFOX2(W860CU)
CPU:Core i5-540M(2.53G)
OS:Win2000Pro
Memory:4G
VGA:Geforce GTX285M
HDD:SSD(160G)
Crystal SCR:176460
SNOWMOBILE3(CF-J10S)
CPU:Core i5-2410M(2.3G)
VGA:Intel HD Graphics
HDD:SSD(128G)
Windows2000
Memory:6G
Crystal SCR:133495
SNOWMOBILE(N10Jc/故障)
Windows2000/XP Home
Crystal SCR:38316
SNOWLEO(MA206J/A/休止)
OS:OSX 10.4 +
Windows2000Pro(Solo動作)
Crystal SCR:24061
Windows 2000の セキュリティ対策について
FFR yarai(脆弱性防御)
SymantecEndpointSecurity 11 MR7
Windows Defender
記事検索
訪問者数

    今週のアクセス数

    Win2000お勧め
    お勧め記事
    Twitter Client Mo-Footer
    .NET FrameworkのUninstall
    lolifox 0.3.8.x
    WindowsのシャットダウンTips
    Fox Launcher
    ウィルス感染を手動で見つける方法
    Unknown Hard Errorとサルベージ
    Dependency Walker 日本語化
    Ultra VNC 1.0.6/1.0.8 を日本語化
    IME補完計画
    BSoD(ブルースクリーン)特集
    デフラグ時の4つの心得
    不明なデバイス探し
    SETUPAPI/NTDLLBugFix
    DNSデボルブ用更新[KB957579]
    最新 update.sys!
    4Thread以上のCPU最適化
    Win2000マルチコアで最適化
    Windows 2000の通信速度改善1
    Windows 2000の通信速度改善2
    内蔵簡易FireWallを使う
    ワームに感染しないインストール
    Remote Desktop Client
    IME 辞書 Tips
    Win2000用セキュリティSOFT
    不要なファイルの削除
    Win2000カスタマイズ
    便利なキーボードショートカット
    6月末まで使える体験版セキュリティ

    非対応ハード動作編
    HTC NDIS Driver
    Intel HD Graphic Driver
    VMWare Player 3.1.x
    Conexant HD Audio Driver
    NVIDIA WHQL Driver
    Intel Chipset 最新 INF
    Sentelic Finger Pad Driver
    ATI Legacy Driver 10.2
    AMD Radeon Driver 8〜11
    ATI Ahci/Raid Driver
    Intel SATA AHCI Driver
    D21LC(eMobile)
    USB-WSIM
    UVC カメラ
    Logicool Webcam
    Logicool ゲームパッド
    XBOX360用コントローラー
    Logicool Mouse
    Microsoft IntelliPoint
    iPod Touch/iPhone Driver

    非対応アプリ動作編
    Flash Player 10.3
    Java 6 JRE
    Java 7.0 JRE
    ティルズウィーバー
    Natal Online
    コンチェルトゲートフォルテ
    シルクロードオンライン
    東方幻想麻雀
    IME2010 Installer
    Adobe Reader X for Win2000
    Baidu IME 2.x
    MMORPG ドルアーガーの塔
    Adobe Air for Windows 2000
    Baidu IME
    iTunes 10.x installer
    Evernote 4
    Janetter
    Second Life
    雀龍門
    Media Manager for PSP 2.5a
    .NET Framework 3.5SP1
    ATOK 月額版(2010/2011)
    Leaf 愛佳でいくの!!
    VistaのScreenSaver
    会計ソフト弥生シリーズ 10
    Vegas Movie Studio 9
    EyeBall Chat
    ・CanonPowerShot[Soft/DPP]
    Google SketchUp Pro 7
    dance mixer
    Lismo Port
    DivX
    SONY ScreenSaver
    mixi アプリ
    DivX v7.x
    ニコニコムービーメーカー(動画)
    RC-S330 PaSoRi
    Finale 2009
    ZoneAlarm 8.0
    ルナティア Online
    ストリートギアーズ
    xfy Blog Editor
    Photoshop Elements 7
    Premiere Elements 7
    PowerShell 1.0
    ai sp@ce
    電脳フィギュアARis
    VOCALOID2 ミク・リンレン
    Google Chrome/SRW Iron
    Media Player 10
    ・iTunes 7.6.2を使う方法
    QuickTime 7.5x/7.6x
    foobar2000 9.5.x/9.6.x
    RealPlayer11
    Safari3/4.0
    ShockwavePlayer10/11
    Windows Live Writer
    Live Messenger
    Veoh Web Player / Web TV
    Level-R

    追加機能・カスタマイズ編
    W2K Kernel32 改造計画【BM】
    W2K Update Rollup v2
    XNA/SlimDX
    CPU Core数リミット解除
    OutLook Express 6SP3
    MDAC 2.8 SP2
    GIF/PNGを使えるMSPAINT
    IE5でWindowsUpdate
    MSXML 4.0SP3
    DirectX9.0c(2010/Feb)+拡張
    MS09-062(Gdiplus.dll)更新
    Unicode 制御文字
    Internet Explorer6 Bonus Pack
    夏時間(DaylightSavingTime)
    レジストリバックアップを取る
    IME2007
    Windows Media Bonus Pack
    XPSファイルビューア
    Windows Defender
    文字化け対策(FontLink)
    Meirio(KB927489)
    msconfig
    圧縮フォルダ
    Windows Movie Maker
    IE5.01/5.5/6タブ化
    MediaTypeChanger(EISA構成)
    Win2000 SP4 Support Tool
    kill/tlist with Debugging Tools
    sc.exe with Resource kit
    reg.exe
    TaskTray 256色化
    ISO仮想CD/DVDドライバ
    IE6高速化とWSH 5.7/5.8
    MS Baseline Security Analyzer
    音声認識 API 5.1
    Text Service

    Win2000インストール編
    CF-J10S
    N10Jc
    ThinkPad X200(7454)
    Quad Core/X48/P5E3
    VAIO VGN Type S
    E6850搭載 サポートPC
    Let'snote CF-R6
    MacMini
    Dell LATITUDE D630
    Core i7 + X58 +ICH10R
    790FX + SB750
    Clevo W860CU
    最新コメント
    Categories
    アーカイブ
    Information
    Google広告




    Translate


    このサイトはIE5.x/IE6
    IE5.x Internet Explorer 6.x

    Firefox Firefox ブラウザ無料ダウンロード
    で最適化されています。
    Technorati
    Add to iGoogle
    Amazon GIFTでカンパ

    Donation