coder-jay@home:~$

  • VS Code + Cmake Tools, 搭建C/C++跨平台(NDK、iOS)开发环境

    最近公司新需求,要求用C/C++实现部分核心代码,打包成静态库跨平台(Android和iOS)使用。 作为Android开发出身的C/C++老白程序员兴奋不已(又可以开心的学习niubility的C/C++了),但之前写JNI代码的集成环境都是Android Studio,最后打包生成的so库也是面向Android平台的。 有什么IDE适合这种跨平台开发的呢?请教了公司写C的大牛(独立开发了一套跑在单片机上的Linux操作系统的非著名程序员,emacs发烧友),大牛说C/C++并没有什么特好用的IDE,用的人多的可能Eclipse算一个。 毕竟大神是emacs党,还需要IDE? 可我一VIM党,也用emacs开发C/C++? Sorry, I Can’t Do...

  • Objective-C语言的逆向(Mac OS)

    逆向分析Objective-C程序时,就需要用到IDA Pro和Hopper Disassembler等工具来帮助我们分析了。IDA Pro功能强大,插件丰富,可以为逆向分析提供许多便利;Hopper Disassembler对于反汇编Objective-C有其优势,动态调试十分方便。通常可以两个工具同时使用。下面以Mac版本的QQ音乐为例,初探一下Objective-C的逆向分析流程。 静态分析 使用IDA Pro分析 首先打开IDA64.app(Mac版的QQ音乐是64位版本,所以这里使用的是IDA64),点击菜单File –>...

  • 汇编语言简述(逆向工程)

    在逆向分析C/C++等编译型语言时,分析汇编代码是必不可少的。因此,掌握一些简单汇编的知识是十分有必要的。 一些基本概念 汇编语音是面向机器的程序设计语音,使用助记符代替操作CPU指令的机器码,所以汇编语言也称之为符号语言。 不同于C/C++、Java等高级语言,汇编语言操作的对象是CPU、寄存器、内存。 通俗来讲,在汇编语言的里,执行一个指令的一般流程是: 将需要操作的内容写入寄存器 执行对应的机器指令,让CPU运算结果 从寄存器读取结果的值 寄存器 要了解汇编,首先需要知道,什么是寄存器。...

  • Java语言的逆向(Android APP)

    Java语言的逆向比较简单,只说一些关键思路和小技巧。下面以QQ音乐为例,讲述Android APP逆向的基本过程。 静态分析 将APK反编译成比较方便理解的代码(如smali、Java代码等),进行静态分析,了解代码的流程和设计逻辑。 将APK反编译成smali代码 apktool d QQMusic72282.apk 反编译出如下文件: 将APK反编译成Jar包...