enufranzのブックマーク (10)

  • x64でpwnするときの注意点 - Qiita

    ASISで見事に爆死したので記念に投稿します。 https://blog.techorganic.com/2015/04/10/64-bit-linux-stack-smashing-tutorial-part-1/を参考にしました。 x64でのpwn的なテクニックや原理はx86と同じように使えるけど細かいところで違いがある。 引数の渡し方 引数の渡し方が変わってる。 x86では関数呼び出しするときにスタックに値を積んで引数を渡していたため、バッファオーバーフローなどでそのまま引数を渡せた。 x64ではレジスタに引数の値を指定するため、引数の操作がやりにくくなっている。 引数を渡すときは、まずスタックに値を設定してからROPで正しいレジスタに値をpopする必要がある。 ropperとかrp++とかを使って、目当てのものを探そう。 ちなみにレジスタと引数の対応はgccだと下になる。 第

    x64でpwnするときの注意点 - Qiita
    enufranz
    enufranz 2017/12/03
    ctf x64 pwn
  • Peering Inside the PE: A Tour of the Win32 Portable Executable File Format

    Other fields are defined in WINNT.H The third component of the PE header is a structure of type IMAGE_OPTIONAL_HEADER. For PE files, this portion certainly isn't optional. The COFF format allows individual implementations to define a structure of additional information beyond the standard IMAGE_FILE_HEADER. The fields in the IMAGE_OPTIONAL_HEADER are what the PE designers felt was critical informa

    Peering Inside the PE: A Tour of the Win32 Portable Executable File Format
    enufranz
    enufranz 2017/11/18
    古い?
  • 家庭菜園の新時代。IoT水耕栽培機「foop Lite」でレタスを作ってみました - 価格.comマガジン

    自分で作るため安心して野菜をべられる家庭菜園は、と健康への関心が高まっていることもあり、興味を持っている人も多いのではないでしょうか。しかし、庭やベランダなど育てる場所が必要だったり、栽培が難しかったり、毎日の世話が大変だったりなど、初心者にとってハードルが高いのも事実です。 筆者も家庭菜園に興味があるものの、きちんと育て上げられるか自信を持てず悩んでいたのですが、スマートフォンを使って育成を管理し、お手軽に野菜を栽培できる「foop Lite」というIoT水耕栽培機を発見。「これならばズボラな筆者でも栽培できそう!」ということで実際に試してみました。 スマートフォンで管理するIoT水耕栽培機「foop Lite」 初めての水耕栽培 「foop Lite」は、アドトロンテクノロジーが開発、販売を手がける水耕栽培機。価格は38,500円。温度センサーや照度センサーなど複数のセンサーから検

    家庭菜園の新時代。IoT水耕栽培機「foop Lite」でレタスを作ってみました - 価格.comマガジン
    enufranz
    enufranz 2017/11/12
    IoTで家庭菜園
  • クリーンルーム設計 - Wikipedia

    この項目では、製造全般における権利侵害対策のためのクリーンルーム設計について説明しています。ソフトウェアにおける品質担保のためのクリーンルーム設計については「ソフトウェアクリーンルーム」をご覧ください。 クリーンルーム設計(クリーンルームせっけい、英: Clean room design チャイニーズウォールテクニック(英語版)としても知られる)とは、ある製品をリバースエンジニアリングするチームと、それで得られた情報を元に再実装(再設計)を行うチームを隔離することで、著作権や企業秘密に抵触することなく、その製品の別実装を得る手法である。クリーンルーム設計は独立発明になるため、著作権や企業秘密への抵触を防げ、有用である。しかし、独立発明は特許権に対しては無防備である。実装者を別にすることで特許で保護されている実装と同じ実装にならないことを期待した手法であるが、結果として同じ実装になってしまっ

    enufranz
    enufranz 2017/11/05
    クリーンルーム方式のリバースエンジニアリング
  • wivern.com | 「リバースエンジニアリングバイブル」勉強メモ#5

    typedef struct _IMAGE_DOS_HEADER // DOS .EXE header { WORD e_magic;        // Magic number WORD e_cblp;         // Bytes on last page of file WORD e_cp;          // Pages in file WORD e_crlc;         // Relocations WORD e_cparhdr;       // Size of header in paragraphs WORD e_minalloc;       // Minimum extra paragraphs needed WORD e_maxalloc;       // Maximum extra paragraphs needed WORD e_ss;     

    enufranz
    enufranz 2017/11/04
    PE形式の説明
  • Section Objects and Views - Windows drivers

    enufranz
    enufranz 2017/11/04
    section object, view of section
  • Fundamentals | Malware Unicorn

    twitter: @malwareunicorn Company: Endgame, Inc. View My GitHub Profile Go Back to Reverse Engineering Malware 101 Section 1.2: Fundamentals Anatomy of a Windows PE C program Typical windows programs are in the Portable Executable (PE) Format. It’s portable because it contains information, resources, and references to dynamic-linked libraries (DLL) that allows windows to load and execute the machin

    enufranz
    enufranz 2017/11/04
    マルウェア PEB Windows
  • EXEファイルの内部構造(セクション)

    はじめに 前回で解説したPEヘッダに引き続き、今回もEXEファイル内のデータフォーマットの一部分「セクション」に関する話題で突き進みます。 それにしても、EXEファイルは調べ手に休ませる余地を与えません。PEヘッダという大きな構造体をクリアしたと思ったら、お次は複数個も存在するセクションが登場するのです。PEヘッダは大きくても1つしかなかったのでまだ良いのですが、セクションだけは更に細分化されたデータ構造を指定するため、少々厄介です。更に、セクションにはデータサイズ・RVA(イメージベースからの相対オフセット)など、生データに関するより詳細な情報が保持されます。 経験豊富な方はこのような文章を読んでお気づきかもしれませんが、薄い資料でセクションに関するリサーチを行うと、メモリダンプと睨めっこという状況に陥ります。筆者は数週間の間、セクション周りのメモリダンプと暮らしたことがあるので間違いあ

    EXEファイルの内部構造(セクション)
    enufranz
    enufranz 2017/11/02
    PE セクション
  • 意味の違いがわかる? タスクとプロセスとスレッド (1/4)

    「マルチタスク」という言葉を目にしたことのない人は、ASCII.jp読者にはまずいないだろう。また、最近ではあまり聞かないが、「タスク」と似たような用語に「ジョブ」がある。そのため、かつては「マルチジョブ」といった表現がされていたこともある。さらに似たような用語として「プロセス」もあり、やはり「マルチプロセス」という用語がある。また、マルチタスクと同じ意味で使われる言葉に、「マルチプログラミング」というものもある。 いずれも意味としては、「複数のアプリケーションを同時に実行できること」を示しているが、どうしてこんなに複数の用語があるのだろう? 理由のひとつは、かつてコンピューターメーカーがOSを作ってたときに、それぞれのメーカーで異なる用語を使っていたことにある。あるメーカーは、アプリケーションを実行することを「タスクを起動」と言い、別のメーカーでは「ジョブを起動」と呼んだわけだ。 今回は

    意味の違いがわかる? タスクとプロセスとスレッド (1/4)
    enufranz
    enufranz 2017/11/02
    イメージファイル
  • 第5回 ファイル・マッピング・オブジェクトによるプロセス間メモリー共有の仕組みを学ぶ

    大手コンピュータ・メーカー勤務。入社以来10数年をソフトウェア開発の現場で過ごし,その後ソフトウェア品質部へ異動。現場への技術支援や品質教育開発などを主に行っている。「APIで学ぶWindows徹底理解」(日経BP社)などを執筆。 前回は,仮想メモリーの基的な仕組みと,VirtualAlloc APIを使って,メモリーを動的に割り当てる方法について解説した。ページングを使用して,物理メモリーをプロセスの仮想メモリー空間にマップしている仕組みについては理解していただけたものと思う。今回は,この同じ仕組みを利用した,もう一つの重要な機能について説明する。それが「メモリー・マップト・ファイル」である。 ファイルを仮想メモリーにマッピングして読み書きする メモリー・マップト・ファイル(Memory-Mapped File)とは,名前からは想像しにくいかもしれないが,ディスク上のファイルのデータを

    第5回 ファイル・マッピング・オブジェクトによるプロセス間メモリー共有の仕組みを学ぶ
    enufranz
    enufranz 2017/10/27
    メモリマップドファイル
  • 1