Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
11년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
2 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
95 행
복사
2 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
95 행
복사
#include <3ds.h>
#include <3ds.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
#include <string.h>
#include <string.h>
#include <malloc.h>
#include <malloc.h>
#include "brahma.h"
#include "brahma.h"
#include "hid.h"
#include "hid.h"
#include "menus.h"
#include "menus.h"
#include "sochlp.h"
#include "sochlp.h"
void interact_with_user (void) {
void interact_with_user (void) {
s32 menuidx = 0;
s32 menuidx = 0;
while (aptMainLoop()) {
while (aptMainLoop()) {
gspWaitForVBlank();
gspWaitForVBlank();
menuidx = print_main_menu(menuidx, &g_main_menu);
menuidx = print_main_menu(menuidx, &g_main_menu);
u32 kDown = wait_key();
u32 kDown = wait_key();
if (kDown & KEY_B) {
if (kDown & KEY_B) {
break;
break;
}
}
else if (kDown & KEY_A) {
else if (kDown & KEY_A) {
consoleClear();
consoleClear();
printf("\n");
printf("\n");
if (menu_execute_function(menuidx, &g_main_menu, 0))
if (menu_execute_function(menuidx, &g_main_menu, 0))
wait_any_key();
wait_any_key();
}
}
else if (kDown & KEY_UP) {
else if (kDown & KEY_UP) {
menuidx--;
menuidx--;
}
}
else if (kDown & KEY_DOWN) {
else if (kDown & KEY_DOWN) {
menuidx++;
menuidx++;
}
}
gfxFlushBuffers();
gfxFlushBuffers();
gfxSwapBuffers();
gfxSwapBuffers();
}
}
return;
return;
}
}
s32 quick_boot_firm (s32 load_from_disk) {
s32 quick_boot_firm (s32 load_from_disk) {
if (load_from_disk)
if (load_from_disk)
복사
복사됨
복사
복사됨
load_arm9_payload("
/arm9payload.bin
");
load_arm9_payload("
");
firm_reboot();
firm_reboot();
}
}
s32 main (void) {
s32 main (void) {
// Initialize services
// Initialize services
srvInit();
srvInit();
aptInit();
aptInit();
hidInit(NULL);
hidInit(NULL);
gfxInitDefault();
gfxInitDefault();
fsInit();
fsInit();
sdmcInit();
sdmcInit();
hbInit();
hbInit();
qtmInit();
qtmInit();
consoleInit(GFX_BOTTOM, NULL);
consoleInit(GFX_BOTTOM, NULL);
if (brahma_init()) {
if (brahma_init()) {
hidScanInput();
hidScanInput();
u32 kHeld = hidKeysHeld();
u32 kHeld = hidKeysHeld();
복사
복사됨
복사
복사됨
if (kHeld & KEY_LEFT) {
if (1) { //CHANGE 1 is always TRUE - lets just directly load arm9 payload and not mess with other stuff
/* load default payload from dosk and run exploit */
/* load default payload from dosk and run exploit */
//CHANGE no patois, it loads from RAM now, not 'dosk'
quick_boot_firm(1);
quick_boot_firm(1);
printf("[!] Quickload failed\n");
printf("[!] Quickload failed\n");
wait_any_key();
wait_any_key();
} else if (kHeld & KEY_RIGHT) {
} else if (kHeld & KEY_RIGHT) {
/* reboot only */
/* reboot only */
quick_boot_firm(0);
quick_boot_firm(0);
}
}
soc_init();
soc_init();
interact_with_user();
interact_with_user();
soc_exit();
soc_exit();
brahma_exit();
brahma_exit();
} else {
} else {
printf("* BRAHMA *\n\n[!]Not enough memory\n");
printf("* BRAHMA *\n\n[!]Not enough memory\n");
wait_any_key();
wait_any_key();
}
}
hbExit();
hbExit();
sdmcExit();
sdmcExit();
fsExit();
fsExit();
gfxExit();
gfxExit();
hidExit();
hidExit();
aptExit();
aptExit();
srvExit();
srvExit();
// Return to hbmenu
// Return to hbmenu
return 0;
return 0;
}
}
저장된 비교 결과
원본
파일 열기
#include <3ds.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <malloc.h> #include "brahma.h" #include "hid.h" #include "menus.h" #include "sochlp.h" void interact_with_user (void) { s32 menuidx = 0; while (aptMainLoop()) { gspWaitForVBlank(); menuidx = print_main_menu(menuidx, &g_main_menu); u32 kDown = wait_key(); if (kDown & KEY_B) { break; } else if (kDown & KEY_A) { consoleClear(); printf("\n"); if (menu_execute_function(menuidx, &g_main_menu, 0)) wait_any_key(); } else if (kDown & KEY_UP) { menuidx--; } else if (kDown & KEY_DOWN) { menuidx++; } gfxFlushBuffers(); gfxSwapBuffers(); } return; } s32 quick_boot_firm (s32 load_from_disk) { if (load_from_disk) load_arm9_payload("/arm9payload.bin"); firm_reboot(); } s32 main (void) { // Initialize services srvInit(); aptInit(); hidInit(NULL); gfxInitDefault(); fsInit(); sdmcInit(); hbInit(); qtmInit(); consoleInit(GFX_BOTTOM, NULL); if (brahma_init()) { hidScanInput(); u32 kHeld = hidKeysHeld(); if (kHeld & KEY_LEFT) { /* load default payload from dosk and run exploit */ quick_boot_firm(1); printf("[!] Quickload failed\n"); wait_any_key(); } else if (kHeld & KEY_RIGHT) { /* reboot only */ quick_boot_firm(0); } soc_init(); interact_with_user(); soc_exit(); brahma_exit(); } else { printf("* BRAHMA *\n\n[!]Not enough memory\n"); wait_any_key(); } hbExit(); sdmcExit(); fsExit(); gfxExit(); hidExit(); aptExit(); srvExit(); // Return to hbmenu return 0; }
수정본
파일 열기
#include <3ds.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <malloc.h> #include "brahma.h" #include "hid.h" #include "menus.h" #include "sochlp.h" void interact_with_user (void) { s32 menuidx = 0; while (aptMainLoop()) { gspWaitForVBlank(); menuidx = print_main_menu(menuidx, &g_main_menu); u32 kDown = wait_key(); if (kDown & KEY_B) { break; } else if (kDown & KEY_A) { consoleClear(); printf("\n"); if (menu_execute_function(menuidx, &g_main_menu, 0)) wait_any_key(); } else if (kDown & KEY_UP) { menuidx--; } else if (kDown & KEY_DOWN) { menuidx++; } gfxFlushBuffers(); gfxSwapBuffers(); } return; } s32 quick_boot_firm (s32 load_from_disk) { if (load_from_disk) load_arm9_payload(""); firm_reboot(); } s32 main (void) { // Initialize services srvInit(); aptInit(); hidInit(NULL); gfxInitDefault(); fsInit(); sdmcInit(); hbInit(); qtmInit(); consoleInit(GFX_BOTTOM, NULL); if (brahma_init()) { hidScanInput(); u32 kHeld = hidKeysHeld(); if (1) { //CHANGE 1 is always TRUE - lets just directly load arm9 payload and not mess with other stuff /* load default payload from dosk and run exploit */ //CHANGE no patois, it loads from RAM now, not 'dosk' quick_boot_firm(1); printf("[!] Quickload failed\n"); wait_any_key(); } else if (kHeld & KEY_RIGHT) { /* reboot only */ quick_boot_firm(0); } soc_init(); interact_with_user(); soc_exit(); brahma_exit(); } else { printf("* BRAHMA *\n\n[!]Not enough memory\n"); wait_any_key(); } hbExit(); sdmcExit(); fsExit(); gfxExit(); hidExit(); aptExit(); srvExit(); // Return to hbmenu return 0; }
비교하기