基本ROP 随着NX保护的开启,以往直接向栈或者堆上直接注入代码的方式难以继续发挥效果。攻击者们也提出来相应的方法来绕过保护,目前主要的是ROP(Return Oriented Programming),其主要思想是在**栈缓冲区溢出的基础上(这一条之后不再重复提及),通过利用程序中已有的小片段(gadgets)来改变某些寄存器或者变量的值,从而改变程序的执行流程。**所谓gadgets就是以ret结尾的指令序列,通过这些指令序列,我们可以修改某些地址的内容,方便控制程序的执行流程。
栈溢出原理 栈溢出指的是程序向栈中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致栈中与其相邻的变量的值被改变。这种问题是一种特定的缓冲区溢出漏洞(比如说,还有向堆中写,向bss段写)。而对于黑客来说,栈溢出漏洞轻则可以使得程序崩溃,重则可以使得攻击者控制程序执行流程。
博客与朋友们的相关交流问题 由于只有发博客的时候,才会观看到一些朋友反馈遇到的一些问题,不能及时回复,所以希望各位朋友谅解~大家可以在我的qq群里面进行交流,群里基本都是学习或研究安卓逆向以及游戏破解的学生,工作者,可以很愉快的进行交流学习~也可以去www.pd521.com 论坛进行发帖交流,论坛上的大牛也是挺多的,如果有人看到会进行解答交流~爱破解,爱鬼哥交流群:37772
早来的圣诞礼物!--android 逆向菜鸟速参手册完蛋版 早来的圣诞礼物!--android 逆向菜鸟速参手册完蛋版把之前的骚动版,漏图快速检查补上 5 多千页翻到手软与眼花。。。而且又进行部分调整与扩展。。。
《增广贤文》 抄来与君共勉~~~~~~~~~~《增广贤文》 昔时贤文,诲汝谆谆。 集韵增广,多见多闻。 观今宜鉴古,无古不成今。 知己知彼,将心比心。 酒逢知己饮,诗向会人吟。 相识满天下,知心能几人? 相逢好似初相识,到老终无怨恨心。 近水知鱼性,近山识鸟音。 易涨易退山溪水,易反易复小人心。
关于dvmLoadNativeCode的相关方法(调试时可以利用) bool dvmLoadNativeCode(const char* pathName, Object* classLoader, char** detail){ SharedLib* pEntry; void* handle; ...... pEntry = findSharedLibEntry(pathName); if (pEntr
android linker 浅析 Android 的加载/链接器linker 主要用于实现共享库的加载与链接。它支持应用程序对库函数的隐式和显式调用。对于隐式调用,应用程序的编译与静态库大致相同,只是在静态链接的时候通过--dynamic-linker /system/bin/linker 指定动态链接器,(该信息将被存放在ELF文件的.interp节中,内核执行目标映像文件前将通过该信息加载并运行相应的解释器程序linker.)
PyQt4学习资料汇总 一个月前研究了下PyQt4,感觉比较不错。相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来。关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干二净。1.PyQt4资料链接 http://www.riverbankcomputing.com http://wiki.woodpecker.org.cn/moin/P
逆向基础第一篇:C++中基本数据类型的表现形式 最近除了在研究arm汇编方面,对x86也一直在学习,刚好有朋友写好的系列文章,为了让更多有兴趣的朋友找到,我就在这里转载了。原地址:http://www.0x520.com/2014/07/01/175.html全部系列:http://www.0x520.com/321.html一、整数类型1、无符号整数无符号整数的取值范围:0x00000000 ~ 0xFFFFFFFF。
跟着鬼哥学android java hook(三) 按照上文的约定,我们继续第三篇文章,找一个游戏来测试此框架和插件的稳定性。一个解谜逃脱类的游戏,挺好玩的,我还是未破解情况下玩通上一个版本了,新版本其实也出来两三个月了,过了那个新鲜劲头,就直接破解得了。游戏正常的破解方面,读者自己去搞吧,一般是看完我以前发过的所有文章,这个游戏是很简单搞定的,在这里,我们不用暴力破解的方式来搞,假设游戏里面加入了很多防护,如文件md5验证,dex修改,签
跟着鬼哥学android java hook(二) 第一篇文章读完之后,大家在熟悉了cydia的hook框架了,然后我们就开始下一步的学习。本篇文章,主要是修改正常软件中方法的返回值,大家可以根据这个思路去延伸扩展,不要局限于此文一个思路。0x1:建立新工程新建立一个正常安卓工程,具体可以看附件工程名:TestHook包名:com.example.testhook主类:MainActivity.java 编写一个测试
听鬼哥说虐心的2048简化过程 从开发转到逆向破解,开始准备写博客后,朋友们说,想看一些好玩的游戏分析过程,简单一点,最好是会开发的人员能完成的,那么本篇就不讲反编译追踪代码实现方式了,写给一些开发者朋友来对自己喜欢的小软件进行破解。在flappybird火了一阵子之后,又出来一些小游戏,使得部分人爱不释手,欲罢不能,在游戏出来以后,我也玩了好长一段时间了,看着空间里面整天有人晒着自己的得分,那么咱们就一起来看一下,如何实现
听鬼哥说故事之U3D游戏破解分析 平时里,我们休息的时候喜欢玩点休闲小游戏,不过对于游戏发烧友来说,玩点好玩的稍微大型的游戏则是最好的乐趣,好,今天我们对一款Unity 3D引擎开发的跑酷游戏进行破解分析,主要修改方式为dll文件的相关处理。游戏名称:死亡航线 Dead Route 开发商:GLU主要分析对象:dll文件的简单追踪函数和修改分析步骤1:寻找关键点打开游戏查看购买过程:点击商店,点击购买东西,
听鬼哥说ZJDROID脱壳的简单使用 源码作者:jiazhijun源码地址:https://github.com/BaiduSecurityLabs/ZjDroid简易测试:听鬼哥说故事测试手机:小米1s,root,装有Xposed 框架测试软件:陌陌5.0 作者已经写好了使用步骤,不过好多朋友还是没法正常使用此神器,于是在此简单写一下使用过程,配上图片,方便大家重新了解此神器的使用。那么我们就从头开始讲吧
关于移动MM购买的相关资料 游戏名称:暴走手残大联盟.apk样本下载地址:http://pan.baidu.com/s/1o6BIyyI准备工作:思考,如何才能无限购买商店内商品①.可以修改发送短信的内容以及短信号码,如短信号码修改为10086,短信内容修改为10086。②.可以找到短信发送位置,直接删除掉发送方法。③.可以直接修改购买逻辑,取消支付的动作去执行购买成功的方法。 Step 1