介绍
以前有过大佬二开过unidbg,添加了 unidbg 的API接口,但是用法会稍微有所改变,个人用的不是很舒服。于是,我想着能不能在unidbg原项目的基础上增加一个web服务,比如springboot什么的。
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
修改代码
修改 unidbg-android 下的 pom.xml ,添加springframework依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.17</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
unidbg-masterunidbg-androidsrctestjava 添加类 Application
package com;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassApplication {publicstaticvoidmain(String[] args) {SpringApplication.run(Application.class, args); }}
创建配置文件unidbg-masterunidbg-androidsrctestresourcesapplication.properties
server.port=9090
访问 http://127.0.0.1:9090/
搭建成功。
unidbg 配置 API
以 com.kanxue.test2.MainActivity 为例
MainActivity和crack 修改成 public
新建 com.kanxue.test2.controller.Test2Controller
publicclassTest2Controller {// 对请求头进行处理@RequestMapping("")publicStringcrack(){returnnewMainActivity().crack(); }}
成功
问题:这么做,每次都会新建加载so推荐在 unidbg 调用 so 的类中使用单例模式。单例模式下,启动后可能要间隔一段时间访问API,不然可能会报错。
如果要批量跑,多线程会报错,要采用单线程
原文始发于微信公众号(进击的HACK):unidbg改造,提供api接口
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论