网络游戏逆向分析-6-使用背包物品call 首先,大家在处理网络游戏的时候,一定得利用好发包函数,因为他就是整个网络游戏的关键. 处理办法: 这里还是直接给发包打断点来处理. 就像我们之前处理喊话函数call一样来处理它: 还是先给send打断点,然后依次往上找函数调用,直到只有使用背包物品才会断下来的函数作为关键函数分析: 肯定会有重复的,重复的就直接继续往上跳就行了 我在这个背包6这个函数这里就满足了所有要求:1:使用背包内容会断下来,2别的不会.所有我就把这个作为一个关键函数call来分析…
网络游戏逆向分析-3-通过发包函数找功能call 网络游戏和单机游戏的分析有相似点,但是区别还是很大的. 网络游戏和单机游戏的区别: 网络游戏是需要和服务器进行交互的,网游中的所有功能几乎都会先发送封包数据到服务器,然后有服务器做出判断后反馈给客户端,客户端才会产生对应的相关功能. 找功能call的办法: 由于网游和单机游戏的区别,所以在网络游戏中要寻找功能call可以通过在发包函数处下断点来回溯找功能call. 相当于服务器是一个皇帝,客户端每想干什么事情前都得先给服务器进行交互,直到服务器同…
网络游戏逆向分析-4-分析喊话call参数来源 好久没更新了,去实习去了,大家见谅一下. 前面找到了喊话功能call函数,然后分析了它的参数有五个,分别的四个push的和一个ecx: 第一次edx = 0ebx = 0ecx = 7E205ABC //字符串的首地址​edx = 5ABEB800ecx = 2747D108 第二次:edx = 0ebx = 0ecx = 2747D108edx = 5ABEB800ecx = 2747D108​通用指令:​push 0 //第一个push edx…
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/Instant_Messaging_and_Presence_Protocol https://www.trillian.im/impp/ http://en.wap.wikipedia.org/wiki/Presence_and_Instant_Messaging http://zh.wikiped…
文章内容仅供技术交流,请勿模仿操作! 背景(作者) 每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了“狡兔三窟”的方式来藏身上带的银行卡,但我们在外出时没有从ATM取款机取走100美元的时候,我们总是手挽手,连走路时候都很小心.期初我认为我也有些偏执症,但由于每一次去取钱还是要输入密码,我也很清楚这一切早晚都会发生的..... ATM Skimmer ATM Skimmers 即ATM分离器,Brian Krebs(1995 ~…
C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的内存结构中,父类私有的成员数据依然存在.C++语法规定的访问限制仅限于编译层面,在编译过程中进行语法检查,因此访问控制不会影响对象的内存结构. 子类未提供构造函数或析构函数,而父类却需要构造函数与析构函数时,编译器会为子类提供默认的构造函数与析构函数.但是子类有构造函数,而父类不存在构造函数,且没有虚函数,则…
一.声明 作者并不懂嵌入式开发,整个逆向流程都是根据自身逆向经验,一步一步摸索出来,有什么错误请批评指正,或者有更好的方法请不吝赐教.个人写作水平有限,文中会尽量把过程写清楚,有问题或是写的不清楚的地方,后面再慢慢修改. 二.正向开发流程 C语言开发,开发工具使用CCS(Code Composer Studio,基于eclipse开发的),有过开发经验的都会很容易上手,新建test工程,选择C674x,输出文件为ELF格式,如图所示: 编译成功后,会生成test.out文件(ELF格式). 使用…
"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物由学"希望通过一篇篇技术干货.趋势解读.人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你. 以下为文章正文: 想知道Android App常见的保护方法及其对应的逆向分析方法吗? 网易云易盾资深安全工程师 钟亚平 3月17日,安卓巴士全球开发者论坛在重庆举办,网易资深安全工程师钟…
前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之鱼不如授之以渔,只有知道一些基本原理,才能让我们以后能自行解决更多问题. 那么,你知道么?从我们在Android Studio中,点击run,到app运行在手机上,之间究竟发生了什么,代码和资源是怎么变成APK的,而APK又是怎么安装上去,并能执行的呢. build-simple-overview…
没有学过逆向,一时兴起,搞了一下这个小软件,名为“逆向分析”,其实过程非常简单,难登大雅之堂,就当段子看吧.首先介绍一下背景吧.这是一款国外的Blackjack也就是21点算牌软件,我从来不玩牌的,机缘巧合看到了这个软件搞着玩一下.21点算牌需要用到Strategy也就是策略,说白了就是算法,从20世纪50年代60年代一直发展到现在,国外的算法大神们研究出了很多厉害的Strategy这款软件,本身是可以免费使用的,默认免费情况下提供了2个Strategy在这之外,有两项增值服务,一是在默认的两个…
010 Editor 的逆向分析整体算下来还是比较简单的,将程序拖入OD,通过字符串搜索定位到核心代码,经过分析,主要是如下图所示的两个关键函数,返回正确的值,才算是注册成功. 00409C9B 这个函数返回DB 才是正确的,看下面的关键跳转,这个很好判断. 进入00409C9B 后发现该函数也调用了0040A826的函数,而且这个函数必须返回2D,00409C9B才能返回DB. 所以主要分析0040A826函数让其返回2D就可以了. 进入0040A826函数以后如下图所示 这里有两个关键的函数…
不算前言的前言:拖了这么久,才发现这个专题没有想象中的简单,学习的路径大致是Step7->S7comm->MC7 code->firmware,我会用尽量简短的语言把前两部分讲清楚,前两部分的知识或者经验扎实的话对整个PLC CPU的体系结构会产生全面而感性的认知. 从上周五到这周三,困在西门子PLC固件逆向分析上已经有几天时间了,昨天我突然意识到可能是我现在的知识储备并能够支撑我的“雄心壮志”,因此我选择返回原点,再把和固件分析相关的知识如S7comm和MC7 code再仔细研究一遍,…
前言一.工具及软件介绍二.逆向分析2.1.找到提示错误注册弹窗2.2.分析跳转处代码2.3.=2D 函数分析2.3.1.获取注册码处分析2.3.2.3处分支分析2.3.2.1.9C情况2.3.2.2.FC情况2.3.2.3.AC情况2.3.3.用户名处理函数2.3.3.1.函数调用处分析2.3.3.2.函数内部分析2.3.4.用户名处理函数返回值及剩余代码分析三.注册机编写3.1.注册机外观3.2.结果验证3.2.1.版本授权3.2.2.天数授权四.网络验证4.1.两处判断网络验证是否通过处4.…
前言 通过本文介绍怎么对一个 windows 程序进行安全分析.分析的软件版本为 2018-10-9 , 所有相关文件的链接 链接:https://pan.baidu.com/s/1l6BuuL-HPFdkFsVNOLpjUQ 提取码:erml 逆向分析 定位核心代码 拿到一个软件首先需要进行攻击面的探测,即找到尽可能多的可以与程序进行交互的入口点,有数据交互的地方就有可能会出现漏洞.首先对软件的功能做一个大概的了解,发现搜狗输入法能够安装用户自定义的皮肤,这是一个比较好的入口点,于是下面分析分…
http://blog.zhaiyifan.cn/2016/02/13/android-reverse-2/ 2/18日增加对aidl和java编译的描述. 前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之鱼不如授之以渔,只有知道一些基本原理,才能让我们以后能自行解决更多问题. 那么,你知道么?从我们在Android Studio中,点击run,…
copy : https://blog.csdn.net/u012573920/article/details/44034397 1.Smali简介 Smali是Dalvik的寄存器语言,它与Java的关系,简单理解就是汇编之于C.假如你对汇编有足够的驾驭能力,那你可以通过修改汇编代码来改变C/C++代码的走向.当然,学过汇编的都清楚,汇编比BrainFuck还难学,更不用说去反编译修改了. 但是Smali有一点不一样,就是它很简单,只有一点点的语法,只要你会java,了解Android的相关知…
20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌丝功能,比如自动抢红包,微信阻止撤回,语音可转发等效果,现在步入了SDK 6.0时代,安上了黑域还有绿色守护真的省电,尤其你在装谷歌全家桶的时候,那个是真的费电啊!这篇文章,我想写一点xposed的工作原理.在不修改APK的情况下,影响其运行过程的服务框架.可以根据自己的需求编写模块,让模块控制目标…
20145307陈俊达_安卓逆向分析_APKtools分析smail 引言 真刺激呢!到了第二篇博客了,难度开始加大,之前是简单的dex2jar和有图形界面的jd-gui,现在来隆重介绍强大的反汇编工具apktool,这次开始将使用汇编的知识了 直接开始 创建一个安卓程序,emptyactivity就行,主java代码和xml布局代码如下: public class MainActivity extends Activity { private final String ACCOUNT="jcl…
20145307陈俊达_安卓逆向分析_dex2jar&jd-gui的使用 引言 这次免考选择了四个项目,难度也是从简到难,最开始先写一个工具的使用 想要开发安卓首先要会编写代码,但是想要逆向分析安卓的话就要对它的输出文件结构有所了解.首先我们要先了解安卓的输出文件结构. start! 开发工具一般就是eclipse和官方的安卓studio,两者文件结构略有不同,这里用官方的安卓studio也就是IDEA IDE+SDK来进行讲解 app文件夹就是src文件夹用来存放java相关代码,就是源文件.…
概述 最近一直在学习Android应用安全相关和逆向分析的知识.现在移动app在安全方面是越来越重视了,特别是那些巨头企业涉及到钱的应用,那加密程度,简直是丧心病狂,密密麻麻.从这里可以看出,对于应用的安全,那些巨头企业是多么的看重了.我们有时候在某个app上见到某个功能,某个效果蛮不错的,我们想看看对方的思路怎么走的,这时候,我们就可以通过反编译来编译该apk,拿到代码,进行分析. 本人的是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的.先看看需要到的工…
0x00 前言 2017年5月12日全球爆发大规模蠕虫勒索软件WanaCrypt0r感染事件,各大厂商对该软件做了深入分析,但针对初学者的分析教程还比较少,复现过程需要解决的问题有很多,而且没有文章具体介绍勒索软件的实际运行流程,所以我写了这篇面向初学者的教程,希望帮助大家. 0x01 简介 本文将要介绍以下内容: 样本实际运行流程 IDA动态调试方法 具体调试wcry.exe的过程 0x02 样本分析 测试环境: Win 7 x86 测试工具: IDA 6.8 样本下载地址: http://b…
最新背包代码: Unity3D — — UGUI之简易背包 Unity版本:2017.3 功能:用UGUI实现简单的背包物品拖放/交换功能 一.简介 在UGUI下,物品的拖放脚本实现主要依赖于UnityEngine.EventSystems下的三个接口 IBeginDragHandler,  IDragHandler,  IEndDragHandler: 其次还有IPointerEnterHandler,IPointerExitHandler等接口来实现鼠标移入移出等操作的监控,同时引用这些接口…
一个PE文件的逆向分析 idf-ctf上有个题,是PE文件的逆向,反正对我来说做出来就是有意思的题,做不出来就没劲.言归正传,下面看一下吧 大家想玩可以去这个地方去拿题http://pan.baidu.com/s/1dDzUL0X 然后,上次说到了IDA的F5插件,是的,很牛.之前不用是因为太菜,不会......然后这次用了下,果然神器,所以最近也很有必要学一学IDA的东西,推荐大家看<IDA Pro权威指南>. 好的吧,先把文件拖peid,没壳.然后拖OD,捣啊捣,脑袋大,下断点啊啥的,反正…
前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android.permission.SYSTEM_ALERT_WINDOW权限. 如下图, 截图是在使用Chrome时截的, 但是屏幕顶部却有UC的view浮在屏幕上. 我使用的是小米, 我并没有给UC授悬浮窗权限, 所以我看到这个悬浮窗时是很震惊的. 截图 悬浮窗原理 做过悬浮窗功能的人都知道, 要想显示悬浮窗…
逆向分析工具表 工具 描述 网址 androidterm Android Terminal Emulator http://code.google.com/p/androidterm/ droidbox Android Application Sandbox https://code.google.com/p/droidbox/ TaintDroid Realtime Privacy Monitoring on Smartphones https://github.com/TaintDroidh…
项目地址:https://github.com/BaiduSecurityLabs/ZjDroid 前提条件: 1.Root手机一部 2.须要通过Xposed installer( http://dl.xposed.info/latest.apk)安装Xposed Framework; 一.ZjDroid工具介绍 ZjDroid是基于Xposed Framewrok的动态逆向分析模块,逆向分析者能够通过ZjDroid完毕下面工作:1.DEX文件的内存dump2.基于Dalvik关键指针的内存Ba…
逆向分析基础 0x01-0x0C 本笔记使用汇编指令为x86架构下汇编指令,ARM架构汇编指令不做介绍 0x01. 关于RE 逆向工程(Reverse Engineering RE) 逆向分析方法: 静态分析法:观察代码文件的外部特征.获取文件的类型(EXE.DLI.DOC.ZIP等).大小.PE头信息.Import/Export API.内部字符串.是否运行时解压缩.注册信息.调试信息.数字证书等多种信息,使用反汇编查看内部代码 动态分析法:通过调试来分析代码流,获取内存状态,可以在观察文件.…
因为objc是动态绑定的,程序运行时必须知道如何绑定,依靠的就是类描述.只要知道类描述是如何组织的就可以获取一切有用的信息.不知道是幸运还是不幸,这些信息全部都在运行的程序中.即使没有IDA这样的工具,也能够获知程序中定义了哪此类,分析它们的定义以及作用. 下面我截取几个片段. 常用基础类的派生树: 还有dispatch_object的派生树: 知道类名字后就可以知道一切关于它的信息,以UIView为例,信息太多犹其私有方法太多只能截取几个片段. 首先实例的尺寸 实例的成员分布(成员变量符号名称…
经过一个阶段5次迭代之后,本逆向分析工具功能基本成形.工具的基本功能介绍请参看前面的posts. 现在就和hopper的逆向函数伪代码的功能对比一下效果.在这里并非定胜劣,因为差异可以拿来对比参照,通过比较发现有参考的东西. 下面是hopper的输出的伪代码: void _CABackingStoreUpdate_(int arg0, int arg1, int arg2, int arg3) { var_148 = r9; r12 = arg3; r13 = arg2; var_D8 = ar…
Soul app是我司的竞品,对它的语音音乐播放同步联动的逻辑很感兴趣,于是就开启了一波逆向分析. 下面看代码,以及技术分析,直接步入正轨,哈哈. 我们根据https://github.com/xingstarx/ActivityTracker 这个工具,找到某一个页面,比如cn.soulapp.android/.ui.post.detail.PostDetailActivity 这个页面,然后我们用反编译工具AndroidToolPlus反编译soul 的Android apk, 然后搜索下P…