本帖最后由 笨来无一悟 于 2024-8-13 19:58 编辑
调试输出(截取代码 (到整数 (&子程序1)))
为什么用到整数?
因为参数是字节集或者自定义类型的时候需要一些骚操作才能取出指针 通常是整数 然后 子程序指针到整数 比 整数到子程序指针 顺手
具体有什么用?
我是拿来看看怎么样用自己手写的汇编结合易语言生成的汇编 优化运行效率 或者解决一些正常途径不好解决的问题
变量名 | 类 型 | 静态 | 数组 | 备 注 | 截取长度 | 整数型 | | | 包装函数 | 逻辑型 | | |
截取长度 = 0 包装函数 = 假 置入代码 ({ 81, 82, 83 })置入代码 ({ 49, 192, 185, 85, 0, 0, 0, 139, 69, 8, 138, 0, 15, 182, 192, 41, 193, 137, 77, 248 })如果真 (包装函数 )置入代码 ({ 139, 77, 8, 65, 138, 1, 60, 232, 117, 249, 139, 65, 1, 141, 92, 1, 5, 137, 93, 8 })置入代码 ({ 139, 77, 8, 65, 128, 57, 139, 117, 250, 128, 121, 1, 229, 117, 244, 128, 121, 2, 93, 117, 238, 128, 121, 3, 194, 117, 232, 49, 210, 49, 192, 138, 65, 4, 187, 4, 0, 0, 0, 247, 243, 131, 250, 0, 117, 213 })置入代码 ({ 43, 77, 8, 131, 193, 6, 137, 77, 252 })置入代码 ({ 91, 90, 89 })返回 (指针到字节集 (截取地址, 截取长度 )) 不兼容 无参数 RET 不兼容 LEAVE 易语言自动生成的格式为 MOV ESP,EBP ; POP EBP
需要全兼容的可以自行扩充判断分支 寻找 {201} 紧跟 {194} 再后面的字节转整数可以被4整除 leave方便 代价是特征码更容易被误判
变量名 | 类 型 | 静态 | 数组 | 备 注 | 截取长度 | 整数型 | | | 包装函数 | 逻辑型 | | |
截取长度 = 0 包装函数 = 假 置入代码 ({ 81, 82, 83 }) 置入代码 ({ 49, 192, 185, 85, 0, 0, 0, 139, 69, 8, 138, 0, 15, 182, 192, 41, 193, 137, 77, 248 }) 如果真 (包装函数 )置入代码 ({ 139, 77, 8, 65, 138, 1, 60, 232, 117, 249, 139, 65, 1, 141, 92, 1, 5, 137, 93, 8 }) 置入代码 ({ 139, 77, 8, 65, 128, 57, 139, 117, 250, 128, 121, 1, 229, 117, 244, 128, 121, 2, 93, 117, 238, 128, 121, 3, 194, 117, 232, 49, 210, 49, 192, 138, 65, 4, 187, 4, 0, 0, 0, 247, 243, 131, 250, 0, 117, 213 }) 置入代码 ({ 43, 77, 8, 131, 193, 6, 137, 77, 252 }) 置入代码 ({ 91, 90, 89 }) 返回 (指针到字节集 (截取地址, 截取长度 ))
|