|
[求助]怎么用wireshark抓取支付宝控件登陆的内容?
必然是加密的,否则交易信息岂不是很容易被监听和泄漏?另外研究玩玩可以,千万不要想着去走歪门邪道。 |
|
[求助]cpu是怎么样检测到中断的?
1. USB设备在连接到USB进行初始化的时候,需要向主机报告它的基本信息,包括设备类型,主机会给它分配一个唯一的地址,以后主机会通过这个地址,根据设备报告的类型和设备通信。所以在键盘初始化的时候,Windows的USB驱动或者BIOS就已经知道它是键盘了。 2. USB也是一种总线,在PC上往往是挂在PCI总线上的。另外,主机不直接和USB设备打交道,主机是通过USB Host Controller去和设备通信的,Host控制器负责处理底层的通信和信号编码等工作,在主机和设备之间传递数据。也就是说,Host控制器实际上相当于一个间接层,所以只要给USB Host Controller分配一个中断号(每个控制器一个,一般系统中最多也就几个控制器),就可以通过控制它和各种USB设备通信了。 |
|
[求助]怎么保护重要代码和IAT表??
100%不被破解是不可能的,但只要想方设法增加破解难度,使得破解工作在一定时间内不可行即可达到效果。 具体实现的时候当然可以做得更安全,例如, 1. 服务端不直接传递代码偏移到客户端,而是传递被混淆的代码(例如脚本VM的字节码等),而且这代码借助一些变形混淆算法,定期更新,保证(几乎)每次都不一样,使得攻击者没有足够的时间去解密。被混淆的代码再做校验工作。 2. 服务器传递时间戳给这段被混淆的代码,被混淆的代码使用时间戳初始化其hash算法,杜绝攻击者修改代码返回固定hash值的可能。 其他当然还有一些措施,例如校验代码之间互相校验,形成网络等。但是实现得越多,则性能越低,算法和编码也越困难,实际使用的时候需要折中综合考虑。 |
|
[求助]cpu是怎么样检测到中断的?
lz如果还在上学,建议去找找电子系的同学了解一下基本电子电路,单片机或者嵌入式的相关知识,就不会对这些问题感到迷惑了。 |
|
[求助]cpu是怎么样检测到中断的?
USB是主从模型,除了极少数例外(例如唤醒),所有的数据传输都是由主机主动发起,设备被动应答(USB 1.0,1.1和2.0。3.0暂时没有资料不清楚,但应当没有根本性的改动)。鼠标键盘这类HID设备,通常采用中断传输(USB协议的中断传输是指主机保证以不大于某个时间间隔的频率定期去查询设备以确定是否有数据,并不是指硬件中断那种模型),主机会轮询(Host控制器完成,不需主机的CPU亲自完成)它们的中断端点,以确定是否有数据,设备会作出应答(令牌-数据-握手三阶段)。Host控制器会以某种方式将设备发过来的数据通知主机CPU(例如中断,具体不清楚),然后相关的驱动程序会根据设备在初始化阶段传送给主机的HID描述符解析数据的含义,并最终将数据发送给上层驱动程序。 USB协议是个相当复杂的协议,一般来说没有需要就不要深究了。 |
|
请问如何在int1中断的isr下面去访问r3的分页内存1
你是否能控制Ring 3的程序?如能,用VirtualLock锁定一下保证其不会出Page Fault。 |
|
[讨论]这段反汇编代码怎么看?
这段是32位虚拟机的代码。 |
|
[讨论]这段反汇编代码怎么看?
这是那个WOW进程的代码吧,lz调试它作甚?不是调试16位的DOS代码么? |
|
[求助]关于职业规划
多投投,找朋友帮忙。哪怕只有1%的机会,你投100次也有63%的机会能中。 |
|
[求助]怎么保护重要代码和IAT表??
游戏有性能问题,VM能解决问题,但对性能的降低会很厉害,所以要慎重。另外DLL是自己的才可以考虑。如果是第三方的DLL,不可控。 一个DLL的代码,关键的也就少数一些地方吧,对那些地方建立一个代码偏移库,由服务器管理,分发给客户端计算校验(通信数据加密),客户端自己不存放偏移数据以免被破解。其它地方,游戏运行时不定时检测一下,发现修改的就把偏移上报服务器,服务器收集偏移信息,再把偏移信息分发给其他客户端作校验。 游戏自己会改输入表?那启动的时候就做一下校验,以后和这个对比。 |
|
[讨论]这段反汇编代码怎么看?
萎软的代码,IDA F5解决吧 |
|
[讨论]windbg不用符号的方法
表示从来都觉得有符号比无符号要好得多。难道看纯汇编码能看出什么有意思的东西来?call 7d6103b1,这是什么意思? |
|
哪位大哥能指导IDA反汇编51单片机的使用方法吗?
自己找到有代码的地方按C。建议找本IDA的参考书看一下。 |
|
[求助]fs:[0x18]指向哪个结构
kernel还是user? |
|
[求助]IDA对arm的bin文件反汇编,能显示函数么?
不懂就查查IDA的资料吧,比如《IDA Pro权威指南》。显示函数总有个来源吧,无非就是4种 1. 来源于符号 2. 来源于库函数的signature识别 3. 自己设置的名字 4. IDA默认生成的 所以,如果没有符号,没有signature,自然就只有默认生成的sub_xxx了。 |
|
[求助]IDT HOOK 问题,请大家帮忙。
别在任何int 3相关的函数里面下断点,包括你写的Hook和系统自己的KiTrap03,因为断点就是靠int 3的。触发断点后会再次执行int 3的处理函数,接着再次触发断点……无限递归了。就像之前说的,调试系统本身是不可调试的。除非你使用基于另一种机制的调试器。 再提示一点:User Mode的fs寄存器值和Kernel Mode的是不同的。 _KiTrap03 proc near var_2= word ptr -2 arg_4= dword ptr 8 push 0 mov [esp+4+var_2], 0 push ebp push ebx push esi push edi push fs ; 保护原有的fs段寄存器值,如果PreviousMode是User,那么是3bh,如果是kernel,会是30h(XP SP3) mov ebx, 30h ; 设置为kernel mode的fs值 mov fs, bx ; 为什么要这样?如果不设这个,会有什么后果 mov ebx, large fs:0 push ebx 下略 参考: _PsGetCurrentProcess@0 proc near mov eax, large fs:124h mov eax, [eax+44h] retn _PsGetCurrentProcess@0 endp 另友情提醒,获取PID可以直接调用PsGetCurrentProcessId。 |
|
[求助]IDT HOOK 问题,请大家帮忙。
1. 调试器的断点就是靠的int 3,你把它Hook了,还怎么调试啊。另外别指望通过当前进程判断能完美解决问题,因为内核中某些设施运行的上下文是任意的,可能正好就在你保护的进程上下文中运行(实际上和你的进程没关系)。更重要的是,就算你不Hook它,int 3是调试系统的一部分,这部分代码本质上是不可调试的。除非你的调试机制不依赖于它。 2.为什么要paged code?此时一定低于DISPATCH_LEVEL么? |
|
[求助]这段代码是二叉树结构吗
楼主自己研究下吧,我只能做到这么多 struct Node { // 域 偏移量 Node *LinkNodeA; // 0, 0x0 Node *LinkNodeB; // 4, 0x4 Node *LinkNodeC; // 8, 0x8 void *UnkC; // 12, 0xC void *Unk10; // 16, 0x10 char Unk14; // 20, 0x14 char Flag; // 21, 0x15 // 可能还有后续的 }; void __fastcall sub_0(Node *DataNode) { Node *v1; Node *v2; Node *v3; Node *v4; v1 = DataNode->LinkNodeA; if ( !DataNode->LinkNodeA->Flag ) { v2 = v1->LinkNodeC; if ( v2->Flag ) { for ( v4 = v1->LinkNodeB; !v4->Flag; v4 = v4->LinkNodeB ) { if ( DataNode->LinkNodeA != v4->LinkNodeC ) break; DataNode->LinkNodeA = v4; } DataNode->LinkNodeA = v4; } else { v3 = v2->LinkNodeA; if ( !v2->LinkNodeA->Flag ) { do { v2 = v3; v3 = v3->LinkNodeA; } while ( !v3->Flag ); } DataNode->LinkNodeA = v2; } } } |
|
|
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值