V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  crawl3r  ›  全部回复第 1 页 / 共 8 页
回复总数  149
1  2  3  4  5  6  7  8  
看着不错,可惜不能远程
2020-01-15 11:00:54 +08:00
回复了 xatest 创建的主题 Android 安卓手机刷 Magisk、EdXposed 模块,有啥实际用途吗?
刷 magisk,安装 edxposed。太极功能强大、稳定,可惜被作者限制了
2020-01-10 11:13:36 +08:00
回复了 eggcn 创建的主题 职场话题 360 公司 CEO 周鸿祎称今年年会特等奖为「免裁券」!
反正我是不好意思评价人家 ——一个连年终奖都没有的人
2019-12-30 14:17:43 +08:00
回复了 Roxk 创建的主题 职场话题 不满年末绩效评级,是否要跟老大吐槽
之前待过一家公司,入职半年年终绩效打 A,结果就给了半个月年终奖,年后回去直接辞职走人。
2019-11-29 16:30:25 +08:00
回复了 1419co1in 创建的主题 Python Python 代码的加密问题
最简单的方法是卖服务器或者虚拟机镜像,设置脚本开机启动,然后不给登录账号密码。这样他们只能用但看不到源码。
2019-11-29 12:15:02 +08:00
回复了 yuanxxx 创建的主题 程序员 在校大学生攻破网络诈骗后台
难道只有我注意到 “这位同学立即报警,目前正在立案调查中。”吗?
c++ primer plus,当小说看
2019-11-27 13:21:35 +08:00
回复了 crawl3r 创建的主题 职场话题 来自中年程序员的 困惑
@aut0man 编程也算是脑力劳动,但你却把它变成了体力活。加班会导致没有时间提升自我,进而导致更严重的加班,这是一个死循环。所以不要抱有“忙完这个项目就不会加班”的想法了,好好想想怎么跳出这个死循环吧。我工作这 6 年多,加班的时间一只手数得过来,
2019-11-27 11:22:55 +08:00
回复了 crawl3r 创建的主题 职场话题 来自中年程序员的 困惑
@coderluan 有尝试但赚的都是小钱,想赚大钱还没有好的想法
2019-11-27 11:20:17 +08:00
回复了 crawl3r 创建的主题 职场话题 来自中年程序员的 困惑
@chi1st 朋友介绍的。主要搞安卓 app 爬虫或者破解写插件,纯爬虫没意思挣的也少
2019-11-27 11:18:26 +08:00
回复了 crawl3r 创建的主题 职场话题 来自中年程序员的 困惑
@3789 没有了,年近 30 只想赚钱,游戏玩不下去,偶尔看看游戏直播,剩下的也就能看看书了
2019-11-09 23:10:02 +08:00
回复了 tonymua 创建的主题 职场话题 双非菜鸡 Java offer 对比 求建议
第二个吧,搞区块链的除了做代币骗人,还没听说有能赢利的
2019-11-08 17:37:12 +08:00
回复了 kidlfy 创建的主题 程序员 爬虫转行 seo 工程师可行吗
同爬虫,同在研究 seo。买了两本大头书,放着落灰了
2019-10-23 16:22:20 +08:00
回复了 xiaoyazi 创建的主题 酷工作 招个熟逆向的长期兼职, 20k/m
做批量下单?
2019-09-06 09:59:47 +08:00
回复了 Tezos 创建的主题 优惠信息 移动手机号积分兑换话费
河北移动兑换成功,感谢 lz
对了,之前写过一篇文章《跨 classloader 类型转换》( http://www.wisedream.net/2017/01/17/programming/type-cast-across-classloader/) 你可以参考下
看下源码
`
public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
InvocationHandler h)
throws IllegalArgumentException
{
Objects.requireNonNull(h);

final Class<?>[] intfs = interfaces.clone();
// Android-changed: sm is always null
// final SecurityManager sm = System.getSecurityManager();
// if (sm != null) {
// checkProxyAccess(Reflection.getCallerClass(), loader, intfs);
// }

/*
* Look up or generate the designated proxy class.
*/
Class<?> cl = getProxyClass0(loader, intfs);

/*
* Invoke its constructor with the designated invocation handler.
*/
try {
// Android-changed: sm is always null
// if (sm != null) {
// checkNewProxyPermission(Reflection.getCallerClass(), cl);
// }

final Constructor<?> cons = cl.getConstructor(constructorParams);
final InvocationHandler ih = h;
if (!Modifier.isPublic(cl.getModifiers())) {
// Android-changed: Removed AccessController.doPrivileged
cons.setAccessible(true);
}
return cons.newInstance(new Object[]{h});
} catch (IllegalAccessException|InstantiationException e) {
throw new InternalError(e.toString(), e);
} catch (InvocationTargetException e) {
Throwable t = e.getCause();
if (t instanceof RuntimeException) {
throw (RuntimeException) t;
} else {
throw new InternalError(t.toString(), t);
}
} catch (NoSuchMethodException e) {
throw new InternalError(e.toString(), e);
}
}

`
注意这行代码*Class<?> cl = getProxyClass0(loader, intfs);*
通过 loader 加载或生成某个 proxy 类,也就是说 jvm 创建的 proxy 类挂到了这个 classloader 上。对于你这个例子没法说。我给你讲个实际的例子。
对于安卓应用是通过 DexClassLoader 加载的,而 xposed 模块是通过 PathClassloader 加载的,它们是同级的类加载器。如果想在 xposed 模块中调用应用里的某个方法,如` void download(String url, ICallback)`.
我们可以用反射创建 ICallback 的动态代理。在调用这个方法的时候它是运行在应用内的,也就是说对于安卓应用来说它是不知道有个 PathClassloader 的,所以创建的 ICallback 动态代理必须能够通过它自己的类加载器加载到,否则就是 ClassNotFound。
2019-07-31 14:07:46 +08:00
回复了 mengyao123 创建的主题 酷工作 公司出钱让我们自己创业,是好是坏
王多鱼:谁还有梦想?
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3546 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 10:51 · PVG 18:51 · LAX 02:51 · JFK 05:51
Developed with CodeLauncher
♥ Do have faith in what you're doing.