DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: senqicai
今日帖子: 2
在线用户: 17
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2021/4/8 12:48:18
标题:
求OCR控件 WinSoft Optical Character Recognition (OCR) component for FireMonkey 浏览:2968
加入我的收藏
楼主: https://www.winsoft.sk/focr.htm
Delphi安卓上的OCR控件,求破解!
----------------------------------------------
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/8 19:28:47
1楼: 很想挑战下android.
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/8 21:35:22
2楼: 案桌下
在Fmx::Dialogs::ShowMessage 断点.返回后看汇编,
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/8 21:48:45
3楼: 在x64dbg中如果 地址是下划线 在dcu中对应就是 前面是啥还是啥00000000后面是啥还是啥
案桌是elf我没环境调试,只能你自己玩了.

改法就是 第一个0改1  第二个1改0 这样默认不弹  第二个是保险 .可不改

    if ( !byte_ )
    {
      byte_ = 1;
判断公式
X64
ZN3Fmx7Dialogs11ShowMessageEN6System13UnicodeStringE

密码是我的用户名, 二进制 今天的版本
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 17:15:35
4楼: android 真机调试 路个视频也行哈哈,
在ide
procedure ShowMessage(const AMessage: string);
begin
 {$IF DEFINED(ANDROID) OR (DEFINED(IOS))}
  TDialogServiceAsync.ShowMessage(AMessage);
{$ELSE}
  TDialogServiceSync.ShowMessage(AMessage);
{$ENDIF}
end; 
下断点  
断下后
ctrl+alt+c 进入cpu windows
ide菜单 view -> debug windows -> cpu windows -> entire cpu 

F8 弹出确认后F7 
   call ShowMessage  --这是F7后的上一句
来到
   cmp dword ptr [$xxxxxxxxxx],$00
后会看到 call ShowMessage 这样子,

往上滚动
   cmp byte ptr [$xx],$00
   jnz $xx
   mov byte ptr [$xx],$01
   mov eax,$xx
   call ShowMessage
大约是这样
滚到上面第一个
009F6D03 55          push ebp
选中行一直复制到
call ShowMessage
下面5行左右
用来判断关键词 
直接帖复制的信息不要删减,我没有android环境只能 用hex 来判断按此在新窗口浏览图片
x32  x64 我都试了没问题能找到call的来路


这是32的~
009F6D03 55          push ebp
009F6D04 6895719F00       push $009f7195
009F6D09 64FF30          push dword ptr fs:[eax]
009F6D0C 648920          mov fs:[eax],esp
009F6D0F E8D0FDFFFF       call LoadedLibrary
009F6D14 84C0          test al,al
009F6D16 0F8561040000     jnz $009f717d
009F6D1C 803D08E1A30000   cmp byte ptr [$00a3e108],$00
009F6D23 7511          jnz $009f6d36
009F6D25 C60508E1A30001   mov byte ptr [$00a3e108],$01
009F6D2C B8AC719F00       mov eax,$009f71ac
009F6D31 E81238B4FF       call ShowMessage
009F6D36 833DD41EA20000   cmp dword ptr [$00a21ed4],$00

这是64的做了一点分析。
LoadLibrary:
 55          push rbp
 4883EC30         sub rsp,$30
 488BEC          mov rbp,rsp
 48C7452800000000 mov qword ptr [rbp+$28],$0000000000
 90          nop
 E8 00000000       call LoadedLibrary          动态四位全0
 84C0          test al,al
 0F8584050000     jnz LoadLibrary + $5A2
 803D FFFFFFFF00   cmp byte ptr [rel $000ffa13],$00   动态四个F 结尾00代表,$00
 7513          jnz LoadLibrary + $3A
 C605 FFFFFFFF01   mov byte ptr [rel $000ffa0a],$01   动态四个F 结尾01代表,$01
 488D0DAF050000   lea rcx,[rel $000005af]
 E8 00000000       call ShowMessage          动态四位全0
 48833D FFFFFFFF00 cmp qword ptr [rel $000db716],$00  动态四位全0 结尾00代表,$00
 7520          jnz LoadLibrary + $64
 488D4D28         lea rcx,[rbp+$28]
 488D1551080000   lea rdx,[rel $00000851]
 E81CFFFFFF       call GetLibraryPath
 488D0DFDB60D00   lea rcx,[rel $000db6fd]
 488B5528         mov rdx,[rbp+$28]
 E80C1276FF       call @UStrAsg
 488B0DEDB60D00   mov rcx,[rel $000db6ed]
 E8F0FCFFFF       call CheckLoadLibrary
 488D0D3D080000   lea rcx,[rel $0000083d]
 E8C4FDFFFF       call CheckGetProcAddress
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 17:21:54
5楼: 学习86-64汇编
803D 是cmp的意思
C605 是mov的意思
EB   是jmp的意思
75   是jnz的意思
给个挑android的机会啊?
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 18:48:47
6楼: Delphi安卓-test1
此帖子包含附件:keymark_2021418184847.zip 大小:52.9K
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 19:28:01
7楼: Delphi安卓-test2
此帖子包含附件:keymark_202141819281.zip 大小:55.9K
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 19:29:31
8楼: https://blog.csdn.net/fuchaosz/article/details/104804026
https://www.jianshu.com/p/5f0e2ba1d23b
https://www.keil.com/support/man/docs/armasm/armasm_dom1361289867296.htm
https://www.lyile.cn/articles/2020/09/26/1601100000721.html
BNE跳转指令对应的HEX机器码是D1,
BEQ跳转指令对应的HEX机器码是D0,
CBZ跳转指令对应的HEX机器码是B1,
CBNZ跳转指令对应的HEX机器码是B9。
https://blog.csdn.net/b02330224/article/details/6825525
跳转偏移还没看懂,
https://sourceforge.net/projects/arm-converter/files/
https://onlinedisassembler.com/odaweb/
https://iosgods.com/topic/506-arm-asm-to-hex-converter/
https://armconverter.com/
https://blog.csdn.net/hp910315/article/details/77868898
DF F8 7C 17 DF F8 74 07 79 44 41 58 09 78 59 B9
此帖子包含附件:
JPEG 图像
大小:65.2K
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/18 20:17:18
9楼: 坐等楼主测试,
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2021/4/19 12:56:51
10楼: 非常感谢keymark! 我用的是10.3.3 RIO
----------------------------------------------
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/19 14:00:36
11楼: 32?
64?
32不太好破,我还是新手
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/19 18:50:06
12楼: 1
测试后记得告诉我结果..
有之前的破解版本吗,想看下  前人种树.我想乘凉!
此帖子包含附件:keymark_202141918503.zip 大小:2.61M
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2021/4/20 9:24:06
13楼: @ keymark 

请问附件的压缩包解压密码是什么啊?
----------------------------------------------
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/20 10:24:24
14楼: 1
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/20 11:23:06
15楼: x64
笔记
12 88 40 00 35
ADRP          X8, #_ZN4Focr8WasTrialE_ptr@PAGE
08 00 00 90
LDR          X8, [X8,#_ZN4Focr8WasTrialE_ptr@PAGEOFF]
作用:以页为单位的大范围的地址读取指令,这里的P就是page的意思。
原理:符号扩展一个21位的offset(immhi+immlo),  向左移动12位,PC的值的低12位清零,然后把这两者相加,结果写入到Xd寄存器,用来得到一块含有lable的4KB对齐内存区域的base地址(也就是说lable所在的地址,一定落在这个4KB的内存区域里,指令助记符里Page也就是这个意思), 可用来寻址 +/- 4GB的范围(2^33次幂)。
通俗来讲,ADRP指令就是先进行PC+imm(偏移值)然后找到lable所在的一个4KB的页,然后取得label的基址,再进行偏移去寻址(结合下面的例子将会讲到)。
https://blog.csdn.net/liao392781/article/details/79162919
08 01 40 F9
 LDR          X8, [X8,#_ZN4Focr8WasTrialE_ptr@PAGEOFF]
09 01 40 39
LDRB          W9, [X8] ; Focr::WasTrial
E9 00 00 35  这一句决定了跳不跳过
 CBNZ          W9, loc_5BE0
—  LDR     字数据加载指令
—       LDRB    字节数据加载指令
从代码来说只能改跳转 无法找到 WasTrial 默认值 可能是编译器来调控默认.总不能每次改编译好的吧.
----------
或者hook掉Focr.WasTrial ?
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/21 10:33:42
16楼: https://www.52pojie.cn/forum.php?mod=viewthread&tid=1226418&extra=page%3D1%26filter%3Dtypeid%26typeid%3D31
https://godbolt.org/

// Type your code here, or load an example.
#define BOOL int
#define TRUE 1
#define FALSE 0

BOOL host;
int square(int num) {
    if (!host) {
    host = true;
    }
    return num * num;
}



square(int):          // @square(int)
        sub     sp, sp, #16          // =16
        adrp    x8, host
        add     x8, x8, :lo12:host
        str     w0, [sp, #12]
        ldr     w9, [x8]        
        cbz     w9, .LBB0_2         //跳转 
        cbnz    w9, .LBB0_2         //! 跳转
        mov     w8, #1
        adrp    x9, host
        add     x9, x9, :lo12:host
        str     w8, [x9]
.LBB0_2:
        ldr     w8, [sp, #12]
        ldr     w9, [sp, #12]
        mul     w0, w8, w9
        add     sp, sp, #16          // =16
        ret
host:
        .word   0          // 0x0
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/21 10:40:17
17楼: // Type your code here, or load an example.
#include <stdbool.h>
#include <stdio.h>


bool host = false;
int square(int num) {
    if (!host) {
    host = true;
    }
    return num * num;
}



square(int):          // @square(int)
        sub     sp, sp, #16          // =16
        adrp    x8, host
        add     x8, x8, :lo12:host
        str     w0, [sp, #12]
        ldrb    w9, [x8]
        tbnz    w9, #0, .LBB0_2
        mov     w8, #1
        adrp    x9, host
        add     x9, x9, :lo12:host
        strb    w8, [x9]
.LBB0_2:
        ldr     w8, [sp, #12]
        ldr     w9, [sp, #12]
        mul     w0, w8, w9
        add     sp, sp, #16          // =16
        ret
host:
        .byte   0          // 0x0
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2021/4/21 14:28:17
18楼: @ keymark 

10.3.3 RIO Delphi103-Android64PO-测试 还是弹出试用对话框!
----------------------------------------------
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/21 14:46:32
19楼: Delphi103-Android64PO-测试
改1估计不行.txt
从代码来说只能改跳转 无法找到 WasTrial 默认值 可能是编译器来调控默认.总不能每次改编译好的吧.
----------
或者hook掉Focr.WasTrial ?
还有一种方法
prj top hook   安卓hook 不会,啊蛤 
Dialogs11ShowMessage 重编译FMX(我也不会。。) 改 这里 打代码补丁 哈哈 !
然后判断 来的内容 进行处理!!!!

~~~~~~~~~~
Delphi103-Android32PO
Delphi103-Android64PO2
弹吗?
我比较关心
Delphi103-Android64PO2
这个是猜出来的修改 。。。。。网上几乎没有介绍hex值。。。。。。。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2021/4/21 16:23:40
20楼: @ keymark 辛苦啦!非常感谢!!
Delphi103-Android64PO2 测试OK!
----------------------------------------------
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/4/22 18:48:12
21楼: 能用就好,按此在新窗口浏览图片
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行187.5毫秒 RSS