- 积分
- 15512
- 明经币
- 个
- 注册时间
- 2008-11-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 不死猫 于 2014-11-24 14:39 编辑
先上图:
技术分析:
由于Lisp本身不支持socket监测端口,因此我们需要找一个数据中转区.
你可以选择共享文件夹(仅局域网),也可以选择数据库,或者通过网站的页面发布进行数据交换.
(本文采用SQL数据库作为数据中转区)
一方发送消息,另一方对消息进行监控采集即可.(这个道理与socket端口消息服务是一样的)
原理:
1.Lisp信息通过反应器发送到数据库中
2.数据库建立一个名为Android2Lisp的库,表名monitor,字段id关键,字段command字符串.
3.在Android里面建立多线程并监视数据库,读到数据后立即清空数据库(避免重复读取),得到的内容+当前时间添加到视图中,并将视图自动移到最后一行显示.
下面首先是Lisp源码:
- (if (not myAndroidMonitor)
- (setq myAndroidMonitor (vlr-command-reactor nil '((:vlr-commandWillStart . myAndroidMonitorCallback))))
- )
- (defun myAndroidMonitorCallback(a b)
- (writesql (car b))
- )
- (defun writesql(str)
- (Setq con (Vlax-Get-Or-Create-Object "adodb.connection" ))
- (Vlax-Invoke con 'Open "Driver={SQL Server};Server=IP;UID=nameWD=password;database=Android2Lisp;")
- (Setq Record (Vlax-Get-Or-Create-Object "adodb.Recordset" ))
- (Vlax-Invoke Record 'Open (strcat "update Monitor set command = '" str " ' where id = '1'") con 1 3)
- (vlax-invoke Record 'close)
- (vlax-invoke con 'close)
- (vlax-release-object Record )
- (vlax-release-object con)
- )
Android界面代码- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context=".MainActivity" >
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignBaseline="@+id/editText1"
- android:layout_alignBottom="@+id/editText1"
- android:layout_alignParentRight="true"
- android:text="发送" />
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:text="开始监视用户绘图" />
- <ScrollView
- android:id="@+id/scrollview1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:scrollbars="vertical"
- android:layout_below="@+id/button2"
- android:layout_above="@+id/button1"
- >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignRight="@+id/button1"
- android:scrollbars="vertical" />
- </ScrollView>
- <EditText
- android:id="@+id/editText1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_marginBottom="18dp"
- android:layout_toLeftOf="@+id/button1"
- android:ems="10" />
- </RelativeLayout>
复制代码 Android主程序代码反过来发送指令原理相同,直接上图
ps:本文仅作技术讨论,无需担心实际应用的可能性.
担心被应用监视?呵呵直接装摄像头就完事了,成本低又方便,还能防盗,何必如此麻烦.所以大家无需担心.
首先通过编程可以实现绘图指令自动执行欺骗监视.再说敢这样监视员工的老板,是没人愿意跟他混滴:)
楼下的,你的看法呢? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|