小编Ben*_*Ben的帖子

APK注入,重新编译android清单

我想要实现的目标

将apk中打包的AndroidManifest.xml从二进制格式转换为普通的xml文件,编辑并重新编译为可接受的二进制文件.基本上我需要一个AXML文件的驱动程序

背景短

我正在开发一个APK注入项目.我的目标是

  1. 拆卸dalvik二进制文件
  2. 阅读AndroidManifest xml并添加修改,如更改主要活动和添加权限
  3. 重建并签署apk文件

我使用apktool来组装和反汇编apk.然而,apk工具仅适用于--no-res选项,如果使用资源对apk进行反汇编,则无法构建.这是一个描述这个bug的github问题.

问题

由于我解析了apktool d --no-res app-debug.apk没有res标志,Generated android清单以二进制形式出现.我可以用清单拆解清单,apktool但我无法回复它.

我希望能做什么

我需要:

  • 找到一种方法来反汇编清单,然后将其组装回二进制形式
  • 找到一种apktool与资源一起使用的方法

到目前为止我尝试过的

放弃

虽然stackoverflow是一个知识共享社区,而不是判断它的用途 - 我看到很多人在针对非法活动的指控中挑选其他人.

我正在做的是绝对合法的,不会被用来利用任何人.

java android code-injection apk apktool

24
推荐指数
2
解决办法
1511
查看次数

IntelliJ IDEA全局环境变量配置

我需要在所有想法运行配置中使用envirnoment变量.我目前使用run - > edit configurations - > 然后在所选配置中输入env变量.然而,当我需要运行隔离的测试场景时,这非常繁琐,因为每个都创建了一个新的运行配置,我需要重新输入变量.

我试图用设置在我的Linux系统中的ENV变量export SOME_VAR="some value"在不同的会话配置文件:/etc/profile,/etc/bash.bashrc,~/.bashrc,~/.profile但似乎的IntelliJ忽略运行过程中的增值经销商,即使当我启动echo ${SOME_VAR}从的IntelliJ内置终端会显示正确的输出.

我使用也试过的IntelliJ .ENV文件的插件,然后设置SOME_VAR=some value.env项目的根文件.也没用.

intellij-idea environment-variables intellij-plugin

13
推荐指数
5
解决办法
2万
查看次数

PHP动态设置对象属性

我有一个函数,应该读取数组并动态设置对象属性.

class A {
    public $a;
    public $b;

    function set($array){
        foreach ($array as $key => $value){
            if ( property_exists ( $this , $key ) ){
                $this->{$key} = $value;
            }
        }
    }
}

$a = new A();
$val = Array( "a" => "this should be set to property", "b" => "and this also");
$a->set($val);
Run Code Online (Sandbox Code Playgroud)

好吧,显然它不起作用,有没有办法做到这一点?

编辑

似乎这个代码没有任何问题,应该关闭这个问题

php setter object

12
推荐指数
2
解决办法
2万
查看次数

kotlin 在虚函数中具体化了泛型

在我的具体课程中,我希望有一个具有以下签名的函数。

inline fun <reified T : Comparable<T>> get(key: String): T

但是我想为这个类提取一个接口,这样我就可以交换实现。但是我不知道如何去做,因为我无法将virtual函数标记为inline.

到目前为止我有这个界面:

interface ModuleSettings {

    fun <T : Comparable<T>> get(key: String) : T

}
Run Code Online (Sandbox Code Playgroud)

这个具体的类

class DefaultModuleSettings : ModuleSettings {

    override inline fun <reified T : Comparable<T>> get(key: String): T {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在编译器抱怨我试图用reified关键字覆盖泛型类型。有什么办法可以实现这种模式吗?

generics interface type-erasure kotlin kotlin-reified-type-parameters

10
推荐指数
2
解决办法
6179
查看次数

cloudbuild.yaml包含不同的云构建器配置

我的项目分为gitmodules,如下所示:

/ +
  |
  +-module_1
  |  |
  |  +- cloudbuild.yaml 
  |  +- src/
  |  +-.git/
  | 
  +-module_2
  |  |
  |  +- cloudbuild.yaml 
  |  +- src/
  |  +-.git/
  | 
  +- .git/
  +- .gitmodules
  +- cloudbuild.yaml
Run Code Online (Sandbox Code Playgroud)

我正在尝试从父存储库构建子模块,但cloudbuild有一个问题,因为它不会自己获取gitmodules.因此,当我module_1/cloudbuild.yaml作为cloudbuild配置引用时,构建失败,因为该文件不存在.我正在考虑可能的解决方法,我想问下列是否可行:

  1. 引用/cloudbuild.yaml为构建配置
  2. 添加一个步骤来获取cloudbuild.yaml中的gitmodule
  3. 运行不同的cloudbuild文件

结果应该类似于:

steps:
  - name: 'gcr.io/$PROJECT_ID/git'
    args: ['submodule', 'update', '--init']
  - name: 'some kind of command that runs cloudbuild.yaml`
    args: ['module_1/cloudbuild.yaml']
Run Code Online (Sandbox Code Playgroud)

免责声明 我知道我可以将所有cloudbuild配置放在根存储库中,但我希望这些模块尽可能地自我管理

git google-app-engine git-submodules google-cloud-platform google-cloud-build

9
推荐指数
1
解决办法
572
查看次数

Spring引导在servlet上下文之外获取应用程序基本URL

设置如下 - 我有一个定时任务,将发送验证电子邮件,以便用户:

@Scheduled(cron = " 0 0-59/1 * * * * ")
public void sendVerificationEmails() {
    //...
}
Run Code Online (Sandbox Code Playgroud)

在那些电子邮件中,我需要包含一个返回同一webapp的链接.但是我找不到任何关于如何在没有servlet上下文的情况下获取应用程序基本URL的引用.

奖金

如果我可以在这里设置百万富翁模板解析器来处理这些链接也会有所帮助,但为此我需要一个WebContext需要一个实例的HttpServletRequest.

java spring servlets thymeleaf spring-boot

8
推荐指数
2
解决办法
1万
查看次数

Thmeleaf获得当前的语言环境

如何在百万美元模板中获取当前区域设置?Thymeleaf上下文是语言环境感知的,因此在每个请求上注入语言环境会很奇怪,我可以在模板中请求一些变量吗?

<div th:text="${currentLocale}"></div>
Run Code Online (Sandbox Code Playgroud)

java spring locale thymeleaf spring-boot

8
推荐指数
1
解决办法
5013
查看次数

Docker exec 引用变量

我想知道是否有办法做到这一点

假设dockerfile包含这一行,它指定了可执行文件的路径

ENV CLI /usr/local/bin/myprogram

我希望能够通过exec命令使用 ENV 变量名调用这个程序。

例如 docker exec -it <my container> 'echo something-${CLI} 期待 something-/usr/local/bin/myprogram

然而,返回:

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"${CLI} do something\": executable file not found in $PATH": unknown

bash escaping docker dockerfile

8
推荐指数
1
解决办法
6260
查看次数

HttpSecurity配置-允许所有仍需要基本认证

我试图将不安全的控制器端点添加/foo/bar到我的应用程序中,但是每当我尝试调用它时,我都会得到401 Unauthorized

这是我的WebSecurityConfigurerAdapter

http
    .authorizeRequests()
        .antMatchers("/foo/**").permitAll()
    .and()
    .formLogin()
        .loginPage("/login").permitAll()
    .and()
    .requestMatchers()
        .antMatchers("/login", "/oauth/authorize", "/oauth/confirm_access")
    .and()
    .authorizeRequests()
        .anyRequest().authenticated();
Run Code Online (Sandbox Code Playgroud)

somone是否会指出我想念的是什么?

java spring spring-mvc spring-security

6
推荐指数
1
解决办法
5758
查看次数

Kafka 生产者连接到本地主机而不是真实 IP

请帮助我想知道为什么 kafka 生产者总是连接到本地主机,但是代理 ip 不是本地主机。那么,有什么帮助吗?有任何想法吗 ?

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;

public class ProducerDemo {

    public static void main(String[] args) throws Exception{
        String bootstrapServers = "192.168.199.137:9092";

        Properties properties = new Properties();
        properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
        properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());

        // create the producer
        KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);

        System.out.println("kafka IP   " + properties.getProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG));


        // create producer record
        ProducerRecord<String, String> record = new ProducerRecord<String, String>("first_topic", "Hello world");


        // send data
        producer.send(record);
        producer.flush();
        producer.close();

    }

}

Run Code Online (Sandbox Code Playgroud)

这是 …

java apache-kafka kafka-producer-api

6
推荐指数
1
解决办法
1581
查看次数