![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编以及逆向工程
JackxinXu2100
专注于传统企业互联网化的信息技术提升赋能研究,帮助企业实现信息能力快速提升。
展开
-
OllyDBG 入门系列(一)-认识OllyDBG
一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示转载 2010-06-06 22:29:00 · 1180 阅读 · 0 评论 -
Android插件化学习之路(三)之调用外部.dex文件中的代码
Java程序中,JVM虚拟机是通过类加载器ClassLoader加载.jar文件里面的类的。Android也类似,不过Android用的是Dalvik/ART虚拟机,不是JVM,也不能直接加载.jar文件,而是加载dex文件。先要通过Android SDK提供的DX工具把.jar文件优化成.dex文件,然后Android的虚拟机才能加载。注意,有的Android应用能直接加载.jar文件,那是因为转载 2017-12-10 08:39:41 · 524 阅读 · 0 评论 -
Android APK加壳技术方案【2】
本文章由Jack_Jia编写,转载请注明出处。 文章链接:http://blog.csdn.net/jiazhijun/article/details/8809542 一、序言 在上篇“Android APK加壳技术方案”(http://blog.csdn.net/jiazhijun/article/details/8678399)博文中,根据加壳数据在解壳程序Dex文件所处的位转载 2017-12-10 08:38:26 · 365 阅读 · 0 评论 -
Android APK加壳技术方案【1】
本文章由Jack_Jia编写,转载请注明出处。 文章链接:http://blog.csdn.net/jiazhijun/article/details/8678399一、什么是加壳? 加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。PC EXE文件加壳的过程如下: 二、加壳作用 加壳的程序可以有效阻转载 2017-12-10 08:35:56 · 380 阅读 · 0 评论 -
Android Dex文件结构
文件头(File Header)Dex文件头主要包括校验和以及其他结构的偏移地址和长度信息。字段名称偏移值长度描述magic0x08'Magic'值,即魔数字段,格式如”dex/n035/0”,其中的035表示结构的版本。checksum0x84校验码。signature0xC20SHA-1签名。file_size0x204Dex文件的总长度。header_size0x244文件头长度,009版本转载 2017-12-10 08:32:31 · 672 阅读 · 0 评论 -
Android反编译与破解工具次序
1. 首先解压apk文件,获得classes.dex文件 java -jar .\apktool2.3.0.jar d com.ct.client201711.apk2. 使用baksmali反编译classes.dex; java -jar .\baksmali\baksmali-2.2.2.jar d classes.dex -o .\outclass\3. 反编译的smal原创 2017-11-19 10:57:27 · 1137 阅读 · 0 评论 -
MSIL/CIL 指令集合
This is a list of the instructions in the instruction set of the Common Intermediate Language bytecode.OpcodeInstructionDescription0x58addAdd two values, returning a new转载 2011-12-24 23:10:41 · 1675 阅读 · 0 评论 -
微软的.NET逆向步骤简论
微软的.NET以及MSIL语言出来好多年了,以前有从逆向的角度去分析过一些代码,但是逆向修改代码并且编译回去还是第一次做,下面是具体的逆向步骤(下面以DLL为例,.exe类同):1. 使用ildasm.exe 工具来加载.NET开发的.DLL文件,加载后该工具将整个Meta信息分析得很清楚(譬如Namespace、类名、常量定义、函数定义等),在文件->转储,在接下来的框根据自己的需要勾选原创 2010-03-10 17:27:00 · 2500 阅读 · 0 评论 -
一国外软件的加密防护研究(初级水准)
<br />最近因为项目关系使用了一个国外软件,但是过了一段时间后发现Expired了,看来还得动手分析一下,结果发现这个软件的防护还是出奇的脆弱,只能得初级水准。<br />下面不妨以此为例分析一下其防护(此分析仅限技术研究,用于其它目的者责任自负)。<br />当你点击注册时,此软件报告: "Sorry, register failed, please try again."<br />使用wdasm进行静态分析看看,依照字符串定位方式,不难找到如下代码段:<br />* Reference To: M原创 2010-12-28 12:44:00 · 1626 阅读 · 0 评论 -
OllyDBG 入门系列(七)-汇编功能
<br />今天我们的目标程序是 MyUninstaller 1.34 版。这是一个非常小的程序卸载工具,VC6编写,大小只有61K。我拿到的这个是上次闪电狼兄弟给我的,附带在里面的简体中文语言文件是由六芒星制作的。这个程序有个毛病:就是在列出的可卸载程序上双击查看属性时,弹出的属性窗口的字体非常难看,应该就是系统字体(SYSTEM_FONT):<br /><br /><br /><br />我们今天的目标就是利用 OllyDBG 的汇编功能把上面显示的字体改成我们常见的9号(小五)宋体。首先我们用 Oll转载 2010-06-06 22:39:00 · 1117 阅读 · 0 评论 -
OllyDBG 入门系统(六) - 消息断点及RUN跟踪补充
<br />看完了《OllyDBG 入门系统(五)-消息断点及 RUN 跟踪》之后感觉如何?会否有如下问题:<br />1、 是否觉得不知道在哪下断?<br />2、 为什么要这样子下断?<br />3、 如何确定断下来后的位置就是正确的?<br /><br />好,就本着这几个问题来分析一遍。<br /><br />首先,先回顾下Windows的消息机制。要点:所有要处理的消息必然会由程序自己处理,不处理的消息都交由Windows处理。Windows的消息处理函数的格式,如下:<br />LRESU转载 2010-06-06 22:37:00 · 4219 阅读 · 0 评论 -
OllyDBG 入门系列(四)-内存断点
<br />还记得上一篇《OllyDBG 入门系列(三)-函数参考》中的内容吗?在那篇文章中我们分析后发现一个 ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个 ESI 值的计算部分。今天我们的任务就是使用 OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个 crackme,附件我就不再上传了,用上篇中的附件就可以了。下面我们开始:<br />还记得我们上篇中所说的关键代码的地方吗?温习一下:<br /><br />004013转载 2010-06-06 22:34:00 · 1120 阅读 · 0 评论 -
OllyDBG 入门系列(三)-函数参考
<br />现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。老规矩,先运行一下这个程序看看:<br /><br />呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是 Shit 啊,呵呵),在下拉菜单中选“Try It”,会来到如下界面:<br /> <br />我们点一下那个“Check It”按钮试一下,哦,竟然没反应!我再转载 2010-06-06 22:33:00 · 1063 阅读 · 0 评论 -
OllyDBG 入门系列(二)-字串参考
<br />上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程:拿到一个软件先别接着马上用 OllyDBG 调试,先运行一下,有帮助文档的最好先看一下帮助,熟悉一转载 2010-06-06 22:32:00 · 1098 阅读 · 0 评论 -
OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
<br />找了几十个不同语言编写的 crackme,发现只用消息断点的话有很多并不能真正到达我们要找的关键位置,想想还是把消息断点和 RUN 跟踪结合在一起讲,更有效一点。关于消息断点的更多内容大家可以参考 jingulong 兄的那篇《几种典型程序Button处理代码的定位》的文章,堪称经典之作。今天仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 cycle 的 crackme。按照惯例,我们先运行一下这个程序看看:<br /> <br />我们输入用户名 CCDebuger,序列号转载 2010-06-06 22:35:00 · 1617 阅读 · 0 评论 -
关于apk加壳之动态加载dex文件
由于自己之前做了一个关于手机令牌的APK软件,在实现的过程中尽管使用了native so进行一定的逻辑算法保护,但是在自己逆向破解的过程中发现我的手机令牌关键数据能够“轻易地”暴露出来,所以我就想进一步的对其进行加固。于是,我使用的网上常用的梆梆加固、爱加密和阿里的聚安全应用来对我的apk进行一个加固保护。加固后,出于好奇心,我想对这些加固的原理进行一个了解,便于我自己能够实现这个加固的方法。于是转载 2017-12-10 08:41:32 · 1307 阅读 · 0 评论