反编译知乎
1. 如何看待国产软件 aardio 官方抨击知乎,疑有"黑幕"的文章
关键结症在于,整天沉浸在小环境里的玻璃心作者,不了解知乎的一贯风格,引发了强烈的被迫害妄想症。
2. 程序员看剧的时候,如果看到有敲代码页面,会暂停看代码吗
我有过一次类似的经历。某次在某大型石化变电站内给电力监控系统配套数据库,由于数据库程序修改量大白天干不完,,我和同事把数据拷贝到笔记本中,回到酒店继续工作。到了饭点肚子实在饿,又怕用餐影响思维进程,就和同事把各自的笔记本带到酒店餐厅,找个偏僻位置一边用餐一边讨论继续修改程序。
不过一旦发现是 HTML/CSS/Javascript/Java/Python/C 在搞向标准输出打印,Web/HTTP 这种就没了兴致。改进的话,语言上整点 Racket/OCaml/Haskell/Idris/Rust/C#/Elixir,然后开 Visual Studio Code 全屏,装好对应代码高亮插件,贴点不明觉厉的代码片段比如 Chez Scheme 的代码上去,竖直副屏全屏打开一个 Terminal 不断往外蹦符合演出叙事的消息。毕竟影视剧里的编程是表演的一部分,需要通过编程表演艺术装屄的时候,请剧组尽力保证演出效果。
3. 为什么在 Android 上启动知乎 app 时会唤醒微信
知乎调用微信sdk中分享的相关接口,微信sdk的相关接口里面,给微信发送了一个广播,微信app就被唤醒了,这不是知乎的主观行为,而是微信的(而且结合实际的分析来看,这个应该也算是正常的功能)。
1首先说一下app的被唤醒(自启动)机制。
app自启动,基本上都是依靠Android的广播来实现的,而且是静态注册的广播(在AndroidManifest.xml文件中进行配置的广播),发送广播的方法在一般情况下是sendBroadcast。
2按照惯例,反编译一下微信apk,然后搜索一下它能够由哪些静态广播进行唤醒,同时抓取广播相关的log。
结合微信的AndroidManifest.xml文件以及抓取的log,可以知道相关的BroadcastReceiver是EntryReceiver,相关的action为
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER
从其名称上看,是和注册/注销相关,具体接收到广播之后做了哪些处理,这些就不赘述了。
3接下来分析知乎的代码,搜索一下知乎反编译之后的smali文件(sendBroadcast),其中只有一条是和微信相关的
4. 有没有可能写出c++反编译器知乎
C++反汇编软件现成的就有啊,静态反汇编软件比较着名的就是IDA Pro,动态的是ollydbg这个软件。如果你像自己编写一个也可以,需要知道字节码和汇编的对应关系、然后一些调试器的编写的知识,不过自己编写反编译软件的话针对一些简单的程序还可以,如果遇到加过壳的程序,处理起来就比较麻烦了。