
Android逆向与安全
文章平均质量分 78
仰望星空_lmh
技术积累,非常重要,学识、修养、心态、格局和财富一起,才是综合衡量一个人的指标,延长努力,延迟享受,某些东西经过时间的沉淀才会觉得物有所值!虽卑微如蝼蚁,日拱一卒也是莫大的力量;身处铁屋暗室,心中亦可光明如日月之炳炳。不忘初心,砥砺前进,努力让现实社会变得更美好!~
展开
-
程序员自我修养-总结 (2)
Segment 是从装载的角度重新划分了 ELF 的各个段,在将目标文件链接成可执行文件的时候,链接器会尽量把相同权限属性的段分配在同一空间。比如可读可执行的段都放一起,如代码段。系统正是按 Segment 而不是 Section 来映射可执行文件的。总的来说,“Segment” 和 “Section” 是从执行视图与链接视图来划分同一个 ELF 文件。ELF 可执行文件中有一个专门的数据结构叫做程序头表 (Program Header Table)用来保存 “Segment” 的信息,由于 EL..原创 2022-01-23 19:50:16 · 8329 阅读 · 0 评论 -
程序员自我修养-总结 (1)
你可以不自己造轮子,但应该了解轮子的构造,而且越详尽越好,这就是程序员的自我修养吧。虽然我在这个系统上花费了很多时间和精力,却没有获得什么直接的收益,也没有让我跟上最新的技术潮流,但是它带给我的间接收获却是无法言表的,它使我在后来学习其他技术的时候能够很快地触类旁通、自下而上地去理解整个系统,往往能够理解得更加深刻更加透彻。真正了不起的程序员对自己的程序的每一个字节都了如指掌。CPU 体系结构、汇编、C 语言(包括 C++)和操作系统,永远都是编程大师们的护身法宝。计算机科学领域的任何问题都可以增..原创 2022-01-23 19:43:47 · 9115 阅读 · 0 评论 -
Ubuntu18 下 ndk16b 与 ollvm 环境搭建-2020.05.04
1.获取最新版本 obfuscator-llvm 中的 4.0 版本git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.gitmkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF ../obf...原创 2020-05-04 09:07:16 · 1497 阅读 · 1 评论 -
学习Android逆向总结
1.最好做过一段时间的android sdk ndk开发这样就能:(1)了解android系统的运行机制 (2)熟练使用C/C++,java开发2.逆向必备的的基本功是1.java\C++\C 开发2.Python\arm 汇编3.Linux 密码学4.anroid 系统原理,框架,权限,沙箱等等5.elf、dex文件结构、加载运行机制6.推荐啃透:程序员的自我修养,linker ...转载 2019-03-04 23:40:12 · 489 阅读 · 0 评论 -
Android反调试总结
反调试可以分两类:一类是检测,另一类是攻击。前者:是去想各种办法去检测程序是否在被调试,如果正在被调试的话做出一些”返”的举措,比如退出(这里的退出不是一个万全之策,因为容易暴露反调试的位置点,更好的是想办法不让攻击者发现,并且跳到另一个位置,让攻击者懵逼)等等; 后者:是采用攻击的方法,就是想办法让调试器不能正常工作或者是让调试器崩溃,从而阻止它。1.一种进程最多只能被一个进程pt...原创 2018-05-01 16:22:48 · 1581 阅读 · 0 评论 -
逆向工具相关使用总结
1.ZjDroid:脱壳 adb shell logcat -s zjdroid-shell-com.android.s am broadcast -a com.zjdroid.invoke --ei target 21367 --es cmd '{action:dump_dexinfo}' am broadcast -a com.zjdroid.invoke --原创 2016-02-23 14:24:16 · 425 阅读 · 0 评论 -
IDA PRO逆向调试记录与常用快捷键
使用IDA Pro定位关键代码的方法:1、搜索特征字符串。具体操作为: ①快捷键Ctrl+S,打开搜索类型选择对话框-->双击Strings,跳到字符串段-->菜单项“Search-->Text”; ②快捷键Alt+T,打开文本搜索对话框,在String文本框中输入要搜索的字符串点击OK即可;2.tab查看函数。3.ctrl+1, spance4.G原创 2016-02-23 14:50:06 · 26850 阅读 · 0 评论 -
各种脱壳总结(生命在于运动,知识在于积累)
1.Xdex(百度版)脱壳工具基本原理:核心思想是:根据dalvik 获取dex各个数据段的方式,我也用同样的函数去获取,然后一步一步去恢复成一个合法的dex文件。基本思想很简单,也已有大牛实现过。 百度加固来举例说明,百度加固相对于其它厂商的加固,好像并没有在类加载的时候做什么事。其它厂商的加固有的会在类加载的时候执行静态函数,有的会hook一些类加载的中间函数,才去恢复转载 2016-05-26 22:22:46 · 1422 阅读 · 0 评论 -
苏老堤边玉一林,六桥风月是知音。任他桃李争欢赏,不为繁华易素心。(他人总结一)
1.APK版本安全问题,阻止二次打包,无论加壳,dex动态加载,签名验证等都只是一定程度上阻止罢了,无论如何处理,只要破解者通过gdb动态调试,dump出dex文件,稍加分析,就可以比较轻松的实现二次打包。2.如何阻止被动态调试,首先是关闭android:debugable="false",然后是在so中ptrace主进程,但是这样做不全面,因为每个应用都有一个进程组,里面有很多进程,只要附着原创 2016-05-26 22:11:50 · 3043 阅读 · 0 评论 -
逆向算法常识总结
1.消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。2.当公钥算法与摘要算法结合起来使用时,便构成了一种有效地数字签名方案。这个过程是:首先用摘要算法对消息进行摘要,然后在把摘要值用信源的私钥加密;接收方先把接收的明文用同样的摘要算法摘原创 2016-02-23 14:30:55 · 3967 阅读 · 0 评论 -
android下的一些常用命令(1)
adb uninstall de.robv.android.xposed.installeradb -s emulator-5554 shell adb devices---显示当前运行的全部模拟器:adb forward tcp:23946 tcp:23946am force-stop com.example.demoam start -D -n com.example.d原创 2015-10-03 11:15:50 · 602 阅读 · 0 评论 -
Android软件安全与逆向分析笔记(3)
1.APK是Android Package的缩写,即Android安装包。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件组合成一个应用程序包(APK)。Dex是Dalvik VM executes的全称,即Android Dalvik执行程序。META-INF原创 2015-08-17 22:21:09 · 555 阅读 · 0 评论 -
Android软件安全与逆向分析笔记(2)
1.使用Apktool反编译apk文件后,所有的索引值保存在string.xml文件同目录下的public.xml文件中。DEX文件结构从头往下依次为:dex header->string_ids->type_ids->proto_ids->field_ids->method_ids->class_def->other data2.odex是OptimizedDEX的缩写,表示优化的dex原创 2015-08-17 22:18:14 · 587 阅读 · 0 评论 -
Android软件安全与逆向分析笔记(5)
1.sprintf: 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。一般而言,ss:[ebp+4]处为返回地址,ss:[ebp+8]处为第一个参数值,ss:[ebp+0Ch]处为第二个参数,ss:[ebp-4]处第一个局部变量,ss:[ebp]处为上一层的EB原创 2015-08-17 23:18:08 · 570 阅读 · 0 评论 -
Android软件安全与逆向分析笔记(4)
1.使用Apktool反编译apk文件后,会在反编译工程目录下生成一个smali文件夹,里面存放着所有反编译出的smali文件,这些文件会根椐程序包的层次结构生成相应的目录,程序中所有的类都会在相应的目录生成独立的smali文件。2.android list avd/target-列出当前可用的SDK版本;android create avd -n Android1.5 -t 1并回车;emu原创 2015-08-17 23:16:35 · 470 阅读 · 0 评论 -
Android软件安全与逆向分析-笔记(1)
1.破解android程序通常使用的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,在实际的分析过程中,还可以使用IDAhoPro直接分析apk文件,或者dex2jar与jd-gui配合来进行java源代码级的分析.2.Smali,Baksmali分别是指安卓系统里是java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。3.使用Apkto原创 2015-08-17 22:13:50 · 698 阅读 · 0 评论