2010年12月24日
PE Maker(仮) 公開場【BM】
PE 形式の実行ファイルのエクスポートテーブルと再配置テーブルを書き換えるができるツールPEMaker(仮)を作ってみました。
ダウンロード (PEMKR021.zip v0.21 / 2011/1/28)
ダウンロード (PEMKR031.zip v0.31 / 2011/2/7)
ダウンロード (PEMKR040.zip v0.40 / 2011/2/10)
ダウンロード (PEMKR059.zip v0.59 / 2012/3/20)
ダウンロード (PEMKR060.zip v0.60 / 2012/3/29)
ダウンロード (PEMKR082.zip v0.82 / 2012/11/14)
*致命的な問題があったバージョンは削除してあります。
ダウンロード (PEMKR021.zip v0.21 / 2011/1/28)
ダウンロード (PEMKR031.zip v0.31 / 2011/2/7)
ダウンロード (PEMKR040.zip v0.40 / 2011/2/10)
ダウンロード (PEMKR059.zip v0.59 / 2012/3/20)
ダウンロード (PEMKR060.zip v0.60 / 2012/3/29)
ダウンロード (PEMKR082.zip v0.82 / 2012/11/14)
*致命的な問題があったバージョンは削除してあります。

実行して、ロードするとファイルの基本情報が表示されます。
これはよくあるツールにも実装された機能です。

DataDirのセクションがどこに属しているか表示することができます。
また、再配置テーブルをロードした後、書き換えて保存することができます。

セクションテーブルの情報を表示します。
これもよくある機能。

こちらが、目玉のエクスポートテーブル書き換えツール。
関数を追加したり、削除したりできます。
ただしセクションに空きがないと実装できませんが。

こちらは、インポートテーブルを表示する機能。
今後実装したい機能
・基本情報の充実。
・基本情報の書き換え。
・インポートテーブルの書き換え機能。
・セクションテーブルの拡張。
似たようなのに、海外で、PE Tool なるものがあるんですが、バグがあって、全然直らないので、業を煮やして作ってみたわけです。
Twitter Feedback
この記事へのコメント
2. Posted by yoka 2016年02月18日 22:57
xpsp2res.dllのimagebaseを書き換えようとすると0x40ae99で0x00000000に対する読み込み違反というエラーが出ます。
exportテーブルの無いdllの様ですがこういったものは未対応なのでしょうか?
exportテーブルの無いdllの様ですがこういったものは未対応なのでしょうか?
3. Posted by Dibya 2016年11月08日 13:52


4. Posted by Dibya 2016年11月12日 19:01

5. Posted by piotrhn 2017年04月11日 02:24
How add import to dll using PE MAKER ?
I want add new import to KERNEL32->NTDLL=RtlRunOnceExecuteOnce.
I tried with CFF EXplorer, PE MAKER but always crash STOP.
I can't add any import doesn't existed before in a library.
Please write me step-by-step how add import properly.
Thanks.
I want add new import to KERNEL32->NTDLL=RtlRunOnceExecuteOnce.
I tried with CFF EXplorer, PE MAKER but always crash STOP.
I can't add any import doesn't existed before in a library.
Please write me step-by-step how add import properly.
Thanks.
6. Posted by 黒翼猫 2017年04月11日 09:16
Set Function name:RtlRunOnceExecuteOnce.
set Hint : any number.(not dupulicated and ordered)
set runtime ntdll.dll(set from pull down menu)
And press Add2.
And save
note: it should requires enough import table.
set Hint : any number.(not dupulicated and ordered)
set runtime ntdll.dll(set from pull down menu)
And press Add2.
And save
note: it should requires enough import table.
7. Posted by piotrhn 2017年04月12日 03:09
I successfully added import to kernel32.
When try add to user32/gdi32/crypt32->advapi32->SystemFunction040. He adds some functions from kernel32. Please check this. XP SP3.
When try add any import on NT4 files EXPORT table is corrupted.
thanks
When try add to user32/gdi32/crypt32->advapi32->SystemFunction040. He adds some functions from kernel32. Please check this. XP SP3.
When try add any import on NT4 files EXPORT table is corrupted.
thanks
8. Posted by Dibya 2017年06月18日 21:12

9. Posted by 黒翼猫 2017年06月19日 10:32
I think we should not add import.
Plz try it export. (ex: ntdll -> kernel32 )
Plz try it export. (ex: ntdll -> kernel32 )
10. Posted by Dibya 2017年06月20日 13:30

May be we need some update in pemaker
11. Posted by Dibya 2020年01月01日 16:07

12. Posted by Gian Luca 2020年07月05日 13:25
The Latest versión download is down with a bad gatebay!
13. Posted by 黒翼猫 2020年07月06日 08:56
>>12
You should release to block browser referrer(ex security soft)
It does not allow direct link.
You should release to block browser referrer(ex security soft)
It does not allow direct link.
14. Posted by idk 2022年12月09日 17:38
Hi, how to use export table properly in ntoskrnl? i wanted to add missing imports, I tried and system prevents to boot
can you explain a detailed step by step? i want to do same with DLLs
thank you
can you explain a detailed step by step? i want to do same with DLLs
thank you
15. Posted by 黒翼猫 2022年12月09日 18:19
>>14
1. Create New Section Table
2. Move Export Table ( after it ,check ntoskrnel.exe valid data)
3. Add Function
4. insert new code to space which you find or create.
1. Create New Section Table
2. Move Export Table ( after it ,check ntoskrnel.exe valid data)
3. Add Function
4. insert new code to space which you find or create.