esp

手脱ACProtect V1.4X(有Stolen Code)

倾然丶 夕夏残阳落幕 提交于 2020-03-23 14:44:16
1.载入PEID ACProtect V1.4X -> risco 首先需要说明的是,这个壳被偷取的代码非常多,如果去找的话会比较麻烦,所以我们换一种另类的方法,不脱壳也可以使用资源修改器对程序进行修改。先来看下被偷取的代码 0040A41E >/$ 55 push ebp 0040A41F |. 8BEC mov ebp,esp 0040A421 |. 6A FF push -1 0040A423 |. 68 C8CB4000 push 跑跑排行.0040CBC8 0040A428 |. 68 A4A54000 push <jmp.&MSVCRT._except_handler3> ; Entry address; SE handler installation 0040A42D |. 64:A1 0000000>mov eax,dword ptr fs:[0] 0040A433 |. 50 push eax 0040A434 |. 64:8925 00000>mov dword ptr fs:[0],esp 0040A43B |. 83EC 68 sub esp,68 0040A43E |. 53 push ebx 0040A43F |. 56 push esi 0040A440 |. 57 push edi 0040A441 |. 8965 E8 mov [local.6]

手脱nSPack 2.1 - 2.5

∥☆過路亽.° 提交于 2020-03-23 13:47:23
1.载入PEID 使用核心扫描出的结果 nSPack 2.1 - 2.5 -> North Star/Liu Xing Ping 2.载入OD,一进来就是一个大跳转,F8跟着走 00410944 >- E9 327E0000 jmp Aspack变.0041877B ; //程序入口点 00410949 C7 ??? 0041094A 4E dec esi 0041094B FFC3 inc ebx 0041094D FFFF ??? 0041094F EB 0A jmp short Aspack变.0041095B 00410951 E8 40FFFF94 call 95410896 00410956 FD std 3.走到这里,看到一个push入栈,下一行ESP定律,下硬件断点,然后shift+F9运行 0041877B 68 13884100 push Aspack变.00418813 00418780 E8 84FEFFFF call Aspack变.00418609 ; //ESP 00418785 41 inc ecx 00418786 A4 movs byte ptr es:[edi],byte ptr d> 00418787 0018 add byte ptr ds:[eax],bl 00418789 14 3C adc al,0x3C 0041878B

手脱Upack 2.x - 3.x

狂风中的少年 提交于 2020-03-23 13:47:13
1.PEID查壳 Upack 2.x - 3.x Heuristic Mode -> Dwing 2.载入OD,一上来就是一个大跳转,先F8跟一会 00401030 >- E9 56D40300 jmp 跑跑排行.0043E48B ; //程序入口点 00401035 42 inc edx ; 跑跑排行.<ModuleEntryPoint> 00401036 79 44 jns short 跑跑排行.0040107C 00401038 77 69 ja short 跑跑排行.004010A3 0040103A 6E outs dx,byte ptr es:[edi] 0040103B 67:40 inc eax ; kernel32.BaseThreadInitThunk 0040103D 0000 add byte ptr ds:[eax],al 3.来到这里,我们看到一个push,可以使用ESP定律,下硬件访问断点,然后shift+F9运行一下 0043E49B F3:AB rep stos dword ptr es:[edi] 0043E49D AD lods dword ptr ds:[esi] 0043E49E 50 push eax 0043E49F 97 xchg eax,edi ; //ESP定律 0043E4A0 51 push ecx 0043E4A1 58

总部与分支机构之间建立点到点IPSec ***(预共享密钥认证)

被刻印的时光 ゝ 提交于 2020-03-17 00:50:01
微信公众号: 网络民工 本例介绍预共享密钥认证方式下的IPSec隧道配置方法。 组网需求 如图1所示,网络A和网络B通过NGFW_A和NGFW_B连接到Internet,NGFW_A和NGFW_B公网路由可达。现需要在NGFW_A和NGFW_B之间建立IKE方式的IPSec隧道,使网络A和网络B的用户可通过IPSec隧道安全互访。 图1 IKE协商方式的点到点IPSec隧道举例组网图 数据规划 配置思路 NGFW_A和NGFW_B的配置思路相同。1.配置接口IP地址并将接口加入到安全区域。 2.配置安全策略。 3.配置到对端内网的路由。 4.配置IPSec策略。包括配置IPSec策略的基本信息、配置待加密的数据流、配置安全提议的协商参数。 操作步骤 •配置NGFW_A(总部)。 1.配置接口IP地址。 <sysname> system-view [sysname] sysname NGFW_A [NGFW_A] interface GigabitEthernet 1/0/3 [NGFW_A-GigabitEthernet1/0/3] ip address 10.1.1.1 24 [NGFW_A-GigabitEthernet1/0/3] quit [NGFW_A] interface GigabitEthernet 1/0/1 [NGFW_A-GigabitEthernet1/0

反汇编学习

让人想犯罪 __ 提交于 2020-02-29 07:06:48
(转: http://www.kuqin.com/assemble/20071122/2492.html ) 汇编语言和CPU以及内存,端口等硬件知识是连在一起的. 这也是为什么汇编语言没有通用性的原因. 下面简单讲讲基本知识(针对INTEL x86及其兼容机)   ============================   x86汇编语言的指令,其操作对象是CPU上的寄存器,系统内存,或者立即数. 有些指令表面上没有操作数, 或者看上去缺少操作数, 其实该指令有内定的操作对象, 比如push指令, 一定是对SS:ESP指定的内存操作, 而cdq的操作对象一定是eax / edx.    在汇编语言中,寄存器用名字来访问. CPU 寄存器有好几类, 分别有不同的用处:   1. 通用寄存器:   EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP(这个虽然通用,但很少被用做除了堆栈指针外的用途)      这些32位可以被用作多种用途,但每一个都有"专长". EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器. EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址. ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器. EDX是...(忘了..哈哈)但它总是被用来放整数除法产生的余数.

浅析VS2010反汇编

China☆狼群 提交于 2020-02-29 07:04:36
第一篇 1. 怎样进行反汇编 在调试的环境下,我们能够很方便地通过反汇编窗体查看程序生成的反汇编信息。 例如以下图所看到的。 记得中断程序的运行,不然看不到反汇编的指令 看一个简单的程序及其生成的汇编指令 #include<stdio.h> #include<windows.h> const long Lenth=5060000/5; int main(){ while(true){ for(long i=0;i<Lenth;i++){ ; } Sleep(10); } } 汇编窗体 2. 预备知识 : 函数调用大家都不陌生,调用者向被调用者传递一些參数,然后运行被调用者的代码,最后被调用者向调用者返回结果,还有大家比較熟悉的一句话。就是函数调用是在栈上发生的,那么在计算机内部究竟是怎样实现的呢? 对于程序,编译器会对其分配一段内存。在逻辑上能够分为代码段。数据段,堆,栈 代码段:保存程序文本。指令指针EIP就是指向代码段。可读可运行不可写 数据段:保存初始化的全局变量和静态变量,可读可写不可运行 BSS:未初始化的全局变量和静态变量 堆(Heap):动态分配内存,向地址增大的方向增长。可读可写可运行 栈(Stack):存放局部变量。函数參数,当前状态。函数调用信息等, 向地址减小的方向增长 。很很重要,可读可写可运行 如图所看到的 寄存器 EAX :累加(Accumulator

Esp8266 mqtt无线控制空调

南楼画角 提交于 2020-02-28 21:39:36
对于空调的控制 一般都是红外控制。这样我们就可以将esp模块和红外模块联合使用 这样来对空调进行远程的无线的控制 演示视频: 红外接收 使用的是引脚11 使用波特率是9600 调用的IRremote库,将接收到的光信号转换为数值。 # include <IRremote.h> int PIN_RECV = 11 ; IRrecv irrecv ( PIN_RECV ) ; decode_results results ; void setup ( ) { Serial . begin ( 9600 ) ; irrecv . enableIRIn ( ) ; } void loop ( ) { if ( irrecv . decode ( & results ) ) { Serial . println ( results . value ) ; irrecv . resume ( ) ; } } 可以根据这个代码 来获取到 遥控器上相关按键的值 记录下来 用到下面进行发送 (在我的这个项目中 我是要演示效果,所以控制的是一个数码管 使用arduino pro mini 进行控制 通过红外接收 接收到的信息 处理后控制TM1637数码管进行显示) 红外发送 下列代码经过改造,是使用在要红外控制显示。思路是一样的 就是使用 sendNEC(); 函数发送值

eNSP模拟器—IPsec配置实验1

自古美人都是妖i 提交于 2020-02-25 19:49:13
1 拓扑图 2 两个PC配置 3 RouterA配置 # sysname RouterA # acl number 3101 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255 # ipsec proposal tran1 esp authentication-algorithm sha2-256 esp encryption-algorithm aes-128 # ipsec policy map1 10 manual security acl 3101 proposal tran1 tunnel local 1.1.1.1 tunnel remote 2.1.1.1 sa spi inbound esp 54321 sa string-key inbound esp cipher %^%#JvZxR2g8c;a9~FPN~n'$7`DEV&=G(=Et02P/%\*!%^%# sa spi outbound esp 12345 sa string-key outbound esp cipher %^%#K{JG:rWVHPMnf;5\|,GW(Luq'qi8BT4nOj%5W5=)%^%# # interface GigabitEthernet0/0/0 ip address 1.1

关于 esp-at 下 esp8266 的 AT 固件 编译 烧写 使用 的注意事项

依然范特西╮ 提交于 2020-02-21 02:57:46
esp-at 现在是合并了 esp32 和 esp8266 的全新仓库, 注意 at 指令集核心部分并不开源。 查看芯片信息可以用 esptool 的 esptool -p /dev/ttyS5 flash_id ,可以看到芯片类型和 flash 大小。 esp-at 资源链接 github esp-at setup-toolchain 编译流程和方法 没有考虑过给没经验的看,但怎么说呢,我尽量留存相关操作指令吧。 配置好 esp8266 的编译工具链 setup-toolchain 。 自行安装 python 和 pip 工具。 git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK export IDF_PATH=~/esp/ESP8266_RTOS_SDK python -m pip install --user -r $IDF_PATH/requirements.txt Toolchain 配置文档 (Windows 就算了,最差也是用 WSL 的 ubuntu,配置要到位喔 ) sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial tar -xzf ~

EBP寻址

别等时光非礼了梦想. 提交于 2020-02-14 14:42:53
前言:比起ESP寻址的方式,EBP需要去理解下其中的含义,所以记录下! 个人理解: 1、EBP和ESP之间的关系 起初-1 相隔 ----> 在没进CALL之前,会先将调用CALL的参数先压入堆栈,堆栈中EBP寄存器中的地址是在ESP寄存器中的地址之下, 自己理解为相隔 中间-2 相等 ----> 进入CALL之后,EBP寄存器会先把保存的地址先压入堆栈中保存,然后再保存ESP寄存器中的地址,这里就可以理解为ESP不变,将EBP进行提升栈顶的操作 中间-3 相隔 ----> 因为调用了CALL,那么就会进行一系列的运算,那么肯定需要堆栈中的空间,那么ESP地址就会上升 中间-4 相等 ----> 当调用完了之后,当前EBP寄存器保存的就是之前的ESP的地址,现在就会返回给ESP寄存器,堆栈需要保持平衡 末尾-5 相隔 ----> 堆栈到现在还没有完全保持平衡,还需要把EBP的地址返回给EBP寄存器,然后出了CALL之后,还需要指令进行外/内平衡的操作保持真正的堆栈平衡! 汇编体现: 00401000 > 6A 01 push 0x1 ; 压入堆栈0x1 00401002 6A 02 push 0x2 ; 压入堆栈0x2 00401004 E8 3C000000 call CRACKME.00401045 ; 调用call 00401045 00401009 83C4 08 add