远程登录到iPhone 我们经常在Mac的终端上,通过敲一些命令行来完成一些操作 iOS和Mac OS X都是基于Darwin(苹果的一个基于Unix的开源系统内核),所以iOS中同样支持终端的命令行操作 在逆向工程中 服务器主机地址,比如ssh root@10.1.1.168(这里的服务器是手机) 初始密码alpine 登录成功后就可以使用终端命令行操作iPhone 退出登录命令是exit root和mobile iOS下有2个常用账户 PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd 22端口 端口就是设备对外提供服务的窗口,每个端口都有个端口号(范围是0~65535,共2^ tcprelay.py 22:10010 注意:要想保持端口转换状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面) 不一定非要10010端口,只要不是保留端口就行 usbmuxd的使用2 端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了 新开一个终端界面,SSH登录到Mac本地的10010端口(以下方式2选1) ssh root@localhost
准备 当前许多逆向的writeup倾向于使用IDA-Pro, 而且似乎都依赖于F5(反编译的快捷键), 直接 从二进制文件转成了可读的C代码. 所以本文逆向采用了另一个开源的(但也同样强大的)二进制分析工具–Radare2. 如果你是个资深的逆向人员, 那么从本文也可以了解下radare2的一些功能. 我在Linux环境工作, 用到的几个工具如下: radare2工具集(用于静态分析) gdb(用于调试) peda(一个gdb的插件) 目标准备 初步打算是这一系列逆向文章使用IOLI的crackme文件来作为目标 解法1: 逆向分析 话不多说, 打开radare2: r2 -A crackme0x00 进入后自动跳转到了函数入口0x08048360, 然后用pdf命令来查看汇编代码: [x] Analyze all 总结一下求解crackme类问题的方法, 1)逆向分析, 2)修改程序, 3)利用漏洞, 4)利用Fuzzy.
FULL_SCREEN", 0); Func.b = new Func("FIT_NOTCH", 1); Func.c = new Func("IMMERSIVE_MODE", 2) 这个jar9的包,实现了编辑器的功能~我们看别的 @GET("api/v2/events") @Headers({ "Content-Type: application/json", "Accept: application/json" }) @GET("api/v2/tags/upload") @Headers({ "Content-Type: application/json", "Accept
该枚举例程检查在shellcode和手动映射的可移植可执行文件中经常出现的内存异常2。 2手动映射可执行文件是复制Windows图像加载器的过程 这是通过枚举所有进程及其各自的线程来完成的。 driver_folder_handle); } } battleye::send(&thread_report.pad, 0x2A 2 : 1; if ( search_index >= search_count ) break; // SEARCH CURRENT PROCESS BEFORE LSASS if report.pad = 0; report.id = 0xBEu; battleye::send(&v313, buffer_size + 2,
a3) { return C(D(C(C(Z, Y), C(a1, a3)), a2), a0); } function F(Y, Z, a0, a1, a2, a3, a4) { , 108, 101]; let a1 = ""; for (let a2 = 0; a2 < a0["length"]; a2++) { a1 += String["fromCharCode "](a0[a2]); } return a1; } function I(Y, Z, a0, a1, a2, a3, a4) { return E(Z ^ a0 ^ a1, Y, Z, a2, a3, a4); } function J(Y, Z, a0, a1, a2, a3, a4) { return E(a0 ^ (Z | ~a1), Y, = []; for (a2[(Y["length"] >> 2) - 1] = undefined, a1 = 0; a1 < a2["length"]; a1 += 1) a2[a1] =
pdriver_obj, rbx INIT:000000014000C29D call create_symbolic_link INIT:000000014000C2A2 or eax, eax INIT:000000014000C2A4 jns short loc_14000C2B2 INIT :000000014000C2A6 lea rcx, aFailedToCreate_0 ; "Failed to create symlink\n" INIT: 000000014000C2AD call debug_with_prefix 考虑到我们知道驱动程序如何与用户模式进程通信,让我们看看 IOCTL 钩子函数本身。 __int64) "Allocated at %llx with status %x\n", v33, v4); v21 = v33; }* v20 = v21; v20[2]
前言之前分析了某盾 Blackbox 的指纹算法, 这次再来做做它的验证码,该指纹算法在验证码参数里面也会有用到,详细查看往期文章 :【JS逆向百例】某盾 Blackbox 算法逆向分析:https:/ /mp.weixin.qq.com/s/ueWVmlpLOljOLb1a7vEBag逆向目标目标:某盾 v2 滑动验证码网站:aHR0cHM6Ly9sb2dpbi5kb3NzZW4uY29tL3Nzby9jaGVja0xvZ2lu 验证结果:失败:needValidateCode:true 继续返回图片接口信息成功:needValidateCode:false返回 validateToken逆向分析我们先来看图片接口的 P1 ~ 并进行高斯模糊,减少噪声影响 tp_gray = cv2.GaussianBlur(cv2.cvtColor(tp_img, cv2.COLOR_BGR2GRAY), (5, 5), 0) bg_gray = cv2.GaussianBlur(cv2.cvtColor(bg_img, cv2.COLOR_BGR2GRAY), (5, 5), 0) # 使用 Canny 边缘检测提取图像特征
原本基于Mono的打包方式极其容易被逆向,现在市面上的新游戏基本上都是用Il2cpp的方式打包的,当然Il2cpp的逆向教程也很多,但是都是千篇一律,教你用国内大佬写的Il2cppDumper去dump 我这边简要概括下,在libil2cpp.so里面有个il2cpp_init函数是加载函数调用链中的第一个函数,整个调用链是这样的 il2cpp_init -> il2cpp::vm::Runtime 另外那篇文章中有个例子是il2cpp_init被做了ROT-5处理,函数名变成了nq2huu_nsny,然后我发现在我自己找的一些case里搜索nq2huu_nsny也能找到,所以这个nq2huu_nsny 其他方法 有几个比较先进的工具可以帮助我们对Il2cpp进行逆向分析,用来解这题也非常方便 Zygisk-Il2CppDumper:一个Magisk插件,可以动态dump函数名和函数偏移,最初需要自己配置安卓开发环境 Reference unity3d il2cpp原理解析及逆向分析 IL2CPP Tutorial: Finding loaders for obfuscated global-metadata.dat
对各个站点测试后发现,站长后台的算法及请求参数更新了,因为近期也发过某度系列验证码的文章,为了避免失效部分对粉丝的误导,现再次对相关算法进行逆向分析。 逆向目标目标:某度旋转验证码 v2,fs 参数逆向分析网站:aHR0cHM6Ly96aXl1YW4uYmFpZHUuY29tL2xpbmtzdWJtaXQvdXJs加密算法:AES、MD5、SHA1、SHA256 path 即旋转验证码的底图,backstr 是生成 fs 参数值的关键部分:图片转动验证码后,会抓包到 log 接口,请求参数中,ak 为盾 ID,tk、as 均是之前的接口响应返回的,fs 参数需要逆向分析 KHTML%2C%20like%20Gecko)%20Chrome%2F86.0.4240.198%20Safari%2F537.36", "canvas": "2a5a8f1d4173bc025dab2d50816ba134 未添加 cookies ---> not allowed逆向分析log 接口有一个加密参数 fs,通过跟栈会发现,和之前一样,fs 参数的加密位置在 mkd_v2.js 这个文件里面,跟进去之后,直接
文章目录 一、Android 逆向用途 二、Android 逆向原理 一、Android 逆向用途 ---- Android 逆向用途 : 软件防护 : 根据逆向的方法针对性的开发防护策略 ; 算法研究 在没有源码的前提下 , 通过反编译 , 反汇编 , 拿到 Smali 代码 , 研究其产品的算法 , 实现途径 ; 接口分析 : 接入一个没有源码的第三方库 , 无法进行调试 , 出现问题后 , 可以使用逆向的方法 , 可以进行破解使用 ; 调试分析 : 应用打包 , 混淆 , 加固 后上传到应用市场 , 如果某个分发渠道版本出现问题 , 可能就需要调试分析具体的这个 APK 包的问题 ; 结合源码与渠道包进行逆向分析 , 查找问题原因 ; 二、Android 逆向原理 ---- Android 逆向原理 : 静态分析 : 反编译 , 反汇编 , 从 .so , .a , .dex 等函数库中提取相应信息 , 主要是分析静态文件二进制数据
蓝屏防御特征码: 55 8B EC 81 EC 14 00 00 00 68 0C 00 00 00 1.先来看一下这个CM例子,当我们点击按钮1的时候,会提示一个MessageBox信息框,而点击按钮2则程序没有反映 ,我们现在要做的就是通过按钮1提取到按钮事件的特征码,然后下断点并定位到按钮2的按钮事件中。 2.打开OD直接将这个CM拖入OD中,默认会停在程序的OEP位置,这次我们不用字符串来找了换个思路,我们下一个MessageBox弹窗断点,直接选择【设置API断点】,选择消息框,然后选择MessageBoxA 7.直接断首下一个【F2】断点,然后运行程序,再次点击弹窗按钮,OD再一次断下了。 10.果然,我们果断在这里下一个【F2】断点,然后直接【F9】运行程序。 11.点击【测试定位效果】按钮,程序会被断下,这更能确定,这就是按钮的调用源头。
2、Hash的用途 ①、用户密码的加密 ②、搜索引擎 ③、版权 ④、数字签名 下面概述密码加密和数字签名的内容 1、密码加密 Step 1 密码加密需要确保服务端没有保留保存用户的明文密码,所以过程很安全的 Step 2 普通HASH 普通的Hash因为存在散列碰撞的问题,所以简单的对密码HASH(例如MD5),肯定不够安全。 2、数字签名 一张图讲解数字签名 ? 3、对称加密 对称加密含义 常用的对称加密分为三种: ? enc -aes-128-cbc -iv 0102030405060708 -K 616263 -nosalt | base64 解密: // AES(ECB)解密 $ echo -n d1QG4T2tivoi0Kiu3NEmZQ N816uzFpcg6pZ+kbdg== | base64 -D | openssl enc -aes-128-cbc -iv 0102030405060708 -K 616263 -nosalt –d 逆向文集持续更新中
CTF逆向——常规逆向篇(下) 题目: CrackMe.exe(NSCTF reverse第一题) WHCTF2017 reverse HCTF reverse(第一题) CrackMe.exe(NSCTF = [0x6F ,0xDD ,0xDD ,0x48,0x64 ,0x63 ,0xD7 ] a3 = [0x2E ,0x2C ,0xFE ,0x6A,0x6D ,0x2A ,0xF2 ] a4 = [ * k1 & 0xaa | ((k1 & 0xaa) >> 1) if k1 == a2[i]: a2[i] = j break for i in range(7): for j in range(33, 127): k2 = j ^ 0xbe^0x76 k2 = (4 * k2 & 0xcc) | ((k2 & 0xcc) >> 2) if k2 == a3[i]: a3[i] = j break for
前言最近有小伙伴博客留言,询问关于雪球 1038 长串的相关逆向思路,该参数整体难度中等,有些细节地方会导致最后生成的参数无法使用,在了解长串之前先分析一下基础的短串(某坤行),由简到繁。 非业务项目,本文仅对该参数进行逆向分析,仅供学习交流。 逆向目标目标:某坤行/某雪球/acw_sc__v2网址:aHR0cHM6Ly93d3cuemtoLmNvbS9pdGVtL0FBNjI0MjI5MS5odG1saHR0cHM6Ly94dWVxaXUuY29tLw 逆向分析某坤行首先我们访问详情页,下脚本断点,发现他在 VMxxx.html 里成功断下,这里发现 href 暂未生成相关参数:单步跟栈,最终发现在末尾调用 m[l1(Gh.GI)](j, m[l1(Gh.GV 逆向分析按抓包分析中的步骤,我们点击评论按钮,进入到下图 send 堆栈处:经过 GE 方法后,openArgs 中携带了 1038 参数,继续跟进,发现进入到了类似 1101 参数的生成逻辑,但是比其更为复杂
就”爬虫与逆向工程“这条赛道而言,如今AI在各端的算法逆向、协议分析、代码还原能力,已经迎来了质的飞跃。配合MCP,亦或是直接将混淆后的代码丢给AI,其都能一步步拆解逻辑,分析出正确的加密算法。 为此,K哥将新开AI逆向专栏,分享如何利用AI解决各类逆向过程中可能会遇到的难题,感受新时代的技术风口。 逆向目标目标:某搜登录逆向网址:aHR0cHM6Ly9nZW8uYWlkc28uY29tAI模型:gpt-5.3-codex抓包分析先打开开发者工具,进入网站,然后点击右上角的“登录/注册”,选择账密登录 逆向分析先跟栈分析下,看看强度,简单的直接扣就行了,没必要浪费tokens。 平时用AI解决逆向问题,最好还是购买类似CodingPlan的套餐,天/周/月限额的那种,纯耗tokens的话,成本太高。文中提到的部分算法、解混淆后的文件,都会分享到知识星球中,仅供学习交流。
逆向菜鸡,安卓羸弱,反正就是个看热闹的主,大佬们轻点拍~ ? b.containsKey(b2)) { b.put(b2, bVar); } else if (b.get(b2 (i2 == 39 || i2 == 2130706688)) { switch (i2) { case 19: (i2 == 39 || i2 == 2130706688)) { switch (i2) { case 19: void a(long j2, long j3, int i2) { } public void a(long j2, long j3, String str, String str2
__int64 __fastcall NtConvertBetweenAuxiliaryCounterAndPerformanceCounter(char a1, unsigned __int64 a2, & 3 ) ExRaiseDatatypeMisalignment(); if ( a2 + 8 > 0x7FFFFFFF0000i64 || a2 + 8 < a2 ) MEMORY[0x7FFFFFFF0000] = 0; v7 = *(_QWORD *)a2; v14 = *(_QWORD *)a2; ProbeForWrite(a3, 8ui64 = off_140398A00[0]; v9 = ((__int64 (__fastcall *)(_QWORD, _QWORD *, _QWORD *))v10)(*(_QWORD *)a2, 2.png 果然这个函数确实被调用了。在这一点上,不需要水晶球就可以预见 RDX 将成为指向包含与modmap相同结构的指针的指针。
文章目录 前言 一、/art/dex2oat/dex2oat.cc#Dex2oat 函数源码 二、/art/dex2oat/dex2oat.cc#Setup 函数源码 ( 脱壳点 ) 前言 在上一篇博客 【Android 逆向】ART 脱壳 ( dex2oat 脱壳 | aosp 中搜索 dex2oat 源码 | dex2oat.cc#main 主函数源码 ) 中 , 分析到 dex2oat 工具源码中的主函数为 /art/dex2oat/dex2oat.cc#main , 在该函数中调用了 /art/dex2oat/dex2oat.cc#Dex2oat 函数 ; 在将 dex 文件编译为 oat 文件的过程中 , 只要出现了 DexFile 对象 , 就可以将该对象对应的 dex 文件导出 , 即 dex 脱壳 , 该过程的脱壳点很多 ; 脱壳方法参考 【Android 逆向】ART 脱壳 ( 修改 /art /dex2oat.cc#Dex2oat 函数源码 ---- 在 /art/dex2oat/dex2oat.cc#Dex2oat 函数中 , 调用了 /art/dex2oat/dex2oat.cc#Setup
基础性文章,希望对您有所帮助,作者的目的是与安全人共同进步,加油~ 文章目录: 一.什么是逆向分析 二.扫雷游戏逆向分析 三.扫雷游戏检测工具 1.Cheat Engine确定起始位置 2.Cheat 我们怎么办:知道做了什么才能进行反制,如删除注册表启动项、清理感染的勒索病毒等 2.逆向分析的典型应用 软件逆向有很多实现办法达到我们的目标,典型的应用包括软件工程、网络安全、司法取证、商业保护等。 2.OllyDbg动态分析 接着我们使用Ollydbg打开,在逆向分析中,动态分析(OD)和静态分析(IDA)非常多,动静结合也是常用的分析手段。后续两篇文章将介绍它们的基础用法。 OD常用的快捷键调试方式包括: F2:设置断点,如下图所示的红色位置,程序运行到此处会暂停,再按一次F2键会删除断点。 F9:按下这个键运行程序,如果没有设置相应的点,被调试的程序直接开始运行。 一.什么是逆向分析 1.逆向工程 2.逆向分析的典型应用 二.扫雷游戏逆向分析 1.游戏介绍 2.OllyDbg动态分析 三.扫雷游戏检测工具 1.Cheat Engine确定起始位置 2.Cheat
逆向目标目标:某蜂窝 APPapk 版本:11.2.0逆向参数:zzzghostsign抓包分析打开 app,在首页进行刷新,charles 配合 SocksDroid 进行抓包,结果如下:其中要逆向的参数有很多 逆向分析对 Java 常见的 api 进行 hook 操作:定位这个参数的方法有很多,这里我们使用 frida 对 java 的 StringBuilder 类进行 hook,StringBuilder %2Fmapi.mafengwo.cn%2Fdiscovery%2Fget_index%2Fv7&app_code%3Dcom.mfw.roadbook%26app_ver%3D11.0.2%26app_version_code unidbg 还原unidbg 是一款基于 unicorn 和 dynarmic 的逆向工具,一个标准的 java 项目,它通过模拟 Android 运行时环境,让用户能够在没有实际设备的情况下,分析和调试 关于 unidbg 的更多使用方法,可以看吾爱破解正己大佬写的文章:《安卓逆向这档事》第二十三课、黑盒魔法之 Unidbg:https://www.52pojie.cn/thread-1995107-1