handle_info->handles[handle_index].GrantedAccess; buffer_index = after_name_index + 4; *)&report_buffer[buffer_index] = process_entry.th32ProcessID; report_buffer[buffer_index + 4] process_entry.th32ProcessID); } while ( Process32Next(snapshot_handle, &process_entry) && buffer_index < 0x4EFB
逆向目标目标:东某航空某数指纹 v4 设备 ID 逆向分析 网站:aHR0cHM6Ly93d3cuZG9uZ2hhaWFpci5jb20v抓包分析打开网站,找到返回机票信息的机票查询接口 flightSearch 搜索后发现,"B" 后面的内容,是由 v4 接口返回的,然后拼接上 "B" 得到的 deviceId:organization:某数产品唯一标识;data:加密参数需要分析;ep:加密参数需要分析;其他 最后就是对明文的分析了,由一些浏览器环境、加密参数等信息构成,通过 sent 接收 ,由 _0xa0ac38(_0x4c1ea4['Protocol']) 返回,分析几个加密参数:Protocol,与上面包含 ) + '00', _0xd556d6 = MD5_Encrypt('smsk_web_' + _0x4fa2e9)['substr'](0x0, 0xe), _0x4fa2e9 + _0xd556d6 + 0x0), _0x317aff, _0x163575, _0x4fa2e9, _0xd556d6, _0x1ccff8, _0x5a4c0d, _0x5b0ca1, _0x229546, _0x539a5b
RC4加密原理 一丶RC4 1.1 rc4介绍 RC4是一种对称加密算法,加密和加密使用同一个函数. 其中关于其历史这里也不多说了. 自己查一下百度百科. 1.2 RC4原理以及代码介绍 RC4是很简单的一种加密算法, 主要就是分为两部分 RC4初始化 RC4加密 其实很简单. 1.2.1rc4初始化介绍 初始化分为以下几个步骤 初始化存储 EntryBuffer((unsigned char*)Hell,sizeof(Hell)/sizeof(Hell[0])); //在调用一次就是解密了 return 0; } 三丶RC4的逆向小技巧 3.1 逆向特征 首先根据原理我们可以看到会初始化一个256字节的数组 其次会将一个key也填充到数组中 函数的话大概率都是两个参数,一个是key 一个是keylen 遇到上述特征可以认为是rc4 ? 根据上述特征大概率就可以看出是rc4初始化函数. key填充到var_20C中. i填充到var_200中 再往下看就可以明显的看到数据异或了.很简单也可以自己写一个进行逆向.
瑞数 Botgate 多用于政企、金融、运营商行业,曾一度被视为反爬天花板,随着近年来逆向大佬越来越多,相关的逆向文章也层出不穷,真正到了人均瑞数的时代了,这里也感谢诸如 Nanda、懒神等逆向大佬,揭开了瑞数神秘的面纱 过瑞数的方法基本上有以下几种:自动化工具(要隐藏特征值)、RPC 远程调用、JS 逆向(硬扣代码和补环境),本文介绍的是 JS 逆向硬扣代码,尽可能多的介绍各种细节。 就是4代瑞数,bX3Xf9nD=5xxxxx 就是5代瑞数:图片图片图片图片4、看 Cookie,瑞数 3、4 代有以 T 和 S 结尾的两个 Cookie,其中以 S 开头的 Cookie 是第一次的 :数字 443 是 https 协议的默认端口号,对应 https 请求,其值第一位为 4,表示 4 代瑞数。 在后续逆向分析中再详细介绍),示例如下:3 代:_$aW = _$c6[_$l6()](_$wc, _$mo);,_$c6 实际上是 eval,_$l6() 实际上是 call;图片4 代:ret =
Step 4 重新打包WeChat.ipa zip -ry WeChat.ipa Payload ? Step 4 找到输入框里面的内容 利用文本工具,例如Sublime查看WeChat的头文件,找到前面发现的 WCAccountMainLoginViewController ? 系列干货持续更新中(记得关注我哦): iOS逆向(1)-密码学(RSA) iOS逆向(2)-密码学(Hash&对称加密) iOS逆向(3)-APP重签名 iOS逆向(4)-代码注入,非越狱窃取微信密码 iOS逆向(5)-不知MachO怎敢说自己懂DYLD iOS逆向(6)-从fishhook看Runtime,Hook系统函数 iOS逆向(7)-LLDB,自制LLDB脚本,窜改微信红包金额 iOS逆向( 8)-Monkey、Logos iOS逆向(9)-Cycript,动态分析APP利器
第三题和第四题跟Js逆向没有什么关系,本来是不想发的,为了排版好看也发这个专栏里吧。 page=4') print(d.text) 第四题:《雪碧图、样式干扰》 这个数字是无法选中的,因为以图片的形式加载出来,这种css做映射的方式在市面上还是很常见的。 尽管在js中也能找到解决方法) import requests from lxml import etree url = "http://match.yuanrenxue.com/api/match/4? requests from lxml import etree for page in range(1,6): url = f"http://match.yuanrenxue.com/api/match/4? endl = [] for li in s.xpath('//td'): zu = [] # 一组是3个图片或者4个图片组成的数字
文章目录 一、Android 逆向用途 二、Android 逆向原理 一、Android 逆向用途 ---- Android 逆向用途 : 软件防护 : 根据逆向的方法针对性的开发防护策略 ; 算法研究 在没有源码的前提下 , 通过反编译 , 反汇编 , 拿到 Smali 代码 , 研究其产品的算法 , 实现途径 ; 接口分析 : 接入一个没有源码的第三方库 , 无法进行调试 , 出现问题后 , 可以使用逆向的方法 , 可以进行破解使用 ; 调试分析 : 应用打包 , 混淆 , 加固 后上传到应用市场 , 如果某个分发渠道版本出现问题 , 可能就需要调试分析具体的这个 APK 包的问题 ; 结合源码与渠道包进行逆向分析 , 查找问题原因 ; 二、Android 逆向原理 ---- Android 逆向原理 : 静态分析 : 反编译 , 反汇编 , 从 .so , .a , .dex 等函数库中提取相应信息 , 主要是分析静态文件二进制数据
CTF逆向——常规逆向篇(下) 题目: CrackMe.exe(NSCTF reverse第一题) WHCTF2017 reverse HCTF reverse(第一题) CrackMe.exe(NSCTF ] v2 = 102; v3 = 109; v4 = 99; v5 = 100; v6 = 127; v7 = 107; v8 = 55; v9 = 100; v10 = 10 ) ; if ( j_strlen(byte_41B4F0) ! = [0x6F ,0x9A ,0x4D ,0x8B,0x4B ,0x1A ,0xEA ] a5 = [0x43 ,0x42 ,0x42 ,0x42 ,0x44 ,0x47 ,0x0B] flag = if k3 == a4[i]: a4[i] = j break for i in a1: flag += chr
4.回到OD中,再次按下【F9】,程序在一次被断下,老样子看堆栈,这次读取到的就是注册码的字段了,也是我们最关心的字段。 00482CC4=00482CC4 (ASCII "1E32S-14ES5-2KT84-EM6LS") 13.关闭OD吧,我们直接去试一下看能不能激活这个程序,上方的大跳转虽然是关键跳但我们无法直接修改程序代码
RC4流密码 RC4流密码 可魔改的地方有两处:s盒初始化时候,模可以不是256,另外可以在解密或者加密的地方再多异或一个值。 01、代码案例及原理 ⚫基本原理 RC4 主要包含三个流程: 初始化 S 和 T 数组。 初始化置换 S。 生成密钥流。 ⚫C代码案例: /******************************************************/ /* 描述:C版本RC4算法 /* 日期:2021/8/9 /* 作者: **************************************************/ #include <stdio.h> #include <string.h> void rc4_ ; int enc_len = strlen((const char *)enc); rc4_init(s, key, strlen((const char *)key)); rc4_crypt
F4:运行到选定位置,即运行到光标所在位置处暂停。 CTRL+F9:执行到返回,按下此键会执行到一个返回指令时暂停,常用于从系统领空返回到我们调试的程序领空。 接着我们输入F7单步调试,执行完0x010026C4赋值语句后,我们在数据窗口中跟随EBX寄存器,显示如下图所示。 第二步,选择中级难度,对应的高度是“16”,然后重新打开建立“再次扫描”,仅剩4个结果。 4.C++编写自动扫雷程序 接下来是通过C++实现一键扫雷功能,主要是模拟鼠标在雷区的点击操作,并且按下所有非雷区域从而实现一键扫雷。 Engine确定边界 3.C++编写鼠标坐标获取案例 4.C++编写自动扫雷程序 学安全一年,认识了很多安全大佬和朋友,希望大家一起进步。
逆向目标目标:某蜂窝 APPapk 版本:11.2.0逆向参数:zzzghostsign抓包分析打开 app,在首页进行刷新,charles 配合 SocksDroid 进行抓包,结果如下:其中要逆向的参数有很多 逆向分析对 Java 常见的 api 进行 hook 操作:定位这个参数的方法有很多,这里我们使用 frida 对 java 的 StringBuilder 类进行 hook,StringBuilder ee145e63f10e%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1732784973%26oauth_token%3D0_0969044fd4edf59957f4a39bce9200c6% unidbg 还原unidbg 是一款基于 unicorn 和 dynarmic 的逆向工具,一个标准的 java 项目,它通过模拟 Android 运行时环境,让用户能够在没有实际设备的情况下,分析和调试 关于 unidbg 的更多使用方法,可以看吾爱破解正己大佬写的文章:《安卓逆向这档事》第二十三课、黑盒魔法之 Unidbg:https://www.52pojie.cn/thread-1995107-1
前言近期在知识星球中,有位星友在逆向一个航司的时候,遇到了点阻碍,向我提问,本期就对该网站进行逆向分析:逆向目标目标:cebupacificair 航空查询逆向分析网站:aHR0cHM6Ly93d3cuY2VidXBhY2lmaWNhaXIuY29tL2VuLVBILw content,估计都大差不差,我们继续先搜索,发现 authorization 是 main.xxx.js 文件返回的:而 main.xxx.js 文件是通过首页加载的,大致流程都梳理清晰了,我们开始进行逆向分析 :逆向分析cookie 值从头开始,我们请求首页,发现他并没有返回 main.xxx.js 文件,而是返回的下图内容:发现里面的 JavaScript 代码就是设置了两个 cookie 值,而且仔细就看会发现 eccha = execjs.eval(__eccha_str)cookies = { '__eccha':str(__eccha), '__ecbmchid': __ecbmchid}我们需要逆向分析的参数 handle 下的位置上打下断点,继续往上跟:发现 m 由 i 生成,我们继续重新打下断点,清空缓存,刷新网页:定位到 t 为 ceb-omnix_proxy 接口,继续往上跟:就找到生成位置了:然后开始逆向分析
F4 运行到选定位置,即运行到光标所在位置处暂停。 CTRL+F9 执行到返回,按下此键会执行到一个返回指令时暂停,常用于从系统领空返回到我们调试的程序领空。 接着我们输入F7单步调试,执行完0x010026C4赋值语句后,我们在数据窗口中跟随EBX寄存器,显示如下图所示。 (4) 接下来就可以在VS中添加“graphics.h”头文件了,里面有很丰富的绘图函数可供我们使用。 ---- 4.C++编写自动扫雷程序 接下来是通过C++实现一键扫雷功能,主要是模拟鼠标在雷区的点击操作,并且按下所有非雷区域从而实现一键扫雷。 Engine确定边界 3.C++编写鼠标坐标获取案例 4.C++编写自动扫雷程序 学安全一年,认识了很多安全大佬和朋友,希望大家一起进步。
从达到登录成功,并根据该步骤完成ios逆向分析,文中所有涉及的脚本都已经放在github上面。 弟弟建了一个ios逆向学习交流群,互相学习交流。 抓包分析 之前文章已经进行了详细的抓包教程。 ldid -Sent.xml debugserver 或者 codesign -s - --entitlements ent.plist -f debugserverentitlements.plist[4] zhaoxincheng.com/index.php/2021/03/14/ios%e7%b3%bb%e7%bb%9f%e6%8a%93%e5%8c%85%e5%85%a5%e9%97%a8%e5%ae%9e%e8%b7%b5%e4% 83/ [3] https://github.com/zhaoboy9692/dailyanalysis: https://github.com/zhaoboy9692/dailyanalysis [4]
编译 : 将 so , dex , 清单文件 , 资源文件 , 等文件封装起来 ; 汇编 : 将 C/C++ 代码转为机器码 , 将 Java 代码转为 Smali 代码 ; 参考 【Android 逆向 PyCharm | 安装 PyCharm | 在 PyCharm 中创建 Python 工程 ) 在 Windows 下安装 PyCharm 软件 , 用于开发 Python 程序 ; Android 逆向中
逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧 ,使用逆向工程时,需要注意的是表之间的关系无法映射出来! 2:使用逆向工程生成代码有好几种方式,这里就介绍一种最简单的,java程序生成:,解释在配置中 2.1准备逆向工程配置文件genreatorConfig.xml,名字无所谓,只要在java程序中作为 java.util.ArrayList; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.log4j.chainsaw.Main ; import org.apache.log4j.lf5.util.Resource; import org.mybatis.generator.api.MyBatisGenerator; import
前言最近又有小伙伴在逆向某网站的时候,碰到了点棘手的问题,过来询问 K 哥。经过分析,该网站既有加密参数,又使用了 WebSocket 协议来传输数据,正好可以丰富 JS 逆向百例专栏。 本文将对其进行逆向分析,仅作为学习研究:逆向目标目标:某 Hospital,逆向分析网址:较为敏感,感兴趣的小伙伴,私聊逆向过程抓包分析打开开发者人员工具,刷新网页,会发现被断住了,经典的无限 debugger B8%82%E7%AC%AC%E4%B8%80%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2%E5%8C%BB%E7%94%A8%E7%94%B5%E5%8A%A8%E9%97% A8%E7%BB%B4%E4%BF%9D%E6%9C%8D%E5%8A%A1%E9%A1%B9%E7%9B%AE%E8%AF%A2%E4%BB%B7%E5%87%BDBase64 编码解码:https: 3D/b/ws/svmlr9q1rk/8f3effd8-0639-40f9-a4e6-9d19a82cbcc9以这个链接为例,动态变化的,主要是以下这三个部分:Tifz8hd5p4O3AB%2BivrbJpGEutslSMrspRrA33vaPAp0%
逆向目标 目标:有道翻译接口参数 主页:https://fanyi.youdao.com/ 接口:https://fanyi.youdao.com/translate_o? smartresult=dict&smartresult=rule 逆向参数: Form Data: salt: 16261583727540 sign: 151e4b19b07ae410e0e1861a6706d30c bv: 5b3e307b66a6c075d525ed231dcc8dcd 逆向过程 抓包分析 我们在有道翻译页面随便输入文字,可以看到没有刷新页面,翻译结果就出来了,由此可以推断是 Ajax 加载的, 参数逆向 salt、sign、bv 三个加密参数,全局搜索任意一个,搜索结果比较多,依次对比,可以发现 fanyi.min.js 文件第 8969 行左右开始,Form Data 所有的参数都齐全了,埋下断点调试一下
我们同通常在函数序言中看到PUSH R4-R7,LR,并在尾声处看到POP R4-R7,PC。 在运行f()函数之前,传递给他的参数将以以下格式存储到内存里: ESP 返回地址 ESP+4 arg1,它在IDA里面记为arg0 ESP+8 arg2,它在IDA里面记为arg4 ESP+0xC arg4 … … ESP-0xC 第 2 个局部变量,在 IDA 里记为 var_8 ESP-8 第 1 个局部变量,在 IDA 里记为 var_4 ESP-4 保存的 EBP 值 ESP 返回地址 ESP+4 -b$ = -8 ;size=4 -a$ = -4 ;size=4 _f1 PROC push ebp mov ebp,esp sub esp,12 mov DWORD PTR _a$[ebp] _b$ = -8 ;size=4 _a$ = -4 ;size=4 _f2 PROC push ebp mov ebp,esp sub esp,12 mov eax,DWORD PTR _c$[