いろいろな出来事を勝手に本音で・・・
lernelでラーニング
2007-10-13 Sat 01:43
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関連 | コメント:1 | トラックバック:4
初めてのDLL
2007-10-07 Sun 21:59
とうとうというかやっとというか
あのツールの時限解除できました

初めてのDLLがlernel32というのも少し複雑な気持ちですが
なんとかネット上から情報のかけらとツールかき集めて
ソース書き直して動くまでにこぎつけました

解除済みのlernel32はさんざん探しても
消されていたり、捏造だったりで見つかりませんでした、
そこで仕方なく自分で作って見ることにしたのですが

こうゆう種類のツールや情報は
UFOの情報と同じで本物と捏造の情報が入り混じっていて
本当に動くのか確かめるまでは信じられないもんですね
しかし、確かに解除できて動かせる事がわかりました

それにしてもある雑誌にも嘘なのか単に間違いなのか
判らないようなことも書いてありました

まず書いてあるツールのバージョンが間違ってる
大体cprmgetkeyに040なんてバージョン流出して無いはずだし
004はまったく使い物にならないものだったし・・・

2chにもかかれてました
iPに書いてあることはウソです。
信じてはいけません。


しかも解除できてないDLLを使って
さもツールが動くかのように書いてある・・・
実はソース書き直してビルドしないといけないわけですorz

ネタ元は同じ2chなんですがどうしてこんな嘘書いてしまうのかな〜
意図的なのか勘違いなのか・・・

雑誌見てだまされた人もいるんじゃないかな〜

DownLoad Link(404)




話は変わるが、DVDFlick バージョンが1.2.2.1にアップしていました
またPlus版もバージョンアップしなければ・・・

dvdflick.net
.

別窓 | DVD関連 | コメント:1 | トラックバック:0
VROファイルのDEMUX
2007-09-29 Sat 00:28

[あのツールの意外な使い方]

でのあのツールで変換したあと
VROファイルどうしますか?

ある雑誌にはTMPGEncDVDAuthor3
でDVD化出来ると書いてありましたが
これは14日間の試用版です

ここではフリーソフトでDVD化する方法書いてみます
その同じ雑誌に以前紹介されてたMPEG_Streamclip

MPEG_Streamclip00078.jpg MPEG_Streamclip

を使うとVROファイルをDEMUXできます
しかもかなり高速に

後は以前に書いたIfoEditかMuxManを使って
DVD化する事ができます
[DEMUXのあとはどうする?]

このMPEG_Streamclip他にmpgファイルやvobファイルも
DEMUX出来ますが
vobは分割されたファイルを全部DEMUXするのは
経験的からいうとやめたほうがいいようです
ファイルのつなぎ目部分で音が途切れる事がありました
でも一本のファイルなら問題はありません
(全てプロテクトがかかってないことが前提です)

出来ればこのMPEG_StreamclipでAVIファイルも
DEMUX出来ればさぞ早いのではないかと思えるのですが
今はまだ出来ません・・・
今後のバージョンに期待はしていますが
今だにそんな予定はなさそうです orz
.


試用版でも安心できる製品がいいときは↓


ペガシス
TMPGEnc DVD Author 3 with DivX Authoring


ペガシス
TMPGEnc 4.0 XPress + TMPGEnc DVD Author 3 with DivX Authoring 限定バンドルパック


ペガシス
TMPGEnc 3.0 XPress + TMPGEnc DVD Author 1.6 二層対応版 with AC-3 Pack

別窓 | DVD関連 | コメント:0 | トラックバック:0
確かにヒーロー・・・
2007-09-16 Sun 19:46
洒落

Share-ex2-mozax60.jpg

【映画】HERO-劇場版-2007年(内部先行試写版)...
ってファイル落としたら
中身がスパイダーマン3・・・\(^o^)/ワロタ
そりゃ確かにヒーローだけど・・・orz

Spiderman3 black 00.jpg

しかも前落としたファイルと同じ所にノイズあり
の同じファイルだ

Spiderman3 2 Titles Menu L.jpg

音も6秒遅れてたのを修正してPV付けてDVD化してやった
コンチクショウ!

(´・ω・`)
(´・ω・`:
(´・ω・:;
(´・ω;:.
(´・;:',.
(´;.:',
(:;',.
:';.,
;.',
',
.


ソニー・ピクチャーズエンタテインメント
スパイダーマンTM3 コレクターズBOX(2枚組) ―バンダイ[ソフビ魂]限定フィギュア(2体)同梱― (20,000個完全限定生産)


ソニー・ピクチャーズエンタテインメント
スパイダーマンTM3 デラックス・コレクターズ・エディション(2枚組) (初回限定豪華アウターケース付)


ソニー・ピクチャーズエンタテインメント
スパイダーマンTM コンプリートBOX(6枚組)―SIDESHOW製限定フィギュア(2体)同梱― (完全初回生産限定)


東映ビデオ
スパイダーマン 東映TVシリーズ DVD-BOX

別窓 | DVD関連 | コメント:0 | トラックバック:0
あのツールの意外な使い方
2007-09-05 Wed 21:05
ここで言うあのツールとは2ちゃんねるでも話題になった
cprm2free.exe のことだ

cprm2free はあのアンタッチャブルだった
コピーガードをあれするものだが
ここでの使い方はすこし違う

コピーガードはかかっていないが諸事情によって
4:3になってしまったアスペクト比を
16:9に変更するというものだ

これは cprm2free がファイルをコンバートするときに
自動的に16:9の信号を無条件で付加してファイルを生成するのを
利用する方法だ

変更できるファイルは.vroファイルだけでなく.vobファイルでも可能だ
また cprm2free の引数のコンテントキーも11文字であれば何でもよく
VR_MANGR.IFO ファイルも空のファイルでかまわない

変更しようとするファイルは名前を ”VR_MOVIE.VRO” に変更し
空の VR_MANGR.IFO ファイルと共に cprm2free.exe と同じ
フォルダーに置けばいい
変換するには
コマンドプロンプトを起動してそのフォルダーに移動し

 X:CPRM> cprm2free nanndemoii=

と入力しReturnキーを押せばいいだけだ
するとファイルのアスペクト比は16:9に変更されてコンバートされた
free_VR_MOVIE.VRO ファイルが生成されているはずだ

cprm2free03-169 trim 02.jpg

使用する cprm2free.exe のバージョンは 03 がお勧めだ
Ver.041はCMスキップ部分で"err mpeg header"が発生しやすい
またVer.004でもまれに"err mpeg header"が発生することがあった

他のファイル形式で使用可能かは試していないが
mpg ファイルなら変更可能かもしれない

以上 cprm2free.exe の意外な使い方
試す場合は自己責任でよろしく

追記: ツールはP2Pなどで流れているので探して下さい

.
VR_MOVIE_Befor 02.jpg
変換前 4:3の画像 月が楕円形だ

VR_MOVIE_After 02.jpg
変換後 16:9で本来のアスペクト比になった

.

  ファイル変換ソフト
別窓 | DVD関連 | コメント:0 | トラックバック:0
BACK | 本音でブログ | NEXT