ネット漂流記

いろいろな出来事を勝手に本音で・・・ 「本音でブログ」から改名

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

別窓 | スポンサー広告 | ∧top | under∨

CPRMDecrypter 使ってみた



入力先、出力先など
必要なところに
チェックを入れて設定

実行させると





DOS画面が表示されて
実行程度が’#’で示される
多少エラーの表示もあるが
問題なく実行終了
出力ファイルをMPで確認すると
内容も問題なかった

ただこのツールだけでは駄目で
過去ログの
lernelでラーニング
初めてのDLL
でも書いたように
cprmgetkeyやcprm2freeまたはc2dec
使っているDVDドライブによっては
lernel32.dllが必要だ
(またifoファイルのコピーにはifocopyが必要だ)

iP ! (アイピー) 2008年 05月号 [雑誌]
この雑誌についているようだが
ネット上にもあるようだ
探してみてください
.






スポンサーサイト

別窓 | DVD関連 | コメント:0 | トラックバック:0 | ∧top | under∨

PgcEdit がバージョンアップ


PgcEdit_86
PgcEditがまたバージョンアップしていました
最新バージョンはVer 8.6です

Zipファイルを展開して前のバージョンに上書きして
すぐ使えました

新規に使う場合でも任意のフォルダーに置いて
すぐ使えるはずです

何がどう変わったかはまだよくわかりませんが
問題なく使えました

メニューの取り込みや字幕の色など
DVDの仕上げには(自分的に)必須のソフトです


日本語版ダウンロードリンク: ソフト&パッチさん


本家のサイト: PgcEdit Home
(本家でも日本語版は上記と同じリンク)


使用する場合は自己責任でよろしく
.

別窓 | DVD関連 | コメント:0 | トラックバック:0 | ∧top | under∨

ImgBurnがバージョンアップ

Eazymode.png
ImgBurnが久しぶりに
バージョンアップしてました

新しいバージョン2400では
イージーモードから起動しますが

モードを選択すれば
今までと同じ様に使用できました

ImgBurn-Tools-Setting.png
日本語化の方法も今までのパッチと異なり
ランゲージファイルを
Languagesフォルダーに入れてから起動し
設定画面から指定する方法に
変わっていました





本体のダウンロード先:
The Official ImgBurn Website

日本語化の方法と
日本語ランゲージファイル:
日本語化工房-KUPさん

以上、使用は自己責任でよろしく
.

別窓 | DVD関連 | コメント:0 | トラックバック:0 | ∧top | under∨

DVDのファーム書き換え

約1年ぶりにDVDドライブのファームウエアを書き換えた

DVD-logo
使っていたDVDのファームのバージョンが
暮れに新しいバージョンに
アップしていたからだ

ファームのデータは
Liggy's and Dee's modified NEC and Optiarc firmwares
のサイトからDVDに適用できるファーム(RPC2とRPC1が選べる)

とファームの書き換えソフト
binflash(こっちもバージョンアップしていた、GUIのが便利だ)

を落として書き換え実行、問題なく終了した

リブートしてファームのバージョンが109に変更されているのを確認
(コンピュータのプロパティーのデバイスマネージャ、DVDドライブの詳細などで可)
リージョンコードは未設定に戻っていた(OK)

RPC1だとリージョンの書き換えは2回までしか出来ないが
問題は無い

RPC2のファーム用にはRPC2VendorReset
というToolが使えるが


RPC1には不要だとして動いてくれない


もし試す場合は自己責任でよろしく
.

別窓 | DVD関連 | コメント:0 | トラックバック:0 | ∧top | under∨

rmvbファイルも直接DVD化

前のログに書いたことがFree Movies To DVD
で簡単に出来てしまいました

多くの種類のファイル形式を直接DVD化できるようです
紹介文には書いてなかったのですが
実際試してみるとrmvbファイルもサポートしていました

Free Movies To DVD supports most popular formats like avi, divx, xvid, mpeg, mp4, vob, wmv... It converts your files into a compliant DVD Video set of files and burns it on a DVD media or save it as ISO image file.

The output mpeg format can be configured : aspect ratio, bitrate, NTSC or PAL.


Free_MoviesToDvd.jpg


試したのはPVなので2時間前後のムービーが
どのくらいの時間でDVD化できるのか判りませんが
必要ならばDVDに書き込むまでノンストップで出来るようです。
.

別窓 | DVD関連 | コメント:0 | トラックバック:0 | ∧top | under∨

lernelでラーニング

lernel32 を作ったとき参考にした書き込みをまとめておこうと思う

知ってる人は読み飛ばしてください

まず2chのスレから使えそうな書き込みをピックアップしてみた


アンパックに時間がかかりそうだったのでLERNEL32.dllで何とかする方向で。
GetLocalTimeとFileTimeToSystemTimeを2007/7/1 0:0:0.0を返す様にして、
LoadLibraryとGetModuleHandleがKERNEL32で呼び出されるのをLERNEL32に変更すればOK。


041期限解除のまとめ2
パッチ法: >>705 のとおり
ラッパ法:下記サイトのAPIフックの項を参考にする
ttp://ruffnex.oc.to/kenji/crackme/reverse_engineering.html
変更は次の3カ所
・GetLocalTime:上記サイトと同じ方法で
・GetModuleHandleA:GetModuleHandleA("lernel32"); を実行させる
・FindFirstFileA:INVALID_HANDLE_VALUE を返す

なお、VC++を持っていなければ2005 Express EditionとMicrosoft platform
SDKを↓に従ってインストールする
ttp://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
とくに手順3をきちんとやらないと<windows.h>がないと怒られるので注意
2005 Express Editionを使用する場合、リバースエンジニアリングのサイト
にある仲介DLL生成補助ツールよりも↓を利用した方が良いかも知れない
ttp://www.chiyoclone.net/details.html#listexp
こちらを利用した場合はlernel32_dummy.cpp内の「( naked )」と「d_関数()」
の間に「void WINAPI」を挿入してくれ(1000個近くあるので一括置換しよう)

仲介DLL生成補助ツール
上記のサイトの関数の置き換え方が参考になった

DLLの仲介を行い任意のAPIの動作を監視、もしくは変更する場合は、生成された.cppファイルを書きかえる必要があります。ここでは kernel32.dllの「GetSystemTime」APIの動作を変更する例を用います。まずはlernel32.cppを開きます。そしてコードの次の行を以下のように書きかえます。

//__declspec( naked ) void WINAPI d_GetSystemTime() { _asm{ jmp p_GetSystemTime } }
__declspec(dllexport) VOID WINAPI d_GetSystemTime(LPSYSTEMTIME t);

上の行をコメントアウトして、下の行を追加します。追加する場合はMSDNなどで、あらかじめAPIの定義(引数や戻り値など)を調べておいてください。kernel32.dllに実装されているGetSystemTimeと同じ引数、戻り値を持たなければなりません。

さらに、.cppファイルの最後に実際に動作させたいコードを追加します。

// .cppファイルの最後に追加
__declspec(dllexport) VOID WINAPI d_GetSystemTime(LPSYSTEMTIME t)
{
    t->wYear = 1192;
    t->wMonth = 5;
    t->wDay = 15;
    t->wDayOfWeek = 0;
    t->wHour = 1;
    t->wMinute = 1;
    t->wSecond = 1;
    t->wMilliseconds = 1000;
}

これで完了です。あとはVC++でビルドし、生成されたDLLが仲介DLLとなります。任意のEXEファイルと同じフォルダにコピーし、EXEファイルをバイナリエディタで開き、「KERNEL32.dll」の部分を「LERNEL32.dll」と変更してください。これによって、EXEファイルは kernel32.dllのAPIを呼び出すときに常に、仲介DLLを介してアクセスすることになります。

2chに書き込まれた書き換え例としてこれが参考になった


__declspec(dllexport) void WINAPI d_GetLocalTime(LPSYSTEMTIME t)
{
    t->wYear = 2007;
    t->wMonth = 7;
    t->wDay = 31;
    t->wDayOfWeek = 2;
    t->wHour = 0;
    t->wMinute = 0;
    t->wSecond = 0;
    t->wMilliseconds = 0;
}

__declspec(dllexport) HANDLE WINAPI d_FindFirstFileA(LPCTSTR n,LPWIN32_FIND_DATA d)
{
    return INVALID_HANDLE_VALUE;
}


__declspec(dllexport) HMODULE WINAPI d_GetModuleHandleA(LPCTSTR s)
{
    return GetModuleHandleA("lernel32");
}


こんなんでどうだろ?
voidから型は適当に変えてみた。

ビルド方法についてはこんな書き込みが参考になった

ひょっとしてVC++.NETでビルドする場合?某所の請け売りですが
「ファイル→新しい項目の追加」で新しくlerneldefファイルを作成し、そこに
listexportで作成したlernel32.defの内容をコピー
lernel.cppはそのままプロジェクトに追加
ビルド
だったりして。


とりあえず手っ取り早いのは
lernel.cppとlernel.defを適当なフォルダに置く
新規作成→既存のコードからプロジェクトを作成
プロジェクトファイルの場所:上のフォルダを指定
プロジェクトファイル名:lernel32
→次へ→DLLプロジェクトを選択→次へ→完了
プロジェクト→プロパティ
構成:Release
全般:文字セット:マルチバイト→適用
C/C++:コード生成:ランタイムライブラリ:マルチスレッド/MT→適用
リンカ:入力:モジュール定義ファイル:lernel32.def→適用
ビルド→構成マネージャ:Release→閉じる
ビルド→ソリューションのビルド
あくまでも1つの例なのであとは適宜変更してくれ

UnicodeとANSIに分けてコードを書く。
面倒ならUnicodeでなくMulti-Byte Character Setでビルドする。

Project→Properties→Linker→Inputで.defファイルを登録してね。


以上を参考にソースを書き換えビルドして解除に成功したわけですが
LoadLibraryではLERNLE32で呼ばれるようなので置き換えから外しました

VSのデバッガで時間の書き換え関数にブレークポイントをかけても
止まりませんでしたが、動作は正常に終了しました。

以上、試す場合は自己責任でよろしく
.

別窓 | DVD関連 | コメント:2 | トラックバック:4 | ∧top | under∨
| ネット漂流記 | NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。