JEB Plugin 開発チュートリアル 第3回

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "JEB Plugin 開発チュートリアル 第3回"

Transcription

1 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, o=japan Computer Emergency Response Team Coordination Center, cn=japan Computer Emergency Response Team Coordination Center 日付 : :35:06 +09'00' JEB Plugin 開発チュートリアル 第3回 バイトコードについての理解 JEB Pluginからバイトコードを扱う方法 を修得する 一般社団法人JPCERTコーディネーションセンター

2 目次 第 0 回 JEB とは? 第 1 回 JEB Plugin とは 1. JEB Plugin の使い方 2. JEB Plugin の構造 3. JEB の UI を利用するための API 4. View と Signature 第 2 回 DEX ファイルの構造を理解する 1. DEX ファイルの構造 2. jeb.api.dex 3. クロスリファレンス第 3 回バイトコードについての理解 1. CodeItem 第 4 回 JEB Plugin から AST を扱う 1

3 1. CODEITEM 2

4 DexCodeItem DEX の code_item にはメソッド定義が入っている JEB では DexCodeItem クラスが担当している DexCodeItem クラスで使用できる主なメソッド getdebuginfo() メソッドのデバッグ情報を取得 getexceptionitems() メソッドの Exception Item を取得 getinstructions() パースされたバイトコード命令列を取得 DexDalvikInstruction を取得できる Count 系 getinputargumentcount() getinstructioncount() getoutputargumentcount() getregistercount() 3

5 DexDalvikInstruction バイトコード命令が含まれている getmnemonic() オプコードを文字列化したもの getcode() バイナリデータ getoffset () method の先頭からのバイト数 getparameters() オペランドの取得 ( 配列 ) その他 getswitchdata() packed-switch, sparse-switch getarraydata() fill-array-data switch, array 系の命令の時に使われる 4

6 例題 1 メソッド内のオプコードを表示しよう DexCodeItem クラスと DexDalvikInstruction クラスの使い方を理解する 5

7 [ 例題 1] メソッド内のオプコードの表示 課題 Assembly View でフォーカスしているメソッドのオフセットとオプコードの一覧を表示する Plugin を作成する期待する出力結果 ヒント フォーカス位置の Signature の取得 View CodePosition getsignature() 命令列の取得 CodeItem.getInstructions() offset とオプコードの取得 DexDalvikInstruction.getOffset() DexDalvikInstruction.getMnemonic() 6

8 例題 1 の解答例 Opcode.py 7

9 [ 解説 ] メソッド内のオプコードの表示 view = self.ui.getview(view.type.assembly) sig = view.getcodeposition().getsignature() 1. md = self.dex.getmethoddata(sig) if md is None: print "method data is not found." return 2. code_item = md.getcodeitem() if code_item is None: print "code item is not found." return print "[%s] assembly" % sig 4. for inst in code_item.getinstructions(): print "%#08x: %s" % (inst.getoffset(), inst.getmnemonic())

10 [ 解説 ] メソッド内のオプコードの表示 1. フォーカス位置の Signature を取得する sig = view.getcodeposition().getsignature() 1. Signature を使用して method_data を取得する md = self.dex.getmethoddata(sig) 2. method_data から code_item を取得する code_item = md.getcodeitem() 3. code_item からバイトコード命令列を取得し for inst in code_item.getinstructions(): 4. offset とオプコードを出力する print "%#08x: %s" % (inst.getoffset(), inst.getmnemonic()) 9

11 DexDalvikInstruction.Parameter Dalvik インストラクションのパラメータを扱うクラス gettype() パラメータ種別を取得する TYPE_REG (0) register レジスタ番号 TYPE_IMM (1) immediate value 即値 TYPE_IDX (2) Index (method id, field id, class id ) TYPE_BRA (3) branch target goto 相対アドレス TYPE_RGR (4) register range レジスタの範囲 getvalue() パラメータ値を取得する 型と命令に合わせて変換が必要 そのままは使えない Index だったら どの List を参照する命令かによって参照するものが違ってくる特定の命令だけを参照する場合は 決め打ちで対応できる invoke-xxx 必ずメソッド ID の参照どの命令がどのような引数を取るかは仕様を参照 10

12 DexDalvikInstructions DexDalvikInstructions クラスの各メソッドの関連図 CodeItem getinstructions() 返り値 : OpCode (String) getmnemonic() offset 0x0000 0x0004 0x0006 0x000a getparameters() gettype() 返り値 : Int 返り値 : Long getvalue() 返り値 : DexDalvikInstruction.Parameter[] 返り値 : List<DexDalvikInstruction> 11

13 例題 2 メソッド内のメソッド呼出一覧を表示しよう DexDalvikInstruction クラスをもっと理解する 12

14 [ 例題 2] メソッド内のメソッド呼出一覧の表示 課題 Assembly View でフォーカスしているメソッドの命令の中でメソッド呼び出ししているもの一覧をコンソールに表示する期待する出力結果 ヒント CodeItem DexDalvikInstructions の取得 DexDalvikInstruction. getmnemonic() で命令を取得 invoke-xxx だったらメソッド呼び出し パラメータの取得 DexDalvikInstruction.getParameters() メソッド呼び出しの場合はパラメータ値はメソッド Index 対応するメソッド名を表示する Dex.getMethodSignatures() 13

15 例題 2 の解答例 InvokedMethod.py 14

16 [ 解説 ] メソッド内のメソッド呼出一覧の表示 view = self.ui.getview(view.type.assembly) sig = view.getcodeposition().getsignature() md = self.dex.getmethoddata(sig) if md is None: print "method data is not found." return 1. code_item = md.getcodeitem() if code_item is None: print "code item is not found." return 2. print "[%s]" % sig print "invoked method" method_ids = [] for inst in code_item.getinstructions(): if inst.getmnemonic().startswith('invoke-'): 3. mid = inst.getparameters()[0].getvalue() if mid not in method_ids: method_ids.append(mid) msigs = self.dex.getmethodsignatures(false) for mname in map(lambda x: msigs[x], method_ids): print " t" + mname

17 [ 解説 ] メソッド内のメソッド呼出一覧の表示 1. フォーカス位置の Signature を取得し method_data を取得する 2. method_data から code_item を取得する 3. code_item からバイトコード命令列を取得する 4. DexDalvikInstruction.getMnemonic() でバイトコード命令を取得する バイトコード命令が invoke- から始まるものであれば メソッド呼び出しなのでその値を取得する メソッド呼び出しの時のパラメータ値はメソッド Index になる 5. Dex.getMethodSignatures() で Signature 一覧を取得し メソッド Index に対応するメソッド名 (Signature) を表示する 16

18 例題 3 メソッド内のオプコードを表示しようその 2 DexDalvikInstruction.getParameters() 17

19 [ 例題 3] メソッド内のオプコードの表示その 2 課題 演習 2 で作成したメソッドのオフセットとオプコードの一覧を表示する Plugin を次のとおり拡張する全てのオペランドの種別と値の表示を追加する種別は Long から文字列に変換する 文字列 REG, IMM, IDX, BRA, RGR 期待する出力結果 ヒント オペランド ( パラメータ ) の取得 DexDalvikInstruction.getParameters() 種別 : DexDalvikInstruction.Parameter.getType() 値 : DexDalvikInstruction.Parameter.getValue() 18

20 例題 3 の解答例 Opcode2.py 19

21 [ 解説 ] メソッド内のオプコードの表示その 2 param_type = [ 'REG', 'IMM', 'IDX', 'BRA', 'RGR', ] 種別を配列に入れておく for inst in code_item.getinstructions(): print "%#08x: %s params:%d" % (inst.getoffset(), inst.getmnemonic(), len(inst.getparameters())) for p in inst.getparameters(): print " t%s: %d(%#x)" % (param_type[p.gettype()], p.getvalue(), p.getvalue()) gettype() の返り値を添字として指定すれば 目的の文字列を取得できる 20

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性 Japan Computer Emergency Response Team Coordination Center 電子署名者 Japan Computer Emergency Response Team Coordination Center DN c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

MySQL Connector/J における SQL インジェクションの脆弱性

MySQL Connector/J における SQL インジェクションの脆弱性 Japan Computer Emergency Response Team Coordination Center 電子署名者 Japan Computer Emergency Response Team Coordination Center DN c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

Blojsom におけるクロスサイトスクリプティングの脆弱性

Blojsom におけるクロスサイトスクリプティングの脆弱性 Japan Computer Emergency Response Team Coordination Center 電子署名者 Japan Computer Emergency Response Team Coordination Center DN c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes による Embedded Linux kernel 動的解析手法 Yoichi Yuasa OSAKA NDS Embedded Linux Cross Forum #3 自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes とは Linux kernel デバッグ機能の一つ

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

Programming-C-3.key

Programming-C-3.key プログラミングC 第3回 Stringクラス (クラスライブラリの使い方) インスタン スの配列 白石路雄 Player public class Player{ private String name; private int hp; private Sword sword; name hp Player 2 public class Player{...

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Taro-cshプログラミングの応用.jt

Taro-cshプログラミングの応用.jt c s h プログラミングの応用 0. 目次 1. 課題 課題 1 : 与えられたパス名からディレクトリ名とファイル名を分離し出力せよ 課題 2 : オプション (-in) の後に続く文字列とオプション (-out) の後に続く文字列をそれぞれまとめる オプションの指定がなく文字列から始まるとき -in を仮定する 課題 3 : 複数のファイルから与えられたパターンとマッチする文字列を含む行を取り出せ

More information

- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容

More information

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

TenArtni Ninja-VA

TenArtni Ninja-VA Ninja-VA with WebReportCafe の巻 サイオステクノロジー株式会社 Ninja-VA with WebReportCafe 概要 このドキュメントでは Ninja-VAの姉妹製品である 帳票作成ソフト WebReportCafe Engine との連携方法についてご説明します WebReportCafe Engine は帳票を出力するためのライブラリ製品です WebReportCafe

More information

リンク バンドル コマンド

リンク バンドル コマンド リンク バンドル コマンド リンク バンドルは 1 つ以上のポートを集約したグループで 1 つのリンクとして扱われます この章では リンク バンドルで QoS に使用するコマンドについて説明します リンク バンド ル 関連する概念 および設定作業の詳細については Cisco ASR 9000 Series Aggregation Services Router Modular Quality of

More information

eコミマップ_フィルタリング仕様書

eコミマップ_フィルタリング仕様書 e コミマップ オープンデータ利用者向け ドキュメント Ver. 1.0.0 2014/02/05 国立研究開発法人防災科学技術研究所 変更履歴 Version 変更日付 変更内容 0.1 2013/09/04 新規作成 1.0 2014/01/29 e コミマップ 2.3.0 リリースに合せて調整 目次 1 はじめに... 1 2 Web API によるデータ配信... 2 2.1 Web Map

More information

CodeGear Developer Camp

CodeGear Developer Camp T4 PHP チュートリアルセッション はじめての Delphi for PHP CodeGear エヴァンジェリスト高橋智宏 1 アジェンダ ハンズオントレーニングに必要なもの Delphi for PHP V2.0 の環境設定 VCL for PHP の基本的な動作を確認 フォトギャラリの製作 マスターページ 画像アップロード カスタムコンポーネントの導入 など 2 ハンズオントレーニングに必要なもの

More information

Microsoft Word - Cプログラミング演習(12)

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 基礎演習 3 C 言語の基礎 (5) 第 05 回 (20 年 07 月 07 日 ) メモリとポインタの概念 ビットとバイト 計算機内部では データは2 進数で保存している 計算機は メモリにデータを蓄えている bit 1bit 0 もしくは 1 のどちらかを保存 byte 1byte 1bitが8つ集まっている byte が メモリの基本単位として使用される メモリとアドレス メモリは 1byte

More information

やってみようINFINITY-写真管理 編-

やってみようINFINITY-写真管理 編- 目次 やってみよう for Wingneo INFINITY やってみよう for Wingneo INFINITY... 1 目次... 1 システムの起動... 1 写真管理に登録する写真を準備する... 1 写真管理 ( 電子納品 ) の操作方法... 2 写真整理... 2 成果区分の設定... 4 成果管理から電納編集ツールへの操作方法... 5 電納編集ツール ( 写真管理 ) の操作方法

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

スライド 1

スライド 1 Internet Explorer の設定マニュアル このマニュアルは 長崎市の入札関連システム ( ) をご利用頂くために必要なInternet Explorerの設定手順を説明します お使いのパソコンの環境 ( ブラウザのバージョンなど ) に応じて必要な設定を行ってください なお お使いのブラウザのバージョンによっては掲載する画面と異なる場合がございます あらかじめご了承ください 入札関連システム

More information

Microsoft PowerPoint - 14th.ppt [互換モード]

Microsoft PowerPoint - 14th.ppt [互換モード] 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 14 回 2011 年 1 月 20 日 1 今日のテーマ ファイル入出力 ですが, キーボード入力などもおさらいします 2 標準入力 キーボードで入力 : 標準入力という例 )scanf( %d,&i) 前回までの講義でファイルからデータを読み込む場合に使用した関数 : fscanf 例 )fscanf(fin,

More information

001 No.3/12 1 1 2 3 4 5 6 4 8 13 27 33 39 001 No.3/12 4 001 No.3/12 5 001 No.3/12 6 001 No.3/12 7 001 8 No.3/12 001 No.3/12 9 001 10 No.3/12 001 No.3/12 11 Index 1 2 3 14 18 21 001 No.3/12 14 001 No.3/12

More information

2004

2004 2008 3 20 400 1 1,222 7 1 2 3 55.8 54.8 3 35.8 6 64.0 50.5 93.5 1 1,222 1 1,428 1 1,077 6 64.0 52.5 80.5 56.6 81.5 30.2 1 2 3 7 70.5 1 65.6 2 61.3 3 51.1 1 54.0 2 49.8 3 32.0 68.8 37.0 34.3 2008 3 2 93.5

More information

Section1_入力用テンプレートの作成

Section1_入力用テンプレートの作成 入力用テンプレートの作成 1 Excel には 効率よく かつ正確にデータを入力するための機能が用意されています このセクションでは ユーザー設定リストや入力規則 関数を利用した入力用テンプレートの作成やワークシート操作について学習します STEP 1 ユーザー設定リスト 支店名や商品名など 頻繁に利用するユーザー独自の連続データがある場合には ユーザー設定リスト に登録しておけば オートフィル機能で入力することができ便利です

More information

SQL インジェクションの脆弱性

SQL インジェクションの脆弱性 別紙 脆弱性体験学習ツール AppGoat ハンズオンセミナー 演習解説 SQL インジェクションの脆弱性 [ 演習 ] AppGoat を用いた疑似攻撃体験 SQL インジェクションのテーマ 不正なログイン ( 文字列リテラル ) 画面上に Congratulations!! と表示されると演習クリアです 3 脆弱性のある箇所を特定する ログイン ID またはパスワードにシングルクォート ' を入力し

More information

Microsoft Word - Cプログラミング演習(11)

Microsoft Word - Cプログラミング演習(11) 第 11 回 (7/2) 4. いくつかのトピック (1) ビットごとの演算子 C 言語には, 次のようなビット単位で演算を行う特別な演算子が用意されている & ビットごとの AND ビットごとの OR ^ ビットごとの XOR( 排他的論理和 ) ~ 1 の補数これらの演算子は文字型と整数型で機能し, 浮動小数点数型では使用できない AND, OR, XOR は, それぞれのオペランドの対応するビットを比較して結果を返す

More information

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D GS1-128 の描画 DLL について (ver. 2.2) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる

More information

5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1

5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1 5. HP( ホームページ ) アカウント情報 ホームページアカウント情報では ホームページ URL の取得やパスワードの変更 ホームページ容量の追加 authid の設定など ホームページ URL に関する管理が行えます HP アカウント情報 にアクセスするには 世帯情報参照 画面で HP アカウント情報 のリンクをクリックします 新しくホームページ URL を取得する場合は 41 ページへ FTP

More information

HTML5 Security & Headers- X-Crawling-Response-Header-

HTML5 Security & Headers- X-Crawling-Response-Header- Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 泡立ち法とその実装 計算機アルゴリズム特論 :2017 年度只木進一 目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 Comparable インターフェイ ス クラスインスタンスが比較可能であることを示す Int compareto() メソッドを実装 Integer Double String などには実装済み public

More information

1'1153 1 ド Ui:;~

1'1153 1 ド Ui:;~ 1'1153 1 ド Ui:;~ ~f ~f ~f 17~ 3.~1

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

電子メールソフトのセキュリティ設定について 全編

電子メールソフトのセキュリティ設定について 全編 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

1 発病のとき

1 発病のとき A A 1944 19 60 A 1 A 20 40 2 A 4 A A 23 6 A A 13 10 100 2 2 360 A 19 2 5 A A A A A TS TS A A A 194823 6 A A 23 A 361 A 3 2 4 2 16 9 A 7 18 A A 16 4 16 3 362 A A 6 A 6 4 A A 363 A 1 A A 1 A A 364 A 1 A

More information

nendSDK android 設定ガイド

nendSDK android 設定ガイド nendsdk AdMob メディエーション ver 1.2.0 設定ガイド 2014 年 09 月 16 日 1 更新履歴 バージョン 1.2.0 更新内容 2014/09/16 新規作成 2 目次 AdMob メディエーション設定方法... 4 1. nend メディアパートナーに会員登録している...4 2. Admob に会員登録している... 4 3. 必要なもの... 4 4. サポートしている広告の種類...

More information

- 1 - - 0.5%5 10 10 5 10 1 5 1

- 1 - - 0.5%5 10 10 5 10 1 5 1 - - - 1 - - 0.5%5 10 10 5 10 1 5 1 - 2 - - - - A B A A A B A B B A - 3 - - 100 100 100 - A) ( ) B) A) A B A B 110 A B 13 - 4 - A) 36 - - - 5 - - 1 - 6-1 - 7 - - 8 - Q.15 0% 10% 20% 30% 40% 50% 60% 70%

More information

スライド 1

スライド 1 1 新機能追加 リリース :2014/7/13 1.1 Salesforce1 アプリケーション開発対応既存のブラウザ画面 ( フルサイト ) と同様に Salesforce1 アプリケーション画面も開発できるようになりました Salesforce 社と同様 サポート対応範囲は各種デバイスのアプリ ブラウザになります PC デバイス アプリ ブラウザ ブラウザ (Chrome ) モバイル ipad

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ST&E API 導入手順書 ver1.0.1 Save Time & Effort! -1- - 目次 - P3 前提 P4 Step1 P5 Step2 P6 Step3 P7. P8 導入の前提条件導入対象のHTMLにリンクを設定導入対象のHTMLにhidden 項目を設定 Step1で命名したjsファイルとその中身を作成アップロードお問い合わせ -2- 前提条件 1. ST&E APIのお申込みがしていること

More information

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist Copyright 2014 NTT DATA Corporation 一括請求 Assist のご案内 株式会社 NTT データ株式会社 NTT データフロンティア Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist

More information

EPSON PX-A720 操作ガイド

EPSON PX-A720 操作ガイド o n h l m l m l m l m m o h n h h h h h h h h h h h h h h h n h h h h o h o o o h o o h h h h n h n D A h B C n E F h G n h h h h o n o h h h n h h A h h B h C n D A h B h C E h E F D n A B A h C D

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

今までの復習 プログラムで最低限必要なもの 入力 ( キーボードから ファイルから ) 出力 ( 画面へ ファイルへ ) 条件分岐 : 条件の成立 不成立により 異なる動作をする 繰り返し : 一定の回数の繰返し 条件成立の間の繰返し 関数の定義 関数の呼び出し C ではそれ以外に ポインタ データ

今までの復習 プログラムで最低限必要なもの 入力 ( キーボードから ファイルから ) 出力 ( 画面へ ファイルへ ) 条件分岐 : 条件の成立 不成立により 異なる動作をする 繰り返し : 一定の回数の繰返し 条件成立の間の繰返し 関数の定義 関数の呼び出し C ではそれ以外に ポインタ データ C プログラミング演習 1( 再 ) 7 講義では C プログラミングの基本を学び演習では 実践的なプログラミングを通して学ぶ 今までの復習 プログラムで最低限必要なもの 入力 ( キーボードから ファイルから ) 出力 ( 画面へ ファイルへ ) 条件分岐 : 条件の成立 不成立により 異なる動作をする 繰り返し : 一定の回数の繰返し 条件成立の間の繰返し 関数の定義 関数の呼び出し C ではそれ以外に

More information

Microsoft PowerPoint - ep_cpp04.ppt

Microsoft PowerPoint - ep_cpp04.ppt C++ による 画像処理プログラミング - 第 4 回 - 情報科学研究科視覚情報メディア講座 佐藤智和 tomoka-s@is.naist.jp version 1.0 今回説明すること 前回の課題の解答 バグを防ぐためのC++ の記述方法 const メモリリークのチェック (new, delete, malloc, free) 課題 1 の解答例 unsigned char getrgbintensity::crgbimage(

More information

22nd Embarcadero Developer Camp G6

22nd Embarcadero Developer Camp G6 17 Th Developer Camp ライトニングトーク WMI を もっと使おう! 株式会社シリアルゲームズ 取締役細川淳 1 WMI? WMI とは Windows Management Instrumentation の略 Windows Driver Model の拡張の一種 Windows が管理する情報へのインターフェース 例えば CPU の情報であったり 物理ハードディスクの情報などなどが取れます

More information

Apache Commons の HttpClient におけるSSLサーバ証明書検証不備

Apache Commons の HttpClient におけるSSLサーバ証明書検証不備 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

MMUなしプロセッサ用Linuxの共有ライブラリ機構

MMUなしプロセッサ用Linuxの共有ライブラリ機構 MMU なしプロセッサ用 Linux の共有ライブラリ機構 大谷浩司 高岡正 近藤政雄 臼田尚志株式会社アックス はじめに μclinux には 仮想メモリ機構がないので共有ライブラリ機構が使えない でもメモリ消費抑制 ストレージ消費抑制 保守性の向上のためには 欲しい 幾つかの実装があるが CPU ライセンス 機能の制限のためにそのまま利用できない RidgeRun 社 (Cadenux 社 )

More information

7 PIN 番号入力後 以下のアプレットエラーが表示されます 署名検証が失敗しました 署名検証が行なわれませんでした 8 PIN 番号入力後 以下のアプレットエラーが表示されます APPLET-ERROR APPLET-ERROR APPL

7 PIN 番号入力後 以下のアプレットエラーが表示されます 署名検証が失敗しました 署名検証が行なわれませんでした 8 PIN 番号入力後 以下のアプレットエラーが表示されます APPLET-ERROR APPLET-ERROR APPL 1 電子入札システムは何分でタイムアウトになりますか? 最後にサーバーと通信してから 10 分でタイムアウトになります 2 作業中に稼働時間を過ぎた場合はどうなりますか? システム稼動時間を過ぎると予告なくシステムを停止する場合があります 時間前に作業を完了するようにして下さい 3 画面上部中央に日付 時間が表示されない ( 日付 時間の表示部分が 読込み中のまま 灰色のまま X( 赤色 ) など

More information

2

2 User's Manual 2 3 4 1 2 5 3 6 7 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 4 1 2 3 9 4 5 10 5 1 2 3 4 11 1 2 12 13 14 1 2 3 15 4 5 16 一括で設定を変更する 新規登録 を繰り返し 機材一覧画面で複数台の機材を登録できます 登録した機材のうち任意の複数台への設定を一 括で行うことができます 1

More information

踏み台にされるWebサイト~いわゆるGumblarの攻撃手法の分析調査~

踏み台にされるWebサイト~いわゆるGumblarの攻撃手法の分析調査~ Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer

More information

Enterprise Architect 12.1 機能ガイド

Enterprise Architect 12.1 機能ガイド Enterprise Architect 12.1 feature guide by SparxSystems Japan Enterprise Architect 12.1 機能ガイド (2015/10/29 最終更新 ) Copyright (c) 2015 SparxSystems Japan 1 このドキュメントでは Enterprise Architect 12.1 で追加 改善される予定の機能についてご紹介します

More information

Microsoft PowerPoint - 06.pptx

Microsoft PowerPoint - 06.pptx アルゴリズムとデータ構造第 6 回 : 探索問題に対応するデータ構造 (2) 担当 : 上原隆平 (uehara) 2015/04/22 内容 スタック (stack): 最後に追加されたデータが最初に取り出される 待ち行列 / キュー (queue): 最初に追加されたデータが最初に取り出される ヒープ (heap): 蓄えられたデータのうち小さいものから順に取り出される 配列による実装 連結リストによる実装

More information

ことばを覚える

ことばを覚える 業務部門の担当者による担当者のための業務アプリケーションの作り方 ( その 4) 現在在庫の適正化のための 在庫管理ツールの構築 コンテキサー操作演習 20121113 コンテキサーチュートリアル ( バージョン 2.2 用 ) コンテキサーのバージョンは 2.2.12 以降で行ってください 目次 ステップ1 在庫棚卸パネルの作成 --- 9 ステップ2 在庫品目パネルの作成 --- 17 ステップ3

More information

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ オンラインヘルプ :SAP ソフトウェア変更登録 (SSCR) キーの登録 目次 概要... 2 参考リンク... 3 アプリケーションの起動... 4 アプリケーションとメインコントロールの概要... 5 キーリストのカスタマイズ... 7 リストのフィルタリング... 7 表のレイアウトのカスタマイズ... 8 新しい開発者の登録... 10 新しいオブジェクトの登録... 12 特定のインストレーションから別のインストレーションに個々の

More information

Atlassian サポートツールの使い方 はじめに 弊社ヘルプデスクにお問い合わせいただいたときに ログファイルをお送りくださいとお願いさせていただくことがあります Atlassian 製品には ログファイルをはじめサポートに必要な情報を収集するための Atlassian サポートツールが用意されています これを利用すると必要な情報を簡単に用意できます ここでは 製品別に Atlassian サポートツールの使い方をご説明します

More information

レセプト電算ファイルのCD書き込み手順書

レセプト電算ファイルのCD書き込み手順書 日医標準レセプトソフト レセプト電算ファイルの CD 書き込み手順書 日本医師会総合政策機構 平成 22 年 11 月 22 日 第二版 1 目次 1 はじめに... 3 1.1 対象とする環境... 3 1.2 準備するもの... 3 1.3 凡例... 4 2 Debian GNU/Linux 4.0 Etch での CD-R 作成... 5 2.1 CD 作成ツール brasero のインストール...

More information

起動する 起動方法は ご使用の OS により異なります 監視対象となるフォルダーの中にファイルが多数ある場合は 起動に時間がかかります 起動完了までお待ちください (6000 ファイルで約 4 分 ) [ スタート ] メニュー [( すべての ) プログラム ] [I-O DATA] [Sight

起動する 起動方法は ご使用の OS により異なります 監視対象となるフォルダーの中にファイルが多数ある場合は 起動に時間がかかります 起動完了までお待ちください (6000 ファイルで約 4 分 ) [ スタート ] メニュー [( すべての ) プログラム ] [I-O DATA] [Sight 共有フォルダーの更新を監視する フォルダー監視ツール Sight On Sight On は 共有フォルダーを監視するツールです 例えば 複数のパソコンで共通の Excel を作業中に 1 人が更新した場合 他のパソコ ンでポップアップでお知らせするなどの使い方ができます 対応 LAN DISK HDL-H シリーズ HDL-XR シリーズ HDL-XR/2D シリーズ HDL-XR2U シリーズ

More information

すだちくんメール法人(所属設定職員管理)_docx

すだちくんメール法人(所属設定職員管理)_docx すだちくんメール 法 管理マニュアル 所属設定 職員管理所属設定 職員管理 第 1 版 作成日 2015 年 12 月 7 日 最終更新日 2015 年 12 月 7 日 目次 概要... 2 法人管理画面... 3 ログイン... 3 所属名称管理... 5 所属 (1 階層目 ) の新規登録... 5 所属 (2 階層目以降 ) の新規登録... 6 CSV ファイルを使用した所属の一括登録...

More information

Microsoft PowerPoint - 12Chap16.ppt

Microsoft PowerPoint - 12Chap16.ppt 今日のポイント 第 16 章構造体 構造体の定義と宣言のしかた タグとは何か メンバーとは何か 構造体変数の宣言と理解 メンバーの理解と使い方 構造体配列とその使い方 Structures 16.1 構造体の定義 セミコロンを忘れないこと! タグ名 struct point ; メンバーの宣言 x 座標 y 座標 左の表記で構造体の構成を決めている. この例では 2 つの double 型をパックした詰め合わせセットを定義した.

More information

新システム移行マニュアル

新システム移行マニュアル テレビ松本インターネット 新システム移行マニュアル 目次 1 月 29 日までに行っていただく事項 1. メール転送設定方法について 2 2.WEB ページのメールフォームの確認について 3.WEB ページのアクセスカウンタの確認ついて 2 月 5 日以降に行っていただく事項 4 6 4. 移行対象メールの移動について 7 5. アドレス帳の確認について 8 6 ユーザー専用ページのログイン方法について

More information

また 初期化について 以下のサンプルコードのように指定すれば 定義時に値を代入できます * オマケ配列は同名で複数個の箱を用意出来ます 同名ではありますが それぞれは別々の個体であるわけです また この複数個の変数は メモリ上に連続で確保されます 2. 文字と文字列 C 言語では文字と文字列は異なる

また 初期化について 以下のサンプルコードのように指定すれば 定義時に値を代入できます * オマケ配列は同名で複数個の箱を用意出来ます 同名ではありますが それぞれは別々の個体であるわけです また この複数個の変数は メモリ上に連続で確保されます 2. 文字と文字列 C 言語では文字と文字列は異なる 第 4 回 C 言語講座 1. 配列についていままで 変数は1 個ずつ指定してました が 同名で たくさん必要なときもあるかもしれませんね 例えば 複数人の点数だけを格納するときとか このときは 配列が便利なわけです それぞれを添字によって区別しながら扱えるという便利なものです というわけで サンプルコード %.2lf で小数点以下 2 桁表示を示しています定義時は個数を指定します が その後は []

More information

3. ユーザー情報の登録 必要事項をご入力の上 申込み ボタンを押してください ご利用される方のお名前を入力してください 個人名以外の名称は サポートセンターからの ご連絡の際に連絡がうまくとれないなど不都合が 生じる恐れがありますので ご遠慮いただいています 複数のメールアドレスを登録することはで

3. ユーザー情報の登録 必要事項をご入力の上 申込み ボタンを押してください ご利用される方のお名前を入力してください 個人名以外の名称は サポートセンターからの ご連絡の際に連絡がうまくとれないなど不都合が 生じる恐れがありますので ご遠慮いただいています 複数のメールアドレスを登録することはで Ashisuto Web Support Center AWSC ユーザーガイド 1.アカウント登録手順... 1 2.ログイン手順... 5 3.アカウント登録内容の変更手順... 6 4.問い合わせ登録手順... 10 5.問い合わせ更新手順... 12 6.ファイルアップロード手順... 16 7.パスワードがご不明の場合... 21 [ 1 ] アカウント登録手順 1. アカウント登録ページへのアクセス

More information

操作説明書(抜粋)_2013_03

操作説明書(抜粋)_2013_03 4.1.1 マルチモニタリング画面 4 DG シリーズネットワークカメラおよび一部の BB シリーズネットワークカメラを使用する場合は 4.1 仕様の違いについて DG シリーズネットワークカメラおよび一部の BB シリーズネットワークカメラを本プログラムに登録して使用する場合は 本説明書に記載の内容と一部仕様が異なります 機能制限のあるネットワークカメラについては 4 ページを参照してください ネットワークビデオエンコーダー

More information

XML基礎

XML基礎 基礎から学ぶ XML 特集 - 基本の基本! XML と文法 - インフォテリア株式会社 XML とは XML 1.0 W3Cの勧告 XML 1.1 XML 文書 HTMLとXML XML(Extensible Markup Language) 1.0 拡張可能なマークアップ言語 1998 年にW3Cから勧告された XML 1.0 ベンダーやプラットフォームから独立したインターネット標準 http://www.w3.org/tr/xml/

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション OCN でんわアプリ操作マニュアル (ios) 0..4 0.. . アプリインストール App Store からアプリをインストールします. アプリのホーム画面から の App Store を選択し App Store を開きます.App Store の の検索ボタンをタップし OCN でんわ と入力します 4. 検索結果から の OCN でんわ を選択し OCN でんわ アプリのページを開きます

More information

使用説明書(Macintosh)

使用説明書(Macintosh) 4 5 CANON INC. 00 CT-785DPPMJ-000 4 5 4 5 4 5 4 5 4 5 4 5 4 4 5 4 5 4 5 はじめに 特定の箇所を拡大して見る 編集画面で画像を拡大して見る 拡大したい箇所をダブルクリックする やりたいこと 目次 ダブルクリック 4 5 基本操作 ダブルクリック 応用操作 編集画面が表示されます ダブルクリックした箇所を中心に 00 ピクセル等倍

More information