x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 
Latest Forum Activity

New nPOPuk Release + OpenSSL / CE Testers Needed!

« Prev 1 2 3 4 5 6 7 8 9 10 11 ... Next »
soju Page Icon Posted 2022-12-23 2:15 PM
#
Avatar image of soju
Factor Fanatic

Posts:
69
Location:
Japan
Status:
If I replaced "/machine:THUMB" with "/machine:ARM" for CNF_LDFLAGS of OpenSSL makefile, link error occurs:
crypto\dllmain.obj : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'
 Top of the page
watamario15 Page Icon Posted 2022-12-23 2:59 PM
#
Avatar image of watamario15
Factorite (Senior)

Posts:
85
Location:
Japan
Status:
Quote
soju - 2022-12-23 10:15 PM

If I replaced "/machine:THUMB" with "/machine:ARM" for CNF_LDFLAGS of OpenSSL makefile, link error occurs:
crypto\dllmain.obj : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'


Sounds like you need `nmake clean` first? Nevermind if you have already done it.

Edited by watamario15 2022-12-23 3:00 PM
 Top of the page
torch Page Icon Posted 2022-12-23 3:53 PM
#
Avatar image of torch
Subscribers
H/PC Guru

Posts:
5,737
Location:
United States 
Status:
Quote

Running it directly in Windows: npopuk is not a valid windows ce application
Running it in Exec Check: npopuk.exe is invalid file
Running it in Tronik Run:Missing Function \Windows\coredll.dll does not export function with ordinal number: 1875

watamario15: Thank you, I finally tried Tronik Run a second time and I was able to get it working. The archive.org doesn't work, but I found the official website, but peinfo doesn't work on my device. I also added TronikRun to the SCL and gave credit to you. Is there an official website or readme I can use to fill in information?

Edited by torch 2022-12-23 4:07 PM
 Top of the page
watamario15 Page Icon Posted 2022-12-23 4:15 PM
#
Avatar image of watamario15
Factorite (Senior)

Posts:
85
Location:
Japan
Status:
Quote
torch - 2022-12-23 11:53 PM

Quote

Running it directly in Windows: npopuk is not a valid windows ce application
Running it in Exec Check: npopuk.exe is invalid file
Running it in Tronik Run:Missing Function \Windows\coredll.dll does not export function with ordinal number: 1875

watamario15: Thank you, I finally tried Tronik Run a second time and I was able to get it working. The archive.org doesn't work, but I found the official website, but peinfo doesn't work on my device


OK, ordinal number 1875 of coredll.dll is __security_gen_cookie, and it means the OpenSSL DLLs require this function that your device lacks in coredll.dll.



(coredll-ord1875.png)



Attachments
----------------
Attachments coredll-ord1875.png (61KB - 0 downloads)
 Top of the page
torch Page Icon Posted 2022-12-23 4:21 PM
#
Avatar image of torch
Subscribers
H/PC Guru

Posts:
5,737
Location:
United States 
Status:
Thank you. I did some research and found the following two pages that mention that function. I’m not sure if they’d be applicable to our scenario but one is in Japanese and the other in Chinese

http://bbs.eeworld.com.cn/thread-141115-1-1.html
https://blog.ch3cooh.jp/entry/20130417/1366182420
 Top of the page
watamario15 Page Icon Posted 2022-12-23 4:31 PM
#
Avatar image of watamario15
Factorite (Senior)

Posts:
85
Location:
Japan
Status:
Quote
I also added TronikRun to the SCL and gave credit to you.


Thanks! To be clear, this find is by TMK. I wonder why he noticed that this just Run.exe can be used as a dependency analysis tool

Edit: Oh, I should also note that the coredll hack (modifying an exe/dll's coredll.dll import with a hex editor to make it runnable) is also TMK's find.

Quote
Is there an official website or readme I can use to fill in information?


The uploaded zip should contain "!Command Guide.txt". This is the only document I know of. The author is TroNik.

Edited by watamario15 2022-12-23 4:45 PM
 Top of the page
gjcoram Page Icon Posted 2022-12-23 4:35 PM
#
Avatar image of gjcoram
H/PC Philosopher

Posts:
328
Location:
United States
Status:
Wow, this thread has been busy while I've been away!

soju wrote:
> And, yes, API had changed from OpenSSL v1.0.2 to v1.1.0. To adopt it, you'll need a little fix for WinSockSSL.c of nPOPuk.

Do you have that fix? I haven't looked at this at all.

It looks like most of the recent posts have been using a version of nPOPuk 3.05b1 without SSL, and trying to get it to load the OpenSSL DLLs from soju. I assume that, if I figure out how to compile OpenSSL 1.0.2 for WinCE, then those experiments are not as important. In the past, I have compiled .lib files, and linked nPOPuk against them statically, so DLLs are not required.

I also think that, if you have the old OpenSSL DLLs for version 0.9.8x, these should work fine with nPOPuk 3.05b1 (other than having whatever bugs in the old OpenSSL).
 Top of the page
soju Page Icon Posted 2022-12-23 4:38 PM
#
Avatar image of soju
Factor Fanatic

Posts:
69
Location:
Japan
Status:
dependencies of __security_check_cookie and __security_cookie are removed by disabling buffer security check (/GS-). It is enabled by default. I had been disabling it for nPOPuk.exe and OpenSSL, but not for wcecompat.

Edited by soju 2022-12-23 4:39 PM
 Top of the page
soju Page Icon Posted 2022-12-23 5:10 PM
#
Avatar image of soju
Factor Fanatic

Posts:
69
Location:
Japan
Status:
Added /GS- compile flag for wcecompat. The dependency of coredll.dll's 1875 (__security_gen_cookie) will be removed.
ARMv4_009: https://www.dropbox.com/sh/0y5nkjcn38v63w4/AACz8jTDn5hGzvwGwp3oiLIja?dl=0
 Top of the page
soju Page Icon Posted 2022-12-23 5:36 PM
#
Avatar image of soju
Factor Fanatic

Posts:
69
Location:
Japan
Status:
> Do you have that fix? I haven't looked at this at all.
Yeah I did. It was quite a little change than I had expected.
https://www.dropbox.com/s/y057mz3t3mg8dde/WinSockSSL.c.diff

> I assume that, if I figure out how to compile OpenSSL 1.0.2 for WinCE, then those experiments are not as important. In the past,

I think linking statically or dynamically is not a major issue since we have to solve the same dependency problem anyway.

Edited by soju 2022-12-23 5:44 PM
 Top of the page
torch Page Icon Posted 2022-12-23 5:37 PM
#
Avatar image of torch
Subscribers
H/PC Guru

Posts:
5,737
Location:
United States 
Status:
Hi, this release opened correctly - I am having issues (unrelated to you) getting the MobilePro online with my wifi . I'll update soon

Edited by torch 2022-12-23 5:37 PM
 Top of the page
gjcoram Page Icon Posted 2022-12-23 9:25 PM
#
Avatar image of gjcoram
H/PC Philosopher

Posts:
328
Location:
United States
Status:
So, I fired up my Win98 laptop with Visual Studio and the WinCE SDK. Then I had to go find the old flash drive that the Win98 laptop already knew, because I don't connect it to the internet any more to look for a driver for a new flash drive ...
I compiled the non-SSL version, just to see that I could still compile stuff ... good.
Then I started poking at the OpenSSL code. I found a couple glitches to fix, I'll need to update the .mak files:
1) need crypto\bn_int.h copied to the build directory
2) need to remove /WX from the CFLAG define, because there's a warning about passing an int to a function that wants char
3) need getenv.o to get linked in (apparently, I did this for the non-CE version already)

... and now I have the WinCE 2.11 binary compiled and linked.

I would be happy to have someone test it:
https://npopuk.org.uk/3.05/dl/npopuk305b2ssl_wce211arm.zip

Edited by gjcoram 2022-12-23 9:54 PM
 Top of the page
gjcoram Page Icon Posted 2022-12-23 9:32 PM
#
Avatar image of gjcoram
H/PC Philosopher

Posts:
328
Location:
United States
Status:
Quote
soju - 2022-12-23 12:36 PM

> Do you have that fix? I haven't looked at this at all.
Yeah I did. It was quite a little change than I had expected.
https://www.dropbox.com/s/y057mz3t3mg8dde/WinSockSSL.c.diff


It looks like you commented out ERR_free_strings(), which makes me wonder if you're leaking memory.
And then you commented out SSLv2_client_method and SSLv3_client_method; perhaps those are no longer available in OpenSSL 1.1.x?


Quote

> I assume that, if I figure out how to compile OpenSSL 1.0.2 for WinCE, then those experiments are not as important. In the past,

I think linking statically or dynamically is not a major issue since we have to solve the same dependency problem anyway.


I only compile part of the OpenSSL library; it's possible that what nPOPuk needs doesn't involve other dependencies (like ws2). I guess we'll see when someone tests my binary.
 Top of the page
soju Page Icon Posted 2022-12-23 11:23 PM
#
Avatar image of soju
Factor Fanatic

Posts:
69
Location:
Japan
Status:
ERR_free_strings() has been deprecated from 1.1.0, we cannot and do not have to explicitly call it in default. There are no leaks on that. The patch is for 1.1.1, you shouldn't use it for 0.9.8. Which version of OpenSSL are you using?
https://www.openssl.org/docs/man3.1/man3/ERR_free_strings.html

Likewise, support of SSLv2_client_method() was removed in 1.1.0. SSLv3_client_method() is unavailable as I configured OpenSSL with "no-ssl3" option. Use of SSLv3 is deprecated as it's not considered secure today.
https://www.openssl.org/docs/man3.1/man3/SSLv3_client_method.html

I didn't but it would be good for nPOPuk to add support for TLS 1.3.

It's good if we can build OpenSSL 1.1.1 without ws2.dll dependency. However nPOPuk makes use of the flow where CryptAcquireContextW(), and CryptReleaseContext(), CryptGenRandom() exists. So partially build will not help us I think.
 Top of the page
gjcoram Page Icon Posted 2022-12-24 1:49 AM
#
Avatar image of gjcoram
H/PC Philosopher

Posts:
328
Location:
United States
Status:
I just posted the full set of WinCE 211 versions on npopuk.org.uk (arm, mips, sh3, sh4).

I believe one can run the WinCE 211 version of nPOPuk on later versions of Windows CE; definitely WinCE 3, and I think also WinCE 5/6.
 Top of the page
« Prev 1 2 3 4 5 6 7 8 9 10 11 ... Next »
Jump to forum:
Seconds to generate: 0.234 - Cached queries : 70 - Executed queries : 12