All posts by RSR

Android analysis

disable DM-Verity

mod fstab file in initrd of boot.bin
delete “verify” option in mount option field

set SELinux permissive

add below to kernel cmdline
enforcing=0 androidboot.selinux=permissive

useful adb command

Get Activity List
dumpsys package | grep -i [app_id] | grep Activity

Run Activity
am start -a android.intent.action.MAIN -n [app_id]/.activities.xxxx [-e extra_id extra_value]

extract bootimg
abootimg -x boot.bin

modding kernel ramfs
to extract
cat initrd | gunzip | cpio -vid
to merge
find ./ | sort | cpio -o -H newc | gzip -9 > ../new_initrd
make bootimg
abootimg –create new_boot_su.bin -f bootimg.cfg -k zImage -r new_initrd -s stage2.img

restart zygote
killall zygote ## 가끔 잘안됨
setprop ctl.restart zygote

 

Start adbd via commandline

setprop service.adb.tcp.port 5555
settings put global development_settings_enabled 1
settings put global adb_enabled 1
start adbd

adb push adbkey.pub /data/misc/adb/adb_keys

https://stackoverflow.com/questions/26213954/how-to-solve-adb-device-unauthorized-in-android-adb-host-device

useful tools

jadx
JEB

Lenovo BIOS Setup by WMI

Lenovo의 2017년 이후 모델들은 WMI(Windows Management Instrumentation)를 이용한 BIOS 설정변경이 지원된다.
뭐 BIOS 직접 들어가서 수정해도 되지만 눈여겨볼건 거기 표시안되는 항목도 수정이 가능하다는점.
Lenovo에서 제공하는 매뉴얼과 샘플 스크립트 보면서 직접 해도 되지만 구글링좀 해보면 친절하게도 GUI형태의 도구를 제공하고 있다.

현재 사용하는 E585의 경우 2018년 이후 모델이기에 WMI가 지원되며 윈도우에서 ThinkBiosConfig.hta를 실행하여 간단하게 조작할 수 있다.

나의 목적은 내장그래픽에 할당된 메모리 크기를 늘리는 것이었는데…

항목이 있어 256->512MB로 변경후 재부팅 해보았으나 적용이 안된다….

해당 문제가 Lenovo Forum에 제기 되었으나… 담변이 없다.

참고링크 :
Get-WmiObject -list * -NameSpace root -Recurse -EA 0
cscript.exe %scriptroot%\Test\SetConfig.vbs SecureBoot Enable
https://www.mediasupport.org/wp-content/uploads/2017/05/skl_deploy_01.pdf

PowerShell script to Modify Lenovo BIOS settings.

Kingst LA1010 Logic Analyzer

로직분석용으로 저렴한 제품을 사용해서 그런지 저렴하다고 험하게 써서 그런지 7~8$제품 두개나 죽어버렸다. 또다시 저렴한 제품을 구매해서 땜빵할까 하다가 그래도 스펙이라도 확실히 나와있는 제품을 구매하자 싶어 Aliexpress를 돌아보던 중 저렴한 가격에 PWM 출력을 지원하는 제품을 찾았다.
이전에 뭐좀 테스트 해보려고 PWM시그널 만드려면 펌웨어 하나 만들어야 했는데 이게 있으면 좀 편하겠지 싶어서 구매했다.

제조사는 Kingst, 제품명은 LA1010
총 16채널에 100M samples @ 3ch, 16M samples @ 16ch 을 지원한다.
인아웃 전압번위도 -50~+50v에 Impeadance가 220KΩ으로 그냥저냥 쓸만하다.
PWM은 0.1~10Mhz까지 지원하며 3.3v 고정이다.
이전에 쓰던 제품은 saleae 소프트웨어를 사용했는데 Kingst는 전용소프트웨어를 사용해야 한다.
비슷한 인터페이스지만 중국산이라 뭔가 찝찝함이 있다.(나중에 시간나면 한번 까보자)

11월11일 광군절 할인받아 배송비포함 30$정도 줬는데 21일쯤 도착한것 같다.
패키징이 상당히 잘되어있었다. 뽁뽁이봉투 + 박스 + 뽁뽁이 +아래 내용물 케이블이 22AWG 실리콘재질로 만듬새가 좋다. 9핀이 연결되어있는게 3개, PWM용 2핀짜리가 2개 들어있었다.

전자제품은 까야 제맛

저렴이 제품이라지만 Spartan3 XC3S200 FPGA를 채용했다.

USB를 통해 통신하기위해 CY7C68013A를 사용했다.

롬이 있으면 괜히 덤프떠야될거같은거는 직업병인가…

idVendor=77a1, idProduct=01a2로 확인되었다. 혹시나 싶었는데 saleae 소프트웨어는 인식하지 못하였다.
PWM뿐만아니라 LA기능도 정상동작하는것을 확인하였다.
분석대상만 구매하면 될것같다.