songining
[์•ˆ๋“œ๋กœ์ด๋“œ] intent ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’ ๋„˜๊ธฐ๋Š” ๋ฐฉ๋ฒ•
ANDROID 2020. 8. 3. 00:10

BottomUp ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋งŒ๋“  ์•ฑ์—์„œ ์นด์นด์˜ค๋กœ๊ทธ์ธ์—ฐ๋™ํ•˜์—ฌ ๋ฐ›์•„์˜จ ๊ฐ’์„ ๋‹ค์Œํ™”๋ฉด์œผ๋กœ ๋„˜๊ฒจ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค. ๋‹‰๋„ค์ž„๊ณผ ์ด๋ฉ”์ผ๊ฐ’ ๋‘๊ฐ€์ง€๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ป๊ฒŒ ํ•  ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ArrayList๋ฅผ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ArrayList ๊ฐ์ฒด profile์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  profile์— ๋ฐ›์•„์˜จ nickname๊ณผ email์„ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  putExtra์— profile์„ ๋„˜๊ฒจ์ฃผ์—ˆ๋‹ค. ArrayList profile=new ArrayList(); profile.add(nickname); profile.add(email); Intent intent = new Intent(this, HomeActivity.class); intent.putExtra("profile",profile); startAct..

[์•ˆ๋“œ๋กœ์ด๋“œ] SharedPreference ์‚ฌ์šฉ๋ฒ• (ํ˜„์žฌ ๋ฐ์ดํ„ฐ ์ €์žฅ/์•ฑ ์„ค์ • ๋งŒ๋“ค ๋•Œ ์œ ์šฉ)
ANDROID 2020. 8. 2. 16:55

์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌธ์ž์—ด์ผ ๊ฒฝ์šฐ //ํ•„๋“œ String shared = "file"; //oncreate() SharedPreferences sharedPreferences = getSharedPreferences(shared,0); String value=sharedPreferences.getString("song",""); //์ €์žฅ๋œ ๊ฒƒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ/์ €์žฅ๋œ ๊ฒƒ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์˜ค๋ฅธ์ชฝ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์ ์œผ๋ฉด x et_save.setText(value); //ondestroy() //์ข…๋ฃŒ์ง์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ SharedPreferences sharedPreferences=getSharedPreferences(shared,0); SharedPreferences.Editor editor = sharedPre..

article thumbnail
[์•ˆ๋“œ๋กœ์ด๋“œ] ListView ์‚ฌ์šฉ๋ฒ•
ANDROID 2020. 8. 2. 16:54

ํ•ด๋‹น xml์„ ์ด์šฉํ•˜์—ฌ list = findViewById(R.id.list); ๋ฅผ ์ด์šฉํ•ด java์— list ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ํ›„ ArrayList์™€ ์—ฐ๊ฒฐ์‹œ์ผœ์•ผ ํ•œ๋‹ค. List data=new ArrayList(); ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ArrayList ๊ฐ์ฒด์ธ ๋ฌธ์ž์—ด ํƒ€์ž…์˜ data ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด์ œ ArrayList์™€ ListView๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ArrayAdapter๊ฐ€ ์—ฌ๊ธฐ์„œ ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data); //this? ํ˜„์žฌ Activity์— ํ•ด๋‹น๋œ๋‹ค list.setAdapter(adapter);โ€‹ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ArrayAdapt..

[์•ˆ๋“œ๋กœ์ด๋“œ] ๋กœ๊ทธ์ธ ์—ฐ๋™ HashKey ์–ป๋Š” ๋ฐฉ๋ฒ•
ANDROID 2020. 8. 2. 16:52

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์— ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—ฐ๋™์„ ํ•˜๊ธฐ์œ„ํ•ด ํ•ด์‹œํ‚ค ๊ตฌํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋ณด์•˜๋‹ค. private void getHashKey(){ PackageInfo packageInfo=null; try{ packageInfo= getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES); } catch (PackageManager.NameNotFoundException e){ e.printStackTrace(); } if(packageInfo==null){ Log.e("HashKey","HashKey:null"); } for(Signature signature:packageInfo.signatures){ try{ MessageDi..

[์•ˆ๋“œ๋กœ์ด๋“œ] ํ™”๋ฉด ์ „ํ™˜ ๋ฐฉ๋ฒ•
ANDROID 2020. 8. 2. 16:51

btn_move=findViewById(R.id.btn_move); btn_move ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ํ™”๋ฉด์ด ์ „ํ™˜๋˜๋„๋ก ํ•˜๋ ค๋ฉด? //move๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ btn_move.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { str=et_move.getText().toString(); //๊ฐ์ฒด ์ƒ์„ฑ Intent intent=new Intent(MainActivity.this,SubActivity.class); intent.putExtra("str",str);//๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š”๋‹ค. startActivity(intent); //์•กํ‹ฐ๋น„ํ‹ฐ ์ด๋ฆ„ } }); Intent ๊ฐ์ฒด์ธ intent๋ฅผ ๋งŒ๋“ ๋‹ค. (..

[์•ˆ๋“œ๋กœ์ด๋“œ] ์•ฑ์— ๋™์  ๋ณ€ํ™” ๋„ฃ๋Š” ๋ฐฉ๋ฒ•
ANDROID 2020. 8. 2. 16:47

et_id = findViewById(R.id.et_id); // EditText btn_click = findViewById(R.id.btn_click); // Button (๋งŒ๋“  ๋ณ€์ˆ˜์— xml์˜ ์•„์ด๋””๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์ž‘์—… / ์†์„ฑ๋ถ€์—ฌ) //click๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ btn_click.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { et_id.setText("๋ฒ„ํŠผ์ด ๋ˆŒ๋ ธ๋‹ค!!!"); } }); click๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด EditText์˜ et_id์— "๋ฒ„ํŠผ์ด ๋ˆŒ๋ ธ๋‹ค!!!" ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

[์•ˆ๋“œ๋กœ์ด๋“œ]์•ฑ์— ์ด๋ฏธ์ง€ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•(ImageView)
ANDROID 2020. 8. 2. 16:47

์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. app -> res -> drawable -> show in Explorer -> drowable ํด๋” ์•ˆ์— ์ด๋ฏธ์ง€ ๋ณต์‚ฌ ๊ทธ๋Ÿผ drawable์— ํ•ด๋‹น ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์ด movie_image๋ผ๋ฉด ๊ฒฝ๋กœ๋Š” @drawable/movie_image์ด๋‹ค.

article thumbnail
[์•ˆ๋“œ๋กœ์ด๋“œ]์•ˆ๋“œ๋กœ์ด๋“œ TextView, EditText , Button ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
ANDROID 2020. 8. 2. 16:46

TextView ์‚ฌ์šฉ๋ฒ• 1,2. ๋ ˆ์ด์•„์›ƒ์ด ๊ฐ์‹ธ๋Š” ์ •๋„๋ฅผ ์ •๋„๋ฅผ ๊ฒฐ์ •ํ• ๋•Œ -wrap_content: ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š”๋ฐ์— ํ•„์š”ํ•œ ๊ธธ์ด๋งŒํผ๋งŒ์„ ๊ฐ์‹ผ๋‹ค. -match_parent: ๋ถ€๋ชจ๊ฐ€ ๊ฐ€์ง€๋Š” ํฌ๊ธฐ๋งŒํผ์„ ๊ฐ์‹ผ๋‹ค. (ํ•ด๋‹น ๋ ˆ์ด์•„์›ƒ์˜ ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ๋งŒํผ์„ ๊ฐ€๋“ ์ฑ„์šด๋‹ค) 3.๋ ˆ์ด์•„์›ƒ์•ˆ์˜ ํ…์ŠคํŠธ๋Š” My first application!์œผ๋กœ ์ ์–ด์ฃผ์—ˆ๋‹ค. 4.ํ…์ŠคํŠธ ์ปฌ๋Ÿฌ๋Š” ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ•ด์ฃผ์—ˆ๊ณ  ๋”ฐ์˜ดํ‘œ์•ˆ์— #ffffff๋ฅผ ์ ์–ด์ฃผ๋ฉด ์ƒ‰์ƒ์„ ํƒํŒ์ด ๋œจ๊ฒŒ๋œ๋‹ค. ๊ทธ ์ƒ‰์ƒํŒ์—์„œ ์›ํ•˜๋Š” ์ƒ‰๊น”์„ ์„ ํƒํ•ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. 5.๊ธ€์ž์˜ ํฌ๊ธฐ๋Š” 25sp๋กœ ํ•ด์ฃผ์—ˆ๋‹ค. ํ…์ŠคํŠธ ํฌ๊ธฐ ๋‹จ์œ„๋Š” sp๋กœ ํ•œ๋‹ค. EditText ์‚ฌ์šฉ๋ฒ• 1. ์›ํ•˜๋Š” EditText๋ฅผ ๋งŒ๋“ค๋•Œ ๋™์ ์ธ ์•ก์…˜์„ ํ›„์— ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น EditText์˜ id๋ฅผ ๋งŒ๋“ค..

article thumbnail
[์‹œ์Šคํ…œ]ํ•จ์ˆ˜ ํ”„๋กค๋กœ๊ทธ, ์—ํ•„๋กœ๊ทธ
Hacking/System Hacking 2020. 8. 2. 16:44

ํ”„๋กค๋กœ๊ทธ(์‹œ์ž‘ ๋ถ€๋ถ„) 1. main()์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ณต๊ท€์ฃผ์†Œ, ์ฆ‰ RET๋ฅผ ์Šคํƒ์— ์ €์žฅํ•œ๋‹ค. 2. ์ด์ „ ํ•จ์ˆ˜์˜ ์Šคํƒ์˜ ์‹œ์ž‘์ (ebp)๋ฅผ ์Šคํƒ์— ์ €์žฅํ•œ๋‹ค. ํ†ต์ƒ์ ์œผ๋กœ SFP ๋ผ๊ณ  ๋งŽ์ด ๋ถˆ๋ฆฐ๋‹ค. ์ด๋Š” ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๊ณ  ๋‹ค์‹œ ๋Œ์•„๊ฐˆ ๋–„ ์Šคํƒ์„ ์˜จ์ „ํžˆ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. 3. ebp๋ฅผ esp๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™์‹œํ‚จ๋‹ค. 4. ์ง€์—ญ๋ณ€์ˆ˜ ํ• ๋‹น ๋“ฑ ์Šคํƒ์˜ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ์—ํ•„๋กœ๊ทธ 1. esp๋ฅผ ebp์œ„์น˜๋กœ ๋ณด๋‚ธ๋‹ค. (์ง€์—ญ๋ณ€์ˆ˜ ์‚ญ์ œ/pop) 2. pop ebp => ์Šคํƒ์˜ ๊ผญ๋Œ€๊ธฐ ๊ฐ’์„ ebp์— ์ง‘์–ด๋„ฃ๋Š”๋‹ค. => ์ด์ „ ํ•จ์ˆ˜์˜ ebp 3. pop eip => ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ RET๋กœ ๋„˜๊ธด๋‹ค. (eip๋Š” ๋‹ค์Œ ์‹คํ–‰ํ•  ๋ช…๋ น์–ด๋ฅผ ๋‹ด๋Š” ๋ ˆ์ง€์Šคํ„ฐ) ์ฐธ๊ณ : ARGOS ์‹œ์Šคํ…œํ•ดํ‚น ๊ต์œก์ž๋ฃŒ

article thumbnail
[์‹œ์Šคํ…œ]์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ์ดˆ, ๋ช…๋ น์–ด ์ •๋ฆฌ
Hacking/System Hacking 2020. 8. 2. 16:42

rax rbx rcx rdx rsi rdi rbp r8 r9 r10 r11 r12 r13 r14 r15 rsp rip ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ ์šฉ๋„๊ฐ€ ํŠน๋ณ„ํ•˜๊ฒŒ ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋ ˆ์ง€์Šคํ„ฐ๋กœ, ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค. ์šฉ๋„๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์ง€๋งŒ ๋•Œ์— ๋”ฐ๋ผ ๊ทธ ์“ฐ์ž„์ƒˆ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์กด์žฌ (rax๋Š” ํ•จ์ˆ˜ ๋ฆฌํ„ด๊ฐ’ rsi๋Š” ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฉ”ํ„ฐ) ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ทœ์•ฝ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ ํ•„์š”ํ•œ ์ธ์ž๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋„ ์กด์žฌํ•œ๋‹ค. (rdi rsi rcx rdx ...) ์Šคํƒํฌ์ธํ„ฐ ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„์ชฝ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์Šคํƒ์€ ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉํ•  ์ง€์—ญ ๋ณ€์ˆ˜๋“ค์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ค€๋น„ํ•ด๋†“์€ ๊ณต๊ฐ„์ด๋‹ค. (rsp) ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ rip๋Š” ํ”„๋กœ๊ทธ๋žจ์นด์šดํ„ฐ์˜ ์—ญํ• ์„ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๋Š” ๋‹ค์Œ์— ์‹คํ–‰๋  ๋ช…๋ น์–ด๊ฐ€ ์œ„์น˜ํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. mov a, b b๋ฅผ ..

article thumbnail
[์‹œ์Šคํ…œ]Buffer Overflow
Hacking/System Hacking 2020. 8. 2. 16:41

์ด๋ฒˆ์—” ๋™์•„๋ฆฌ ๊ต์œก์—์„œ ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๊ธฐ๋ณธ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ฃผ์–ด์ง„ ์˜์—ญ์„ ๋„˜์–ด ๊ฐ’์„ ๋” ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์ทจ์•ฝ์  Ex) getsํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๊ฐ’์„ ๊ณ„์†ํ•ด์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋“ค์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— bof์— ๋Œ€ํ•œ ์ž…๋ ฅ์„ ํฌ๊ธฐ 4์ด์ƒ์œผ๋กœ ์ž…๋ ฅํ–ˆ์„๋•Œ target์˜ ๊ฐ’์œผ๋กœ ์นจ๋ฒ”ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์ด๋‹ค. (๋ณ€์ˆ˜๋“ค์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ• ๋‹น๋˜๋Š”๋ฐ ์ด ์ˆœ์„œ๋Š” ๋ฐ”์ดํŠธ ํฌ๊ธฐ์ˆœ์ธ๊ฐ€??) ์ฐธ๊ณ : ARGOS ์‹œ์Šคํ…œํ•ดํ‚น ๊ต์œก์ž๋ฃŒ

[์‹œ์Šคํ…œ] ์–ด์…ˆ๋ธ”๋ฆฌ์–ด, GDB
Hacking/System Hacking 2020. 8. 2. 16:40

์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ ๋Œ€์‘๋˜๋Š” ์–ธ์–ด. ์‹คํ–‰ํŒŒ์ผ๋งŒ ์žˆ์–ด๋„ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด์ง„์ˆ˜๋กœ ๋œ ๊ธฐ๊ณ„์–ด๋ฅผ "๋””์ปดํŒŒ์ผ๋Ÿฌ" ๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋œ ์ฝ”๋“œ๋ฅผ ์–ป์–ด๋‚ด๊ณ , ์ด๋ฅผ ๋ถ„์„ํ•œ๋‹ค. ๋””๋ฒ„๊ฑฐ GDB(GNU Debugger) C, C++ ๋“ฑ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹คํ–‰ ํŒŒ์ผ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋„๊ตฌ 1. ์‹œ์ž‘/์ข…๋ฃŒ ์‹œ์ž‘: gdb [ํ”„๋กœ๊ทธ๋žจ๋ช…] ์ข…๋ฃŒ: quit or q 2. ๋ฌธ๋ฒ• ๋ณ€๊ฒฝ set disassembly-flavor intel 3. ๋ถ„์„ ํ•ด๋‹น ํ•จ์ˆ˜ ์ฝ”๋“œ: disas [ํ•จ์ˆ˜์ด๋ฆ„] ์‹คํ–‰ : run or r ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ : b [์ง€์ ] ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ๊ฑธ๋ฆฐ ์œ„์น˜ ์ฝ”๋“œ : disas ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ๋‹ค ์ง€์šฐ๊ธฐ: d or dis ๋‹ค์Œ ๋ช…๋ น์–ด : ni ์ง„ํ–‰ : c ๊ฐ•์ œ ์ ํ”„ : jump [์œ„์น˜] -> ํ•จ์ˆ˜, ํ–‰, ๋ฉ”๋ชจ..