注意,CE6下OAL内无法调用API

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

CE6下,oal.exe(即nk.exe)是个特殊的进程,它不能享受其他AP的进程那样,link一个lib的方式来和一个dll建立隐式链接,包括coredll.
OAL.exe也不能用Loadlibrary方式来加载dll,因为loadlibrary本身就是API,可以使用它的exe必须link coredll.lib。
可怜的oal只能访问kernel.dll,但是也是用特殊的方法(NKGlobal)来做到的,具体方法是,romimage帮忙吧NKGlobal的地址fixup在pTOC, oal通过pToc得到kernel.dll的入口地址和几个少的可怜的函数接口。在这里LoadOneLibrary和GetProcessAddrA之类的函数依然是在kernel实现,但是这些接口并没有默认提供给OAL,郁闷吧!? 因为heap在cE6下依然是coredll实现的,kernel可以通过loadlibrary的方式来搞定coredll,从而可以调用LocalAlloc之类的heap分配,但是oal就望尘莫及了,所以oal里面的东西比如kernelioctrl里面的函数实现代码不能使用堆!
我之前强行link coredll可以运行的原因也可能是pc指针在coredll.dll在没有load到kernel xip地址之前的代码段运行,这种方式是非常脆弱和不建议的。

Cheat Engine(CE)修改工具实战详解 Cheat Engine(简称CE)是一款开源的内存修改与逆向分析工具,最初由Dark Byte开发,旨在帮助用户深入理解程序运行机制并进行调试与修改。其核心功能包括内存扫描、调试器支持、反汇编分析、Lua脚本自动化等模块,广泛应用于游戏调试、漏洞分析、逆向工程等领域。对于IT从业者而言,CE不仅是一款调试利器,更是理解程序底层运行逻辑的重要工具。在游戏开发与测试中,它可用于快速定位数值地址、分析程序流程、调试异常行为等。 阅读详情

相关推荐

通过CETOOLS 1.4控件访问WINCE设备的实践指南

Windows CE(简称WINCE),是微软公司开发的一套嵌入式操作系统。它具备模块化、可伸缩性强、实时性能优秀的特点,广泛应用于智能手机、工业控制系统、POS机以及车载设备等领域。WINCE系统的高可定制性让它能够根据不同设备的需求进行优化配置,从而在资源有限的环境下高效运行。CETOOLS是一套专为WINCE设备开发而设计的工具包,它集成了多种开发组件,极大地方便了开发人员进行设备驱动、应用程序以及系统定制等工作。

weixin_42601547的博客 852

API函数大全(转载)

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetCo

1万+

基于CE平台下调用底层API画圆弧?希望给予指导~~

<br /> <br />在windows PC下GDI32.dll中有arc或者是ArcTo这个画圆弧函数,但是基于windows CE下没有,本人利用的就算计图形学画的圆弧,有什么不当的地方请指出,O(∩_∩)O谢谢(这里只考虑了画圆~而不是椭圆)<br />代码如下:<br /> <br />  /// <summary> /// 获取圆弧上的点(中点画圆法) /// </summary> /// <param name="x0">

xuededaijiaxue的专栏 987

CE5 vs CE6

主要区别:1、 进程地址空间由原来的32M,增大到1GB2、 进程数量由32个,增大到32768个3、 有内核态和用户态的驱动4、 Device/Filesys/GWES,3大exe合并到内核中,变为DLL5、 SetKMode、SetProcPermissions函数不再提供6、 系统调度的效率提高了 1.   进程地址空间:CE5是Slot机制,每个

yahoozhuo的专栏 2240

WinCE6.0 OAL的特点

 转载自(  http://www.cnblogs.com/we-hjb/ ) WinCE6.0的OAL跟WinCE5.0中的有较大差别。了解这些差别,对我们移植OAL部分很有帮助。本文将简要介绍WinCE6.0 OAL的特点。     WinCE5.0将内核、OAL和KITL链接成一个内核可执行文件NK.exe。而WinCE6.0将这三者分开,分别对应Kernel.dllOAL.exe

sphink的专栏 773

WinCE6.0 OAL的特点

     WinCE6.0的OAL跟WinCE5.0中的有较大差别。了解这些差别,对我们移植OAL部分很有帮助。本文将简要介绍WinCE6.0 OAL的特点。      WinCE5.0将内核、OAL和KITL链接成一个内核可执行文件NK.exe。而WinCE6.0将这三者分开,分别对应Kernel.dllOAL.exe和KITL.dll。显而易见,这样做最大的好处是可以单独升级这三者中的任何...

weixin_34000916的博客 174

CE6 驱动: 你不得不知道的事情

许多人担心CE6驱动的向后兼容性。在CE6上,应用程序和OAL可以比较良好的兼容,但驱动就比较难。驱动在移植到CE6上必须做一定的修改,原封不动的放到CE6上运行是不太可能的。驱动需要修改的主要原因:1、  API的差异2、  内存传递3、  Buffer异步访问4、  用户层接口处理 CE6驱动的最大差异在于内嵌指针和数据传递,这个在《Memory marshal

armeasy的专栏 2499

VirtualCopy in WinCE6.0

CE4.2/5.0里面滚打多年的兄弟应该经常用这个函数吧。这个函数方便驱动和应用程序范围任何的物理地址,包括物理内存啊,设备控制器的寄存器啊,甚至GPIO也可以在AP里面随便拉上拉下。这个函数虽然方便,但是并不安全,你想你好不容易把一个功能完善的image给build出来了,结果碰到了一个写AP的“高手”,把你的寄存器和共享内存中的数据修改得一塌糊涂,最后报出bug来说你驱动的你会不会晕倒!

Do you have little time 5239

Windows ce的体系结构和功能

Windows ce的体系结构和功能                             Windows ce体系结构图操作系统层操作系统的基本功能被放在多个独立的进程(exe)里面实现。在运行的时候,这些进程大致有如下几个:l         内核NK.EXEl         图形系统GWES.EXEl         对象存储FILESYS.EXEl         设备管理系统DEVI

shouzhi2007的专栏 1076

Windows CE的体系结构和功能

http://www.cnblogs.com/hbt19860104/archive/2008/01/22/1048729.html                              Windows CE体系结构图 操作系统层 操作系统的基本功能被放在多个独立的进程(exe)里面实现。在运行的时候,这些进程大致有如下几个: l 内核NK.EXE l 图形系统GWES.

一码算一码 1451

Windows Embedded CE 6.0 Internals (1)

 最近在学习Windows Embedd CE 6.0和Windows桌面系统内部一些知识,这篇文章是对部分内核知识的整理和总结,跟各位博客园的朋友分享。Windows Embedded CE 6.0是非常优秀的嵌入式系统(不是做广告哦^^),对其内核的学习对我们开发、移植驱动和应用程序,对开发、移植嵌入式系统都非常有好处。最好的学习方式就是看源码啦,直接看源码有点困难,所以这篇文章就是帮

ymzhou117的专栏 790

Windows Embedded CE 6.0 Internals (1) Kernel Overview

 最近在学习Windows Embedd CE 6.0和Windows桌面系统内部一些知识,这篇文章是对部分内核知识的整理和总结,跟各位博客园的朋友分享。Windows Embedded CE 6.0是非常优秀的嵌入式系统(不是做广告哦^^),对其内核的学习对我们开发、移植驱动和应用程序,对开发、移植嵌入式系统都非常有好处。最好的学习方式就是看源码啦,直接看源码有点困难,所以这篇文章

970
上一篇: 哈哈,微软的CE6简直是大门洞开啊
下一篇: Application Verifier 工具及指南
fredzeng
博客等级 码龄20年 19粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值