小道安全

其他

浅谈程序的数字签名

理论基础数字签名它是基于非对称密钥加密技术与数字摘要算法技术的应用,它是一个包含电子文件信息以及发送者身份,并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。一段数字签名数字串,它包含电子文件经过Hash编码后产生的数字摘要,即一个Hash函数值以及发送者的公钥和私钥三部分内容。发送方通过私钥加密后发送给接收方,接收方使用公钥解密,通过对比解密后的Hash函数值确定数据电文是否被篡改。数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。(图片来源网络)数字签名方案是一种以电子形式存储消息签名的方法。一个完整的数字签名方案应该由两部分组成:签名算法和验证算法。(图片来源于网络)android数字签名在android的APP应用程序安装过程中,系统首先会检验APP的签名信息,如果发现签名文件不存在或者校验签名失败,系统则会拒绝安装,所以APP应用程序在发布到市场之前一定要进行签名。在OTA升级中也必须使用到数字签名进行校验,在应用版本迭代必须使用相同的证书签名,不然会生成一个新的应用,导致更新失败。在更新过程中使用相同的证书签名的应用可以共享代码和功能App安装过程中签名检验的流程:1、检查
2022年7月28日
其他

对一个手游修改器锁机APP的分析

SDK存储卡写入权限android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
2022年7月18日
其他

对小绵羊的轰炸APP逆向分析

C++代码(so文件),资源数据,lua数据,签名信息组成的。通过jadx工具查看,该APP的Java层部分代码采用android
2022年7月8日
其他

浅谈溯源分析基础技术

对恶意样本溯源分析一般需要结合动态调试和静态调试分析,样本分析过程中还需要结合网络抓包数据分析,获取到攻击者的域名信息。在对恶意样本分析过程中通常需要关注:恶意样本中是谁发动攻击、攻击的
2022年6月15日
其他

浅谈攻防演练

2.4、任意文件上传漏洞3、代码执行漏洞代表:struts2、spring4、反序列化执行漏洞代表:shiro、fastjson攻击手段和方式
2022年4月20日
其他

APP应用安全检测

背景目前APP发包上架的流程前,免不了需要对APP应用安全检测这个重要且必不可少的步骤流程,APP应用安全检测大部分采用采购第三方的APP安全检测产品(因为这块技术基础储备),也有部分企业基于开源的移动安全框架(MobSF)进行二次开发APP安全检测产品(采购第三方产品费用太高),也有部分安全团队基于团队的技术储备进行基于逆向第三方APP安全检测产品进行开发自研的APP安全检测产品(采购第三方检测产品)。其中移动安全分析开源的框架
2022年3月23日
其他

游戏黑灰产识别和溯源取证

游戏中的黑灰产一般来说,黑色产业指的是从事具有违法性的活动且以此来牟取利润的产业。而灰色产业则指的是不明显触犯法律和违背道德,游走于法律和道德边缘,以打擦边球的方式为“黑产”提供辅助的争议行为。游戏中的黑灰产主要围绕着:外挂辅助软件、盗号软件、工作室、私服、木马、钓鱼软件。外挂:外挂就是一种基于游戏进行作弊的软件,通过利用第三方软件或程序对游戏数据进行修改,篡改游戏原本正常的设定的逻辑规则,使得游戏角色的特定数据变成异常的数据。私服:私服在本质上属于盗版游戏,即未经授权,非法获得游戏服务器端和游戏客户端程序,之后自行设立游戏网络服务器,供其他玩家使用。倒卖游戏资源:即利用各种非法手段,从游戏中获取虚拟货币、虚拟道具等游戏资源,以低于游戏官方售价的价格出售给玩家,赚取差价。黑产在游戏中的获利模式有:养号卖号、卖游戏虚拟币游戏道具、游戏装备、代练、外挂作弊软件的出售、游戏逆向的数据或协议售卖、游戏中挖掘的漏洞售卖。游戏黑灰产不同层面的表现账号层
2022年3月1日
其他

对吃鸡APP的分析

背景在无意间发现某QQ群里,在推广售卖一个月70元的和平精英游戏的APP作弊软件。从APP作弊软件的页面功能展示上可以看到,该APP作弊软件有很经典的全图透视,人物上色,无后座力,子弹穿墙,方框绘制,附近人数等功能。下面就从抓包、脱壳、功能代码解析方面,解析该APP的一些关键功能,如注册功能、辅助作弊功能。APP抓包下面主要以charles抓包工具和逍遥模拟器为介质,进行对APP网络包数据和行为分析。通过APP抓包数据,可以确定该APP数据包都是没做任何加密保护或防抓包保护。所以对于该APP包分析还是相对简单的。下面就简单说明下抓包设置还有几个关键的数据包。charles抓包配置方法1.在charles抓包工具设置要进行抓包用的端口号。2.模拟器或者真机上设置好主机的ip地址和charle工具一致的端口号。主要就是保证charles和模拟器或真机上连接在同一网络同一端口即可。APP软件更新的包信息通过charles工具拦截到,上面的网络通信数据包信息,可以清晰的看到该APP的服务器是放在北京的阿里云,通过校验服务端的gx.txt文件,进行判断是否需要进行对APP版本包的更新。防封引擎APP下载通过上面的网络通信包数据分析,该APP还会从北京阿里云服务器或蓝奏云网盘上(https://pan.lanzouw.com/ipyI0xp25yj?p),进行下载配套的防封引擎插件APP,这样通过两APP进行配合使用,以达到相对游戏作弊行为。通过抓包分析可以看到该APP,它在售卖和发放注册卡功能,它是放在第三方平台https://www.mayifk.cn/details/9411BD8C上进行做收款并发放注册卡的。基于对APP的所有网络通信包分析,可以得出一个结果,该APP作弊软件作者,主要的网络通信行为有北京阿里云服务器、蓝奏云网盘、第三方平台的付款和注册卡做通信和验证。基于服务器信息和付款信息,可以很快速的追踪到该作者的相关信息。APP脱壳通过用jadx工具(还有jeb、androidkiller等工具)查看APP解压后的dex文件,通过工具展示的信息,可以看到该dex文件的入口类Application类已经被处理过了,也就是该APP用了第三方加固软件,进行加固保护过的。识别APP是否加固的小方法1、将app解压出来查看assets目录下,是否有对应的so文件,这个目录下的so文件名称是可以作为识别是什么加固厂商的方法。2、将app拖到反编译工具,如jadx工具上,通过工具可以看出Application的入口类是否被替换,还有是否存在加固厂商的特征。我们知道在APP的Application类中的attachBaseContext和onCreate这两个函数是最先获取执行权进行代码执行的。这也是为什么很多加固工具的主要逻辑都是通过替换APP入口Application,并自实现这两个函数从而达到加固的效果。通过上面的分析该APP采用的360加固进行最App做加固。那么要分析该dex文件的信息就需要进行做脱壳的操作。APP要成功脱壳两个最为关键的要素1、内存中dex的起始地址和大小,只有拿到这两个要素,才能够成功dump下内存中的dex。2、脱壳时机,只有正确的脱壳时机,才能够dump下明文状态的dex。否则,时机不对,及时是正确的起始地址和大小,dump下来的也可能只是密文。APP脱壳的原理对于完整的dex文件,采用暴力搜索方式搜索dex035关键特征,对于抹掉头文件信息的dex如抹掉dex035这个的magic
2021年12月27日
其他

分析免费游戏辅助的盈利方式

背景洛克王国是一款网页游戏,它是为孩子们设计的儿童魔幻社区。百度搜索了下,洛克王国辅助关键字,第一个就是洛克王国旋风辅助
2021年12月6日
其他

教你几招消灭代码漏洞的方法

指针释放完后必须置为空指针指针释放没处理好,容易引发高风险漏洞:内存破坏漏洞。在编程中对指针进行释放后,需要将该指针设置为NULL,以防止后续free指针的误用,从而导致UAF
2021年11月22日
其他

APP加固攻防梳理

背景现在市面上对APP的安全合规管控越来越严格了,也就要求了APP在上架之前一定要做合规检测和加固处理。对APP就是加固的好处,可以提高APP的安全性,提高APP被逆向分析破解的门槛,同时通过加固保护可以提高过安全合规的检测。由于APP加固技术不断被攻破情况,因此加固技术也是不断在快速迭代的过程。现在市面上的加固产品的还是比较多的,并且各个加固技术产品都有其各自优缺点,但是加固产品的所采用技术去有很多共性的地方。下面就对加固和脱壳对抗方案做些梳理总结。加固准备APP加固主要是对APP中的dex文件、so文件、资源文件等进行保护,因此这边对这APP中的关键文件结构做简短梳理总结。App文件的结构Dex文件结构SO文件结构简单的APP加固原理的流程加固的代码先运行,进行初始化工作;加固的代码开始解密被保护的核心代码;加固的代码开始加载解密后的核心代码;加固的代码把控制权转交给核心代码。第一代加固和脱壳第一代加固技术主要做了进行对app的dex文件进行保护和做了一些简单的反调试保护。Dex保护:Dex文件整体加密、字符串加密、自定义DexClassLoader。动态防护:ptrace反调试、TracePid值校验反调试。第一代加固的出现也同时出现各种对加固技术的攻破。从而出现了各种对抗加固的脱壳方法。最突出的是直接从内存dump出dex完整结构脱壳原理:程序在启动过程中,要保证程序正常运行,那么加固壳会自动解密受保护的dex文件并完成加载,基于这个子解密的原理,我可以选择在dex加载完成这个时机点,将其dump下来。从而实现第一层防护壳、加密壳的脱壳。下面罗列几个脱壳方案缓存脱壳法:第一代的某些加固产品,安装包是加密压缩的,安装后回在data/dalvik-cache目录下生成解密的odex文件,这时候只需要获取odex文件进行做为分析的突破点。内存
2021年10月12日
其他

你电脑被挖矿了吗?

挖矿木马理论基础由于区块链技术热炒以及数字货币魔性推广运营,如比特币、以太币、门罗币、达世币等层出不穷的数字货币被各种热炒,在这些的利益驱使下,便出现各种模式的挖矿木马程序。挖矿木马主要就是通过利用各种手段,将挖矿程序植入到用户的计算机中,在用户未感知到的情况下,偷偷利用用户的计算机进行执行挖矿功能,从而获取收益。以下情况是用户中木马的高频事件用户往往在不注意的时候,下载并运行来历不明的破解软件或不安全软件;用户点击运行了钓鱼邮件中的附件的文件;用户没有做好系统及时更新,通过系统漏洞传播;用户浏览了植入挖矿脚本的网页,浏览器就解析脚本进行挖矿。现在的挖矿木马存在种类非常多常见的如:普通开源的挖矿程序、无文件模式的挖矿程序、网页模式的挖矿程序、驱动模式的挖矿程序、Docker模式的挖矿程序。自查挖矿木马1、cpu的使用率,中了挖矿木马,因为会在系统中运行挖矿程序,使得计算机在正常运行下会变得非常卡顿,并且CPU的使用率会变得非常高,甚至会达到100%。2、通过杀毒软件进行全盘查杀,如果计算机中有存在挖矿木马的样本程序,杀毒软件一般情况下是可以查杀。3、通过抓包工具(Wireshark)进行查看分析流量,从流量中去分析排查可疑的流量数据包。样本基本信息通过hash工具获取都挖矿木马样本的MD5、SHA1、CRC32数据。该挖矿样本是控制台窗口的应用程序,通过ExeInfo
2021年10月3日
其他

App安全测试

APP安全威胁在App项目中都会碰到三座App安全大山。App客户端安全、数据传输安全、App服务端安全。下面以分析检测的思路进行对App安全威胁的这三座大山进行一些剖析梳理总结。工具介绍静态分析工具
2021年8月24日
自由知乎 自由微博
其他

对APT攻击样本的探索

APT攻击简介APT攻击,它是集合多种常见攻击方式的综合攻击。综合多种攻击途径来尝试突破网络防御,一般是通过Web或电子邮件传递,利用应用程序或操作系统的漏洞,利用传统的网络保护机制无法提供统一的防御。它除了应用多种途径,高级定向攻击还采用多个阶段穿透一个网络,然后提取有价值的信息,这使得它的攻击更不容易被发现。从整体来说,它是一种高级攻击,具有难检测、持续时间长、攻击目标明确。APT攻击的整个工具生命周期由7个阶段组成:扫描探测、工具投送、漏洞利用、木马植入、远程控制、横向渗透、目标行动。APT攻击主要的流程,通过投放附带恶意代码的word文档程序,进行传播攻击者的专用后门程序,以达到对目标用户的长期控制和信息盗取。APT样本信息该样本主要是由word.exe(word名称自定义的)文档的应用程序和一个自带隐藏的wwlib.dll模块文件组成的。word.exe它具有数字签名的(虽然签名有效期已过期),并且通过多个杀毒软件进行查杀和静态分析,确认它是一个正常、安全的应用程序。word.exe应用程序会动态加载wwlib.dll模块,这也符合了APT常见的攻击手法白加黑的加载方式。这个wwlib.dll模块,它是具有恶意代码的模块,并且wwlib模块是一个没做加密、混淆、虚拟化等保护的dll模块。APT样本逆向分析逆向前的准备1、需熟悉常用的工具:Exeinfo
2021年8月9日
其他

一起来逆向分析吃鸡外挂

背景最近在浏览某网络论坛,看到一款刺激战场的吃鸡外挂软件下载量很高,出于对游戏外挂样本的敏感及逆向的专注,就从论坛上下载一个样本,并进行对该游戏外挂样本,深度功能分析及还原破解的逆向实践,主要从外挂样本的功能表现,样本的基础属性、样本的实现功能、样本的验证功能破解进行实践。基本属性(分析这些未知的软件切记得在虚拟机环境下进行)启动游戏辅助样本后,从表面上来看功能确实很强大,透视、距离、显血、自瞄这些都是玩家想用游戏辅助的一个痛点。但这游戏辅助功能都有实现吗?有这么强大了吗?结合Exeinfo
2021年7月28日
其他

APP隐私合规

背景近期公司的APP收到通信管理局,关于APP侵害用户权益整治专项行动中核查整改问题的通知。整改要求是10天内完成对有问题APP的整改,并提交整改情况报告。通告中APP在个人信息方面主要存在以下问题:1.未明示收集使用个人信息的目的、方式和范围;2.未经用户同意收集使用个人信息;3.未公开收集使用规则;4.违反必要原则,收集与其提供服务无关的个人信息;5.未按法律规范提供删除或更正个人信息功能或公布诉讼、举报方式等信息。APP违规的认定标准(以下标准来源:中国网信网)一、未公开收集使用规则
2021年7月14日
其他

对勒索病毒的逆向分析

样本分析准备基础知识:1.需要具备一定的开发能力2.熟悉汇编语言3.PE文件结构的掌握工具使用:熟练掌握以下常用工具的功能,基于以下工具展开详细分析,可以对病毒样本进行一个详细流程和功能分析,从而分析还原出关键的病毒功能,及研究对应的对抗方案。样本分析流程对一个病毒样本或者软件详细分析,一般可以通过五个步骤进行分析样本功能:样本基本属性、样本结构、样本静态分析、样本功能行为监控、样本动态分析。基于以上的五个步骤基本上可以分析出详细的样本功能实现。样本基本信息通过PEID、ExeInfoPE工具分析出样本的几个基本属性。通过Hasher工具可以分析出样本的MD5、sha1、CRC32的属性值。PEID、ExeInfoPE两个工具原理:通过解析PE文件结构解析出样本的区段信息、通过匹配征码方式匹配出样本是否加壳、加什么壳,样本开发语言和开发工具。样本功能分析病毒样本功能可以从几个维度分析:自启动(服务器,注册表)、释放文件、网络通信、加密解密。主要通过静态IDA分析和动态ollydbg分析相结合,通过IDA分析出样本中的流程结构(也重点关注下导入表信息,字符串信息),然后再针对每个函数进行分析,函数中的参数传递和返回值信息通过ollydbg工具附加下断点进行动态调试分析。以下流程图是整个病毒样本的功能流程,主要就是进行系统服务操作,利用微软的SMB漏洞进行445端口漏洞的尝试、释放真正的勒索病毒样本。样本在IDA工具中的main函数的流程结构样本入口函数的关键功能函数实现的解析恶意代码功能解析开始对445端口漏洞尝试功能解析进行内网445端口漏洞尝试功能实现解析进行外网445端口漏洞尝试功能实现解析漏洞尝试的效果展示释放真正的勒索病毒文件通过从应用程序的资源部分进行释放出病毒样本exe和dll模块,并将样本的exe和dll模块释放到C盘的windows目录下,以伪装成为系统程序。释放样本文件效果展示通过procmon工具,并进行针对病毒样本进程进行监控,可以实际监控到样本释放文件的操作。释放勒索病毒功能梳理释放出来的样本在IDA中展示main函数的流程结构(直接用拖入方式即可)样本main函数流程中的关键函数进行解析样本中将比特币账号采用硬编码方式直接写在代码中采用微软的加解密算法,通过调用系统CryptDecrypt和CryptDecrypt函数用于进行加解密ZIP文件。动态释放模块进行判断释放出来的文件是否是标准PE文件(判断PE文件的DOS头部分“MZ”,在进行判断NT头的PE签名信息“PE”)勒索病毒对以下所有后缀文件进行加密,这些后缀文件基本覆盖所有类型的文件。(仅分享样本大概功能流程,还有如核心的加解密算法相关的功能没有进行分析)对勒索病毒的一点思考1.预防中病毒通用方案在系统上安装病毒查杀软件并及时更新病毒特征库并定时查杀(建议安装火绒)。从互联网上下载的文件、程序进行查看数字签名有效性,并手动扫描查询文件。使用移动存储介质时,进行查杀病毒后再进行打开。不随意打开、安装陌生或来路不明的软件。2.分析勒索病毒断网的虚拟机环境PE文件解析工具进行静态PE文件分析。IDA静态流程和ollydbg动态流程分析。3.勒索病毒预防解决方案主动关闭系统中135、137、139、445端口。创建一个互斥体名称为Global\\MsWinZonesCacheCounterMutexA,让勒索病毒程序
2021年6月30日
其他

弱口令问题引发安全的思考

背景分析某病毒样本时候,发现病毒样本实现对主机进行弱口令爆破功能,通过弱口令爆破从而达到获取主机某些权限和登录主机,并进行做对威胁影响主机安全的事情,例如盗取敏感数据(手机号码、邮箱、身份证号),利用主机进行挖矿,从而给企业带来安全风险和经济损失风险。账号口令安全问题就显得非常重要,因此下面就对账号口令的弱口令进行做梳理。(下图是样本中弱口令爆破尝试)弱口令定义弱口令爆破方案1.爆破工具和安装介绍爆破环境和工具:kali
2021年6月19日
其他

你需要了解的APP安全

点击上方蓝字关注我怎样的APP是安全的呢?只要攻击者所花费的时间成本和精力超过其攻击逆向破解后获取到的收益,那么你的APP就相对安全。对于个人开发者或者某些小企业开发者而言,APP安全的始终是一件让人非常头疼的事情。下面我以安全开发角度出发,进行梳理了一个APP需要关注的APP安全的问题(没有绝对的安全)。主要分为四个方向分别为:
2021年6月1日
其他

APP安全合规

点击上方蓝字关注我们背景介绍APP安全合规的监管机构:APP违法违规收集使用个人信息治理工作组(APP治理小组)、工业和信息化部信息通讯管理局(工信部)、国家移动互联网应用安全管理中心(病毒中心)、地方通信局、地方网安。具体执行APP合规检测和产出报告的是和网安合作的公安部三所下面的一个实验室,简称叫公计检,全称是:公安部计算机信息系统安全产品质量监督检验中心。对APP的安全合规检测主要还是通过采购第三方的APP漏洞扫描工具(目前第三方漏洞扫描产品有:爱加密、梆梆、网易、几维、360等)APP扫描,然后出详细报告,在通过扫描得出的报告进行做对应的应对方案。安卓安全合规的违规处理方式:通告--->罚款--->应用下架--->停业整顿。App安全合规目前主要采用的是通告手段,虽然不会造成经济损失,但是会给公司带来一定的经营风险。安卓合规为什么会比苹果更严峻?安卓应用的安全合规面临主要问题?(以下只是列出APP安全合规面临最突出的10个问题)个人隐私安全合规个人隐私合规主要细分为如下的六个大方向,这也是开发APP应用需要重点关注和处理好的个人隐私合规的问题。敏感权限合规以下是在开发APP应用上会遇到的权限问题,那么对于这些敏感的权限,安全合规的做法就是通过采用渐进授权方式进行申请权限。加解密算法安全合规数据存储安全合规APP应用安全合规需要关注问题在开发并上架APP项目时需要重点关注:程序自身保护安全、运行环境安全、身份认证安全、数据存储安全、内部组件安全、恶意攻击安全这六大问题。APP如何做好基础防护?为了让我们开发的APP能过安全合规检测,我们需要重点关注如下五点,让我们的APP更加安全。APP安全合规建设的思考安全开发人员:熟悉负责的产品功能、了解个人
2021年5月18日
其他

这个鸡腿是你能惦记的

再现鸡腿挂破解版有一个游戏玩家微信上联系我说在XX群买了一个和平精英大鸡腿挂破解版外挂样本但是测试后并没有所谓的开挂功能,让我给分析下。好家伙,鸡腿挂前阵子不是刚被腾讯端了。全球最大游戏外挂,黑产规模上亿元。闲来无事,我来分析看看。魔高一尺道高一丈这个鸡腿挂很厉害,分析起来很简单。运行app,这货功能也太简单。就凭这功能,分分钟钟被玩家举报。主要就是开启辅助和关闭辅助。点击开启辅助会提示注入成功(实际上就是个弹框,没有功能)。点击关闭辅助就是把自己app强制退出而已。分析基本结构1、查下app是否有加壳,结果是没有加壳(查壳原理:比对app中是否有对应加固后新增的so文件)。2、用apktool工具进行解包解包格式为:java
2021年4月21日
其他

你知道威胁手游安全的对象有哪些吗?

点击上方蓝字关注我背景手游客户端的发展往往会吸引一批想从游戏中获利以及爱好逆向分析研究员的关注,因此手游的安全攻守之道就产生了。那么这些威胁对象的存在,给手游客户端的安全带来很大程度上的影响,所带来影响的结果就是:游戏中出现各种外挂脚本,游戏客户端破解版,打金工作室泛滥等等各种作弊行为的出现,最终导致手游客户端的平衡性被破坏,玩家流失,最终导致手游收入的降低。接下来我们分析威胁手游客户端安全的对象有哪些???运行环境的威胁模拟器主流模拟器:
2021年4月11日
其他

对伪装docx文件病毒的逆向分析

进行信息收集上传通过TCP网络传输方式进行数据的信息收集并上传到病毒服务器(服务器ip在山西某地)上,其中服务器信息及上传的内容通过进行MD5加密并进行处理。3.
2021年3月31日
其他

如何写更安全的代码?

点击上方蓝字关注小道安全技术背景作为程序开发人员,我们害怕,听到开发的代码,被测试出bug;我们更害怕,听到我们所开发出来的产品上线了,被新手安全研究员给反汇编逆向破解,代码功能直接被人给盗取了。下面根据我自己的一些项目经验,跟大家分享两点如何能开发出相对安全的代码。以下方案不局限于任何语言代码开发,是一个相对通用的安全编码方案。字符串的安全方案直接使用字符串不建议使用理由:直接定义使用字符串,因为字符串是一个常量,所以我们直接能在静态反汇编中直接看到字符串的数据信息。下图可以很清晰的看懂字符串信息”ntdll.dll”,这样就把代码的字符串信息直接暴露给大家,这样大家就可以通过字符串信息做一些对代码不安全的事情了。字符串赋值到数组使用建议使用理由:将字符串写到数组里面并进行赋值,使得字符串存放在堆里面,这样在程序的字符串常量信息就无法直接看到字符串信息,这样进行静态分析(IDA)的时候字符串信息就没有展示了,这个需要进行动态分析(ollydbg)才能分析到字符串信息。下图展示的是通过将字符串信息存储在数组中的汇编代码,在实际的汇编代码中展示的是一串数据,而不是直接的字符串,这就无法直接看到字符串信息去理解代码,要想理解这串字符串信息,那么就需要去做动态调试分析。从而加强代码的安全性。调用系统函数安全方案直接调用系统的函数不建议使用理由:我们在编码过程中,有很多功能系统都已经有提供的函数接口,一般情况下我们都是直接调用系统函数直接进行实现功能。但你知道吗?你这样直接调用系统函数在一些场景下是不安全的,当你的程序在被安全逆向研究的时候,直接可以通过程序的导入表,以及反汇编看到调用的系统函数,这样我们只要一查下系统函数的功能,那么就可以知道大概的功能点,还有只要一挂钩(HOOK技术)上系统的函数,那么你所调用的系统函数的功能就失效了。下图展示上面函数通过调用系统函数实现的汇编代码。大家可以直接通过展示的系统函数去分析功能。自定义实现函数再调用函数建议使用理由:我们对于关键功能函数建议还是采用自己去实现函数功能,再去调用,这样可以加强程序被直接分析的难度,从而加强程序的安全性。下图是自定义实现函数调用的汇编代码,可以从下面汇编代码看到关键函数是自己实现的,那么要了解该函数功能就需要进入到函数内部去做分析。这从而加强了关键函数功能的相对安全。总结最后说明,以上是经过项目实践总结出来的安全开发方案。我们在项目开发中需要写高内聚,低耦合的代码,同样也需要写一些没有bug的代码,更需要写一些更加相对安全的代码,更需要写一些能增加逆向破解者分析程序的难度(注:这里会有专业人士会说代码直接加VMP保护,不啥问题都没有了吗?不过这这里只进行说明代码开发的一点安全思路),这个才是我们程序员的终极目标,希望本文所阐述的思想能够让大家有所启发。End点个在看你最好看
2021年3月19日
其他

我是这样对灰产 外挂 下手的

Pe查壳工具进行对外挂样本查壳,看看发现是没加壳的应用程序。(心里突然咯噔了下,收费的外挂竟然都不做点保护,不对自己的程序负责,就直接把程序在市场上裸奔了)2.分析还原外挂样本具体功能实现方式2.1
2021年1月14日
其他

安卓逆向:重温Thumb汇编指令的细节

主要内容1.Thumb指令集详解2.Thumb直接访问的寄存器3.Thumb指令集组成部分详解4.Thumb和arm状态切换5.Thumb的常见应用场景1.Thumb指令集详解•ARM处理器支持两种指令集:ARM指令集和Thumb指令集。•ARM指令集指令长度为32位,Thumb指令集指令长度为16位。在16位外部数据总线宽度下,ARM处理器上使用Thumb指令的性能要比使用ARM指令的性能更好。•存在Thumb指令的意义:兼容数据总线宽度为16位的应用系统。2.Thumb直接访问的寄存器3.Thumb指令集组成部分•3.1.Thumb数据处理指令•3.2.分支跳转指令•3.3.寄存器加载存储指令(单寄存器、多寄存器)•3.4.杂项指令•SWI:软中断指令指令格式如下:
2020年12月15日
其他

安卓逆向:老司机带你回顾ARM和C/C++基本结构

-----------------------------------------------------------------------------Arm
2020年12月4日
其他

安卓逆向:这是一篇逆向基础函数在ARM32中的刨根问底。

pointer寄存器,即栈指针寄存器。在ARM指令系统中是地址递减栈,入栈操作的参数入栈顺序是从右到左依次入栈,而参数的出栈顺序则是从左到右的你操作。包括push/pop和LDMFD/STMFD等。
2020年11月27日
其他

安卓逆向:这是一篇逆向基础ARM32指令集的总结

这是一篇关于ARM32指令集的总结文章,后续会不断输出一系列逆向分析破解相关的文章。ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个状态寄存器都是可访问的。
2020年11月22日