Amazon.co.jp

GAMES25
SSG uploader
GAMES24
FC2ブログ


games24con@yahoo.co.jp
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Windows10 1803
16299.248
Ubuntu 18.04 LTS

インストール解説
Ubuntu環境でdevkitpro-pacman.debをインストール
/etc/pacman.conf を作成し、サーバーを入力する
pacman -S switch-dev を入力
エンターを押しYと入力
switch開発環境が構築される
/opt/devkitpro/ にフォルダが作成される
環境パスを通す
DEVKITPROに/opt/devkitproを登録
git clone でswitch の最新のライブラリ libnx をダウンロードする
Makefileを編集してmakeする

インストール手順
1.
windows10 で Ubuntu環境構築

Ubuntu環境構築 のためにWSLを有効にする。
スタートボタンを右クリック
Windows PowerShell(管理者)
をクリック

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

と入力しエンターキーを押す。
Windows10を再起動

Microsoft Store を開く
検索に ubuntu と入力 Ubuntu 18.04 をインストールする
インストール完了後
Windowsキー+R を押す
ubuntu1804
と入力しエンターキーを押す。
ユーザー名とパスワードを作成する

2.
Switch 開発環境構築

ubuntu で以下のコマンドを入力
最初のsudo 実行時にパスワードを求められるのでパスワードを入力する

sudo su
curl -L https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb -o devkitpro-pacman.deb
dpkg -i devkitpro-pacman.deb
rm devkitpro-pacman.deb
echo "PATH="$PATH:/opt/devkitpro/pacman/bin"" >> ~/.bashrc
echo "export DEVKITPRO=/opt/devkitpro" >> ~/.bashrc
source ~/.bashrc
pacman-key --init

vim /etc/pacman.conf

[dkp-libs]
Server = http://downloads.devkitpro.org/packages
[dkp-linux]
Server = http://downloads.devkitpro.org/packages/linux

pacman -Syu
pacman-key --recv F7FD5492264BB9D0
pacman-key --lsign F7FD5492264BB9D0

ln -s /proc/self/mounts /etc/mtab
pacman -U https://downloads.devkitpro.org/devkitpro-keyring-r1.787e015-2-any.pkg.tar.xz
pacman -S switch-dev

apt install make

git clone https://github.com/switchbrew/libnx.git
cd libnx
make
cp -r nx/lib /opt/devkitpro/libnx/
cp -r nx/include /opt/devkitpro/libnx/
cd ..
rm -r libnx

git clone https://github.com/Atmosphere-NX/Atmosphere.git
cd Atmosphere/stratosphere/libstratosphere/
make
cp -r lib /opt/devkitpro/libnx/
cp -r include /opt/devkitpro/libnx/


Ubuntuのデータのパス
%localappdata%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows....\LocalState\rootfs\home\

Windowsの環境変数をUbuntuに引き継ぐ
WindouwsでWSLENVという環境変数を作成し値をセットする
引き継ぐ環境変数を:で区切る
USERPROFILEとHOMEPATHを引き継ぐ例

システム環境変数に追加または上書き 管理者権限が必要
setx WSLENV USERPROFILE/p:HOMEPATH/p -m

ユーザー環境変数に追加または上書き
setx WSLENV USERPROFILE/p:HOMEPATH/p

Ubuntuで実行するとWindowsのホームディレクトリに飛ぶ
cd $USERPROFILE


setx ds D:\source
setx WSLENV USERPROFILE/p:HOMEPATH/p:ds/p

svc.s

SVC_BEGIN svcSetHardwareBreakPoint
svc 0x6C
ret
SVC_END

svc.h

///@name ( ͡° ͜ʖ ͡°) tuika
///@{

/**
* @brief
* @param
* @return Return value
* @note Syscall number 0x6C.
* @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.
*/
Result svcSetHardwareBreakPoint(u32 hardware_breakpoint_id,u64 flags,u64 value);

///@}


サービス呼び出し
http://switchbrew.org/index.php?title=Services_API

Loader services の UnregisterTitle を呼び出す

Service srv;
//r = smGetService(&srv, "hid:sys");
Result r = smGetService(&srv, "ldr:pm");//サービス取得

IpcCommand c;//
ipcInitialize(&c);//初期化

struct as{
u64 magic;
u64 cmd_id;
u64 index;
} *raw;//定義

raw = (as*)ipcPrepareHeader(&c, sizeof(*raw));//raw 取得

//raw 編集
raw->magic = SFCI_MAGIC;
raw->cmd_id = 3;//UnregisterTitle
raw->index = 0x12345678;

r = serviceIpcDispatch(&srv);//送る


//シャットダウン
Service srv;
smGetService(&srv, "bpc");//サービス取得

IpcCommand c;//
ipcInitialize(&c);//初期化

struct as {
u64 magic;
u64 cmd_id;
} *raw;//定義

raw = (as*)ipcPrepareHeader(&c, sizeof(*raw));//raw 取得
raw->magic = SFCI_MAGIC;
raw->cmd_id = 0;//ShutdownSystem
serviceIpcDispatch(&srv);//シャットダウン開始



ida pro 7
https://github.com/reswitched/loaders
ダウンロード
requirements.txt を c:\python27-x64\ にコピー
nxo64.py を C:\Program Files\IDA 7.0\loaders\ にコピー

cd c:\python27-x64
python -m pip install -r requirements.txt

idapro で mainを開く


逆アセンブル armv8
sudo apt install binutils-aarch64-linux-gnu
aarch64-linux-gnu-objdump -D -b binary -m aarch64 01005D100807A000_code.bin



















Windows10 1709
16299.248
Ubuntu 16.04.3 LTS

インストール解説
Ubuntu環境でdevkitA64update.plをDLして実行すると
/opt/ に devkitpro フォルダが作成される
環境パスを通す
DEVKITPROに/opt/devkitproを登録

インストール手順
1.
windows10 で Ubuntu環境構築

Ubuntu環境構築 のためにWSLを有効にする。
スタートボタンを右クリック
Windows PowerShell(管理者)
をクリック

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

と入力しエンターキーを押す。
Windows10を再起動

Microsoft Store を開く
検索に ubuntu と入力
Ubuntu をインストールする
インストール完了後
Windowsキー+R を押す
ubuntu
と入力しエンターキーを押す。
ユーザー名とパスワードを作成する

2.
Switch 開発環境構築

ubuntu で以下のコマンドを入力
最初のsudo 実行時にパスワードを求められるのでパスワードを入力する

sudo apt install make
mkdir ~/tmpf
cd ~/tmpf
sudo curl -L https://raw.githubusercontent.com/devkitPro/installer/master/perl/devkitA64update.pl -o devkitA64update.pl
sudo chmod +x ./devkitA64update.pl
sudo ./devkitA64update.pl
cd ..
sudo rm -r ~/tmpf
echo "export DEVKITPRO=/opt/devkitpro" >> ~/.bashrc
source ~/.bashrc

3.
プロジェクト作成

ubuntu上で開発するなら
mkdir ~/projects
cp -r /opt/devkitpro/examples/switch/templates/application ~/projects/test1

Windows上でビジュアルスタジオなどで開発するなら
cp -r /opt/devkitPro/examples/switch/templates/application /mnt/c/Users/ユーザー名に書き換える/Documents/test1

4.
ソースコード編集

ubuntu上で開発するなら
cd ~/projects/test1/source/
vim main.c

Windows上でvisual studioなどで開発するなら
c:\Users\ユーザー名に書き換える\Documents\test1\application\source\main.c
をエディタで編集する

5.
ビルド

Ubuntuで編集した場合
cd ~/projects/test1
make

Windows上で編集したのなら
cd /mnt/c/Users/ユーザー名に書き換える/Documents/test1/
make

test1フォルダに
test1.nroが作成される

6.
Switch 実機で動作確認

MicroSDカードのswitch/に
test1.nro
を配置する

Windows側からUbuntuのファイルを編集するなら下のパスを見ればいい
※Windows側からUbuntuのファイルを削除するとUbuntu側のファイル構成がバグるのでしてはいけない。
C:\Users\ユーザー名に書き換える\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\ubuntu側ユーザー名\

ファイル名を main.c から main.cpp
に変更して make すると c++ でコンパイルできる

Ubuntuコマンド
Ubuntuバージョン確認
cat /etc/issue
ファイル削除
rm temp.txt
ディレクトリ削除
rm -rf temp/
バイナリ表示16進 1byte毎に区切る
od -tx1z -w16 -Ax -v file.bin
ターミナル入力履歴削除 一時的
history -c

ターミナル入力履歴削除
cd ~
vi .bash_history

ddで削除
:wqで保存

ftp ログイン処理省略
echo machine wwwサーバ名.jp >>~/.netrc
echo login ユーザ名 >>~/.netrc
echo password パスワード >>~/.netrc
touch ~/.netrc
chmod 600 ~/.netrc

ftp wwwサーバ名.jp

上書き保存
wget -r http://www13.plala.or.jp/baharasan/fusee.bin

Windowsの環境変数をUbuntuに引き継ぐ
WindouwsでWSLENVという環境変数を作成し値をセットする
引き継ぐ環境変数を:で区切る
USERPROFILEとHOMEPATHを引き継ぐ例

システム環境変数に追加または上書き 管理者権限が必要
setx WSLENV USERPROFILE/p:HOMEPATH/p -m

ユーザー環境変数に追加または上書き
setx WSLENV USERPROFILE/p:HOMEPATH/p

Ubuntuで実行するとWindowsのホームディレクトリに飛ぶ
cd $USERPROFILE

スポンサーサイト

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